如何在后台使用线程 运行 任务

How to run task using Thread in Background

我想在后台做一些任务,比如在 android 中,我们可以使用 AsyncTask 来使用 UI 线程做一些工作,在 Harmony 中,我们有 EventHandler,它允许我们发送和处理 InnerEvent和异步线程上的 Runnable 对象。

我只是想要一个关于如何使用它的简单示例。

请检查样本-

 public class EventHandlerImplementation extends EventHandler {
        private EventHandlerImplementation(EventRunner runner) {
            super(runner);
        }

        @Override
        public void processEvent(InnerEvent event) {
            getUITaskDispatcher().asyncDispatch(() -> {
                 // do your stuff here
            });
        }
    }
private final int eventUpdateGet = 1001;
private final int eventUpdateSend = 1002; 

private class MyEventHandler extends EventHandler {
    private MyEventHandler(EventRunner runner) throws IllegalArgumentException {
        super(runner);
    }

    @Override
    protected void processEvent(InnerEvent event) {
        super.processEvent(event);
        switch (event.eventId) {
            case eventUpdateGet:
                Object object = event.object;
                txGet.setText(String.valueOf(object));
                break;
            case eventUpdateSend:
                ....
                break;
            default:
                break;
        }
    }
}


@Override
protected void onStart(Intent intent) {
    myHandler = new MyEventHandler(EventRunner.current());
}

当你使用时,你可以:

String msgGet = "......"
InnerEvent event = InnerEvent.get(eventUpdateGet, msgGet);
myHandler.sendEvent(event);

详情请参考this official Docs