我正在创建一个 android 应用程序,并且正在与远程服务器连接并交换数据。到目前为止,我一直在我的活动类中使用线程和处理程序来与服务器交互,但是代码变得越来越混乱和冗长。我相信拥有更多类会使它(代码)更易于管理。
这可能是我编程知识的一个很大差距,但我不知道如何将可运行对象放在不同的类中,然后让它们将消息返回到主要活动。
提前谢谢您,答案中首选示例代码。
我正在创建一个 android 应用程序,并且正在与远程服务器连接并交换数据。到目前为止,我一直在我的活动类中使用线程和处理程序来与服务器交互,但是代码变得越来越混乱和冗长。我相信拥有更多类会使它(代码)更易于管理。
这可能是我编程知识的一个很大差距,但我不知道如何将可运行对象放在不同的类中,然后让它们将消息返回到主要活动。
提前谢谢您,答案中首选示例代码。
您可以将活动中的处理程序传递给第二个类,并在需要时通过它传递消息。
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);
}
}