解决方案 »
- Android调用ZXxing 程序意外终止,求助!!!!
- about FLAG_ACTIVITY_NEW_TASK
- Android-x86可以运行自己编译出来的Android系统吗
- 关于SQLite的异常
- Android应用程序开发疑问
- 求教
- 求解 关于oracle数据读取的问题????
- 在安卓(android)应用层上,不同的app如何共享主题(theme)、样式(styles)、颜色(color)等资源。
- 怎么直接调用系统设置好的闹钟(自己解决了,来几个收分的)
- eclipse每次新建一个项目都有多余的代码
- 关于同时包含file和JSON的POST方法
- 2048中每个数字的滑动效果如何实现
private Handler handler;
private TextView textView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textView = (TextView)findViewById(R.id.textView);
handler = new Handler() {
@Override
public void handleMessage(Message msg) {
byte[] response = msg.getData().getByteArray("response");
textView.setText(new String(response));
}
};
new AsyncTask<Void, Void, Void>() {
@Override
public Void doInBackground(Void... params) {
byte[] response = getContentFromServer();
if (response != null) {
Message msg = handler.obtainMessage();
Bundle bundle = new Bundle();
bundle.putByteArray("response", response);
msg.setData(bundle);
msg.sendToTarget();
}
return null;
}
}.execute();
}
public byte[] getContentFromServer() {
byte[] buffer = new byte[4096];
Socket socket = null;
try {
socket = new Socket("192.168.1.101", 8080);
InputStream in = socket.getInputStream();
ByteArrayOutputStream out = new ByteArrayOutputStream();
while (true) {
int size = in.read(buffer);
if (size <= 0)
break;
out.write(buffer, 0, size);
}
return out.toByteArray();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (socket != null)
socket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
return null;
}
}