如果要在安卓app里用到Socket通信,要满足:
1、在写代码的activity里import进Socket相关的包,这个很easy,如果你不知道要import什么包,也可以先不指定,可 以直接写例如"Socket sokt = new Socket();"这样的话,由于没有导入Socket的package,所以编译器会自动提示 你需要import某个包,然后按照提示点就ok了。
2、修改项目的"mamanifest.xml",这一点很容易被人忽视,尤其是初次在安卓里用Socket的童鞋,竟然会一头雾 水“我代码没问题,就是不知道为何运行不对?!!”网上很多教程都教你怎么在安卓里写Socket代码,很少有人 提出要设置manifest.xml才能开启安卓app网络权限,过程如下:
2.1双击选择AndroidManifest.xml
2.2在<manifest>标签后加入<uses-permission android:name="android.permission.INTERNET" />这句话,如下图 所示
完成上述两步之后,就可以在安卓app里用到internet权限,使用Socket了!
代码可以参考下面的:
//申请Socket相关的变量 String Serverip = "172.18.8.124"; int Serverport = 9050; static Socket server; //在发送/接收数居前,先建立socket链接 server = new Socket(Serverip, Serverport); //发送内容(字符串s) public void send(String s) { PrintWriter out = null; try { out = new PrintWriter(server.getOutputStream()); } catch (IOException e) { e.printStackTrace(); } out.print(s); out.flush(); } //接收内容(存入字符串line) public void client_output() throws UnsupportedEncodingException, IOException { BufferedReader in = null; in = new BufferedReader(new InputStreamReader(server.getInputStream(), "GB2312")); String line = null; line = in.readLine(); }