private void myConnect() {
Runnable r = new Runnable() {
@Override
public void run() {
try {
socket = new Socket("192.168.43.203", 12333);
flag = socket.isConnected();
BufferedReader br;
String s = null;
br = new BufferedReader(new InputStreamReader(socket.getInputStream(), "utf-8"));
while ((s = br.readLine()) != null) {
Message mes = new Message();
mes.obj = s;
handler.sendMessage(mes);
}
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
};
new Thread(r).start();
}
/**
* 主线程根据变化调节UI
*/
Handler handler = new Handler() {
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
try {
JSONObject json = new JSONObject(msg.obj.toString());
if (json.has("flashLight")) {
if (json.getString("flashLight").equals("open")) {
show.setText(json.getString("flashLight"));
openLight();
} else if (json.getString("flashLight").equals("close")) {
closeLight();
}
}
} catch (JSONException e) {
e.printStackTrace();
}
}
};