我必须在Android Activity和另一个Java类之间进行通信。在我想要的非常非常简化的版本中,我想要运行Java类,并且在完成后,设置一些信息。为了更清楚地了解我想要发生的事情:
Activity {
CallJavaClass(); // Doesn't return anything, would be very bad form
GetInfoFromJavaClass() // Once the JavaClass has finished what needs to be done
}
我能做什么:
在我的Activity可以访问的JavaClass中设置一个全局变量。我不想这样做,因为我必须在JavaClass中的该对象上实现某种OnChangedListener。
使用与Setter / Getters的接口。这个问题是我的JavaClass是一个Singleton,它的大部分方法都是静态的,这在使用接口时是不行的。
创建一个处理这些变量的单独类。我宁愿保持简单,也不必使用一堆不同的类来做到这一点。
那么您认为最佳解决方案是什么?如果需要(也可能会),我可以提供更多关于我想要做什么的信息。感谢您的帮助。
答案 0 :(得分:2)
听起来像是http://developer.android.com/reference/android/os/AsyncTask.html
的AsyncTask然后再次,这取决于你的目标具体情况
答案 1 :(得分:1)
AsyncTask应解决您的问题:
private class myTask extends AsyncTask<Void, Void, Boolean> {
protected void onPreExecute() {
super.onPreExecute();
// do something before starting the AsyncTask
}
@Override
protected Boolean doInBackground(Void... params) {
// do what you want to do
return false;
}
protected void onPostExecute(Boolean success)
{
super.onPostExecute(success);
// do something right after you finish the "doInBackground"
}
}