0
으로 업데이트하십시오. 클라이언트 응용 프로그램에서 내 서버 ID를 업데이트 할 수 없습니다. 메뉴 탭 (3 도트)을 사용하여 화면을 당겨 IP를 업데이트 할 수 있지만 업데이트하지는 않습니다. 난 그냥 다시메뉴 막대에서 서버 IP를
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setServerIP();
setContentView(R.layout.main);
new Thread(new ClientThread()).start();
}
private void setServerIP() {
serverIP = PreferenceManager.getDefaultSharedPreferences(getApplicationContext()).getString("SERVER_IP", "192.168.21.16");
try {
serverAddr = InetAddress.getByName(serverIP);
getActionBar().setSubtitle("Broadcasting touch events to "+serverIP+":4444");
} catch(Exception e) {
}
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch(item.getItemId()){
case R.id.action_settings:
Intent n = new Intent(this,Prefs.class);
startActivityForResult(n, 0);
}
return super.onOptionsItemSelected(item);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
setServerIP();
super.onActivityResult(requestCode, resultCode, data);
}
class ClientThread implements Runnable {
@Override
public void run() {
try {
InetAddress serverAddr = InetAddress.getByName(serverIP);
socket = new Socket(serverAddr, SERVERPORT);
connected = true;
} catch (UnknownHostException e1) {
e1.printStackTrace();
} catch (IOException e1) {
e1.printStackTrace();
}
}
}
}