2014-10-01 32 views
-1
E/AndroidRuntime(1844): FATAL EXCEPTION: main 
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.chatr/com.example.chatr.MainActivity}: java.lang.NullPointerException 
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2351) 
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2403) 
    at android.app.ActivityThread.access$600(ActivityThread.java:165) 
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1373) 
    at android.os.Handler.dispatchMessage(Handler.java:107) 
    at android.os.Looper.loop(Looper.java:194) 
    at android.app.ActivityThread.main(ActivityThread.java:5391) 
    at java.lang.reflect.Method.invokeNative(Native Method) 
    at java.lang.reflect.Method.invoke(Method.java:525) 
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:833) 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600) 
    at dalvik.system.NativeStart.main(Native Method) 
Caused by: java.lang.NullPointerException 
    at com.example.chatr.MainActivity.SendMessage(MainActivity.java:68) 
    at com.example.chatr.MainActivity.onCreate(MainActivity.java:27) 
    at android.app.Activity.performCreate(Activity.java:5122) 
    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1150) 
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2315) 
    ... 11 more 

Java代碼來啓動活動ComponentInfo:如何修復異常無法在Android的

public class MainActivity extends Activity { 
    HubConnection conn; 
    HubProxy proxy; 
    EditText edittext; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     // 

    TODO Auto-generated method stub 
      super.onCreate(savedInstanceState); 
      setContentView(R.layout.activity_main); 
      edittext = (EditText) findViewById(R.id.setIdEditText); 
      new a().execute(); 
      microsoft.aspnet.signalr.client.Logger logger = new microsoft.aspnet.signalr.client.Logger() { 

       @Override 
       public void log(String message, LogLevel level) { 
        // TODO Auto-generated method stub 

       } 
      }; 
      conn = new HubConnection("http://www.signalr.lociiapp.com/", 
        "userId=" + 5, true, logger); 
      proxy = conn.createHubProxy("ChatHub"); 

      conn.start().done(new Action<Void>() { 

       @Override 
       public void run(Void obj) throws Exception { 
        // TODO Auto-generated method stub 
        runOnUiThread(new Runnable() { 
         public void run() { 
          edittext.setText("Conected"); 
         } 
        }); 
       } 
      }); 
      SendMessage(5, 4, "Hello"); 
     } 

     class a extends AsyncTask<Void, Void, Void> { 

      @Override 
      protected Void doInBackground(Void... params) { 
       // TODO Auto-generated method stub 
       SendMessage(5, 4, "Hello"); 
       return null; 
      } 

     } 

     public void SendMessage(int id, int toid, String message) { 

      proxy.invoke("SendMessage", new ReceiveObject(id, toid, message)).done(
        new Action<Void>() { 
         @Override 
         public void run(Void obj) throws Exception { 
          runOnUiThread(new Runnable() { 
           public void run() { 

           } 
          }); 
         } 
        }); 
     } 
    } 

這是我的代碼,我得到的例外,我有打印甚至有我在線程啓動服務,請檢查我的代碼哪裏做錯了我的行號68和27獲得異常:

new a().execute();proxy.invoke("SendMessage", new ReceiveObject(id, toid, message)).done(請幫我

+0

你得到空指針異常bcox代理變量

public void SendMessage(int id, int toid, String message) { //proxy will be null as it is initialized below in onCreate() proxy.invoke("SendMessage", new ReceiveObject(id, toid, message)).done( new Action<Void>() { @Override public void run(Void obj) throws Exception { runOnUiThread(new Runnable() { public void run() { } }); } }); } 

移動new a().execute();是空......背後的原因這是你在調用SendMessage()方法通過asynkTask()之前定義值代理...在OnCreate()...首先定義值代理變量,然後調用SendMessage()函數 – 2014-10-01 06:07:07

回答

0

當您在下面初始化代理並在此之前調用您的asynctask時,代理在該點(第68行)將爲空。每一個初始化低於或你的情況下面

proxy = conn.createHubProxy("ChatHub");

+0

你工作過Signal R問題即將到來的代碼正在運行,但沒有獲得價值 – user2794306 2014-10-01 06:03:13

+0

http://pastie.org/9609301這裏是我的更新代碼 – user2794306 2014-10-01 06:04:08

+0

此代碼用於您提到的空指針異常。 – 2014-10-01 06:24:14

相關問題