11

私は Android を学習していますが、自分のサービスに行き詰まっています。

私のアプリケーションは、ソケットを介して X 秒ごとにサーバーに接続し、XML を受信し、情報を解析して TextView に表示します。

これを行うために IntenService を実装する方法と、情報を UI に伝える方法を知りたいです。良い例を見るのは非常に難しいと思います。

あなたが私に与えることができるどんな助けにも感謝します.

ありがとうございました!

4

1 に答える 1

33

ハンドラーを使用して、インテントサービスから親アクティビティにメッセージを送信します

親アクティビティ:

ハンドラーの宣言

Handler handler = new Handler() {
    @Override
    public void handleMessage(Message msg) {
            Bundle reply = msg.getData();
                            // do whatever with the bundle here
            }
};

インテントサービスの呼び出し:

        Intent intent = new Intent(this, IntentService1.class);
        intent.putExtra("messenger", new Messenger(handler));
        startService(intent);

内部IntentService :

    Bundle bundle = intent.getExtras();
    if (bundle != null) {
        Messenger messenger = (Messenger) bundle.get("messenger");
        Message msg = Message.obtain();
        msg.setData(bundle); //put the data here
        try {
            messenger.send(msg);
        } catch (RemoteException e) {
            Log.i("error", "error");
        }
    }
于 2011-10-24T05:15:17.370 に答える