2

我正在创建一个 android 应用程序,并且正在与远程服务器连接并交换数据。到目前为止,我一直在我的活动类中使用线程和处理程序来与服务器交互,但是代码变得越来越混乱和冗长。我相信拥有更多类会使它(代码)更易于管理。

这可能是我编程知识的一个很大差距,但我不知道如何将可运行对象放在不同的类中,然后让它们将消息返回到主要活动。

提前谢谢您,答案中首选示例代码。

4

1 回答 1

3

您可以将活动中的处理程序传递给第二个类,并在需要时通过它传递消息。

public class MyActivity extends Activity {
    @Override
    protected void onCreate(Bundle savedInstance) {
        // ....
        Handler myHandler = new Handler() {
            @Override
            public void handleMessage (Message msg) {
                doCoolStuffWhenMessageReceived();
            }
        }
        MySecondClass secondClass = new MySecondClass(myHandler);
        // ....
    }
}

public class MySecondClass {
    private Handler handler;
    public MySecondClass(Handler handler){
        this.handler = handler;
    }

    private void someMethodToCallActivity() {
        handler.sendEmptyMessage(0);
    }

}
于 2011-08-26T20:28:49.493 回答