我尝试从处理后台进程的类发送消息,以便我的应用程序与服务器通信并执行prace响应,而不是序列化对象并将其发送到可视化结果的活动。 Activity有一个公共处理程序。
public final Handler _handler = new Handler(Looper.getMainLooper()) {
@Override
public void handleMessage(Message msg) {
String smsg = msg.getData().toString();
if (!smsg.contains("endResult")) {
Log.d("New 10 a","New 10");
deviceBasicList a = (deviceBasicList) msg.getData()
.getSerializable("devices");
List<deviceBasic> basicList = a.getList();
setDeviceList(basicList);
} else {
hideLoadingDialog();
}
super.handleMessage(msg);
}
};
在后台进程类中,我有一个活动实例
this.searchActivity = a;
在我发送消息的对象之后:
private void sendDeviceList() {
if (!this.deviceList.isEmpty()) {
deviceBasicList basicList = new deviceBasicList(this.deviceList);
Message msg = new Message();
msg.setTarget(this.searchActivity._handler);
Bundle bundle = new Bundle();
bundle.putSerializable("devices", basicList);
msg.setData(bundle);
this.searchActivity._handler.sendMessage(msg);
this.deviceList.clear();
}
}
由于大量数据,我发送对象10的信息10。 结果是在后台课程中我发送了我应该发送的确切数量的消息,但是在活动中我收到的信息大约是我发送的5倍。