我必须在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
}
我能做的:
在JavaClass中设置我的Activity可以访问的全局变量。我宁愿不这样做,因为我必须在JavaClass的对象上实现某种OnChangedListener。
使用带有setter/getter的接口。这样做的问题是我的JavaClass是一个Singleton,它的大多数方法都是静态的,这在使用接口时是不允许的。
创建一个单独的类处理这些变量。我宁愿让它保持简单,而不必使用一堆不同的类来做到这一点,尽管
那么你认为最好的解决方案是什么?如果需要(可能会),我可以提供更多关于我到底想做什么的信息。提前感谢你的帮助。
听起来你可以使用AsyncTask http://developer.android.com/reference/android/os/AsyncTask.html
然后,这取决于你想要的具体内容
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"
}
}