首页 > 代码库 > 安卓求解~
安卓求解~
============问题描述============
public class MainActivity extends Activity {
private static final String LOG_TAG = "IP Test";
private EditText chattxt;
private TextView chattxt2;
private Button chatok;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
findviews();
setonclick();
chattxt2.setText(getLocalIpAddressV4());
}
public void findviews() {
// chattxt = (EditText) this.findViewById(R.id.chattxt);
chattxt2 = (TextView) this.findViewById(R.id.chattxt2);
chatok = (Button) this.findViewById(R.id.chatOk);
}
private void setonclick() {
chatok.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
try {
connecttoserver("I‘m a client!");
// connecttoserver(chattxt.getText().toString());
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
});
}
public void connecttoserver(String socketData) throws UnknownHostException,
IOException {
Socket socket = RequestSocket("10.13.33.136", 5000);// 程序一打开执行到这里就停止运行了,不知道为什么?手机连的是wifi,地址是10.24.28.139,网关10.24.16.1,电脑ip是10.13.33.136,网关是10.13.33.1,所以这里感觉应该是是不在一个导致的,但是为啥手机能打开我本机的网站,地址为:http://10.13.33.136:8080/phnt ps:网络学的不好~T_T
// Socket socket = new Socket("10.13.33.136", 5000);
// SendMsg(socket, socketData);
// String txt = ReceiveMsg(socket);
// this.chattxt2.setText(txt);
}
private Socket RequestSocket(String host, int port)
throws UnknownHostException, IOException {
Socket socket = new Socket(host, port);
return socket;
}
private void SendMsg(Socket socket, String msg) throws IOException {
BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(
socket.getOutputStream()));
writer.write(msg.replace("\n", " ") + "\n");
writer.flush();
}
private String ReceiveMsg(Socket socket) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(
socket.getInputStream()));
String txt = reader.readLine();
return txt;
}
============解决方案1============
网络请求写线程里
============解决方案2============
android4.0以后的版本,不允许在UI线程中进行网络操作,网络操作应放子线程里,或AsyncTask中执行。
============解决方案3============
顶~
============解决方案4============
log里有提示不让在主线程访问网络!
============解决方案5============
new Thread(new Runnable(){
public void run() {
connecttoserver("I‘m a client!");
}
}).start();
将这段代码放到你的onclick方法里面~
安卓求解~
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。