android studio 中创建java项目的服务器端并运行

来源:互联网 发布:怎么淘宝号 编辑:程序博客网 时间:2024/06/06 14:17

最近在看《疯狂Android讲义》这本书,看到Android网路应用时需要在自己的电脑上建立一个服务器端程序。而android studio每次创建都是创建一个Activity,而服务器端程序不需要建立Android 项目。网上关于让Android studio 运行java程序的方法都需要在一个project下新建一个module,我觉得这样比较麻烦,自己琢磨了一下。通过以下方法成功的建立一个服务器端程序。并且相对网上已有的方法会方便很多。

首先新建一个客户端程序:

<span style="font-size:18px;">public class MainActivity extends Activity {    EditText editText;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        editText= (EditText) findViewById(R.id.text);        new Thread(){            @Override            public void run() {                try {//                    IP地址为自己电脑的IP地址,并且是固定的                    Socket socket=new Socket("116.57.119.37",30000);                    BufferedReader br=new BufferedReader(new InputStreamReader(socket.getInputStream()));                    String line=br.readLine();                    editText.setText(line);                    br.close();                    socket.close();                } catch (IOException e) {                    e.printStackTrace();                }                super.run();            }        }.start();    }}</span>

只是用一个Editext显示服务器端传过来的信息。

接下来是构建服务器端:首先是点击file-new-new project,选择add no activity,进入project后发现包名下没有java文件,这个时候就可以自己新建一个java文件,代码如下:

<span style="font-size:18px;">public class Simpleservice {    public static void main(String[] args) throws IOException {        try {            ServerSocket serverSocket=new ServerSocket(30000);            while (true){                Socket socket=serverSocket.accept();                OutputStream outputStream=socket.getOutputStream();                outputStream.write("<span style="font-family: Arial, Helvetica, sans-serif;">这是来自服务器端的消息</span>".getBytes("utf-8"));                outputStream.close();                socket.close();            }        } catch (IOException e) {            e.printStackTrace();        }    }}</span>

直接点击运行,服务器就开始等待接受程序的请求了,这个时候在点击运行之前的客户端程序,就可以收到服务器端发送过来的消息了。记住客户端需要在manifest里面配置允许联网的权限

<uses-permission android:name="android.permission.INTERNET"></uses-permission>


最后运行结果如图:

2 0