解决方案 »
- listview的焦点怎样人性化的分配
- 请问 这个怎么用啊
- 如何让下拉框不可用?还有问下如何控件对齐?还有关于布局的
- 编译Eclair for Hero出错,不懂修复,请高手指教,拜谢
- MediaPlayer播放时如何获取缓存信息
- 关于调用google map的问题!!!!
- 自定义View的退出问题
- 如何实现电脑给手机发送通知
- android开发中的一个……小问题,跪求各位看看是什么情况
- android google play 下载的包facebook 三方登录提示invalid hash key
- cygwin下编译ffmpeg执行./config通不过
- 长按菜单怎么获取ListView里的Item?
我这里倒是有个最简单的demo。包括PC端的server,和android端的client。
最简单的啊。就是数据的接受。你看看有没有帮助。服务端package com.test.cs;import java.io.IOException;
import java.io.PrintStream;
import java.net.ServerSocket;
import java.net.Socket;public class Server {
public static void main(String[] args) throws IOException {
//指定端口30000
ServerSocket ss = new ServerSocket(30000);
int i = 0;
while (true) {
i++;
Socket s = ss.accept();
PrintStream ps = new PrintStream(s.getOutputStream());
ps.println("来自服务器"+i);
ps.close();
s.close();
}
}
}客户端package com.example.testcs;import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.Socket;import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;public class MainActivity extends Activity { private Button btn; private TextView tv; private String lin = ""; //线程刷新
private Handler handler = new Handler() { @Override
public void handleMessage(Message msg) {
switch (msg.what) {
case 0:
//刷新textView
update();
break; } }
}; @Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn = (Button) findViewById(R.id.button1);
tv = (TextView) findViewById(R.id.textView1);
btn.setOnClickListener(new OnClickListener() { @Override
public void onClick(View v) {
//网络连接应该放在子线程中,如果在主线程用socket会抛出android.os.NetworkOnMainThreadException
new Thread() {
Message msg = new Handler().obtainMessage(0); @Override
public void run() {
try {
//改你主机IP
Socket s = new Socket("192.168.5.137", 30000);
//读取流
BufferedReader br = new BufferedReader(
new InputStreamReader(s.getInputStream()));
lin = br.readLine();
br.close();
s.close(); }
catch (Exception e) {
}
//像主线程发送消息
handler.sendMessage(msg);
}
}.start(); }
}); } private void update() {
tv.setText(lin);
} @Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
}
layout.xml就不发了 就一个button 一个textview,最简单的android网络通信
注意加入权限<uses-permission android:name="android.permission.INTERNET" />改packge名,改你的ip。