원격 PC 제어 앱을 구축 중입니다. 내 코드 나는 소켓 연결이 활성화 된 경우에만 새로운 활동을 시작하거나소켓 연결 상태를 확인하려고하면 앱이 왜 끊어 집니까?
class MyActivity extends Activity {
static Boolean connect;
Socket client;
SendMessage send;
//other codes
bSend.setOnclickListener (new View.OnClikcListener() {
send=new SendMessage();
send.execute();
if (connect==true){
Intent I=new Intent (MyActivity.this, SubActivity.class);
startActivity (I);
} else {
tStatus.setText ("Failed");
}
});
}
class Send messages extends AsyncTask < >{
protected void doInBackground (.....){
client=new Socket("192.168.237.1", 6666);
if(client.isConnected==true){
connect=true;
} else {
connect=false;
}
}
}
을 활성화되지 않은 사용자에게 통지하고 싶지만 내가 버튼을 클릭하면 응용 프로그램이 실제 문제가 코드에 충돌?
그리고 여기 내 로그인
12-08 21:13:47.930: E SensorManager(11323): thread start
12-08 21:13:47.935: D SensorManager(11323) registerListener :: handle = 0 name= LSM330DLC 3-axis Accelerometer delay= 200000 Listener= [email protected]db1a58
12-08 21:13:47.945: D/SensorManager(11323): unregisterListener:: Listener= [email protected]db1a58
12-08 21:13:47.945: D/Sensors(11323): Remain listener = Sending .. normal delay 200ms
12-08 21:13:47.945: I/Sensors(11323): sendDelay --- 200000000
12-08 21:13:47.945: D/SensorManager(11323): JNI - sendDelay
12-08 21:13:47.945: I/SensorManager(11323): Set normal delay = true
12-08 21:13:47.985: D/SensorManager(11323): registerListener :: handle = 0 name= LSM330DLC 3-axis Accelerometer delay= 200000 Listener= [email protected]db1a58
12-08 21:13:48.030: D/libEGL(11323): loaded /system/lib/egl/libEGL_mali.so
12-08 21:13:48.040: D/libEGL(11323): loaded /system/lib/egl/libGLESv1_CM_mali.so
12-08 21:13:48.045: D/libEGL(11323): loaded /system/lib/egl/libGLESv2_mali.so
12-08 21:13:48.050: D/(11323): Device driver API match
12-08 21:13:48.050: D/(11323): Device driver API version: 10
12-08 21:13:48.050: D/(11323): User space API version: 10
12-08 21:13:48.050: D/(11323): mali: REVISION=Linux-r2p4-02rel0 BUILD_DATE=Tue Oct 16 15:37:13 KST 2012
12-08 21:13:48.090: D/OpenGLRenderer(11323): Enabling debug mode 0
12-08 21:13:50.020: D/AndroidRuntime(11323): Shutting down VM
12-08 21:13:50.020: W/dalvikvm(11323): threadid=1: thread exiting with uncaught exception (group=0x411302a0)
12-08 21:13:50.040: E/AndroidRuntime(11323): FATAL EXCEPTION: main
12-08 21:13:50.040: E/AndroidRuntime(11323): java.lang.NullPointerException
12-08 21:13:50.040: E/AndroidRuntime(11323): at com.example.workarea.MainActivity$1.onClick(MainActivity.java:49)
12-08 21:13:50.040: E/AndroidRuntime(11323): at android.view.View.performClick(View.java:4211)
12-08 21:13:50.040: E/AndroidRuntime(11323): at android.view.View$PerformClick.run(View.java:17267)
12-08 21:13:50.040: E/AndroidRuntime(11323): at android.os.Handler.handleCallback(Handler.java:615)
12-08 21:13:50.040: E/AndroidRuntime(11323): at android.os.Handler.dispatchMessage(Handler.java:92)
12-08 21:13:50.040: E/AndroidRuntime(11323): at android.os.Looper.loop(Looper.java:137)
12-08 21:13:50.040: E/AndroidRuntime(11323): at android.app.ActivityThread.main(ActivityThread.java:4898)
12-08 21:13:50.040: E/AndroidRuntime(11323): at java.lang.reflect.Method.invokeNative(Native Method)
12-08 21:13:50.040: E/AndroidRuntime(11323): at java.lang.reflect.Method.invoke(Method.java:511)
12-08 21:13:50.040: E/AndroidRuntime(11323): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1006)
12-08 21:13:50.040: E/AndroidRuntime(11323): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:773)
12-08 21:13:50.040: E/AndroidRuntime(11323): at dalvik.system.NativeStart.main(Native Method)
12-08 21:14:07.425: I/Process(11323): Sending signal. PID: 11323 SIG: 9
감사합니다. 지금은 작동 중입니다. 그리고 다른 활동 (안드로이드 서비스 제외)으로 이동할 때 소켓 연결을 유지하는 방법이 있습니까? –
형님! connect == false이면 텍스트 상자에 "Failed"가 표시됩니다. –
static Boolean connect = false; 이 선언을 변경하십시오. –