处理程序和消息

时间:2014-03-14 10:23:53

标签: android handler message

我尝试从处理后台进程的类发送消息,以便我的应用程序与服务器通信并执行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倍。

0 个答案:

没有答案