0

私は活動と別のサーバースレッドを持っています。サーバースレッドはサーバーに接続しています。アクティビティには LocationListener があります。onLocationChanged はサーバースレッドにデータを送信していますが、私のデータはサーバーに届きません。

アクティビティから直接データを送信している場合、問題なく動作します。

誰かが私を助けることができますか?

4

2 に答える 2

0

コードを見ずに正確な問題を理解することはできません..しかし、私の理解によれば、これを試すことができます-

サーバースレッドでハンドラを使用して、UI スレッドからデータを受信します。

たとえば、サーバースレッド実行可能ファイルで-

@Override
public void run(){
       Looper.prepare();

       mHandler = new Handler() {
               public void handleMessage(Message msg) {
                   // Act on the message
               }
       };
       Looper.loop();
}

onLocationChanged() から、ハンドラーにメッセージを投稿できます。

 public void onLocationChanged(Location loc) {

 Message m = new Message();
 Bundle bundle = new Bundle();
 bundle.putString(DATA_KEY, "location specific data");
 m.setData(bundle);
 mHandler.sendMessage(m);

 }
于 2013-01-18T19:22:37.477 に答える
0

独立したスレッドは UI 要素にアクセスできません。runOnUIThreadのドキュメントを参照してください。

于 2013-01-18T18:24:06.057 に答える