我正在学习Android,而且我的服务很困难。
我的应用程序每隔X秒通过Socket连接到我的服务器,接收XML,解析信息并在TextView中显示。
我想知道如何实现IntenService来执行此操作以及如何将信息传递给UI。我发现很难看到很好的例子。
我感谢你能给我的任何帮助。
谢谢!
答案 0 :(得分:32)
使用处理程序并从intentservice
向父活动发送消息家长活动:
声明处理程序
Handler handler = new Handler() {
@Override
public void handleMessage(Message msg) {
Bundle reply = msg.getData();
// do whatever with the bundle here
}
};
调用intentservice:
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");
}
}