如何从IntentService和Update Android UI收集信息

Fab*_*cio 10 android intentservice

我正在学习Android,而且我一直在服务我.

我的应用程序每隔X秒通过Socket连接到我的服务器,接收XML,解析信息并在TextView中显示.

我想知道如何实现IntenService来执行此操作以及如何将信息传递给UI.我发现很难看到很好的例子.

我感谢你能给我的任何帮助.

谢谢!

Far*_*han 32

使用处理程序并从intentservice向父活动发送消息

家长活动:

声明处理程序

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

调用intentservice:

        Intent intent = new Intent(this, IntentService1.class);
        intent.putExtra("messenger", new Messenger(handler));
        startService(intent);
Run Code Online (Sandbox Code Playgroud)

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");
        }
    }
Run Code Online (Sandbox Code Playgroud)

  • 恭喜.你使用了这个例子中最差的变量名:"msg.setData(data);" 数据???真?一切都是数据...... (2认同)