Android Activity和Java Class之间的通信



我必须在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
}

我能做的:

  1. 在JavaClass中设置我的Activity可以访问的全局变量。我宁愿不这样做,因为我必须在JavaClass的对象上实现某种OnChangedListener。

  2. 使用带有setter/getter的接口。这样做的问题是我的JavaClass是一个Singleton,它的大多数方法都是静态的,这在使用接口时是不允许的。

  3. 创建一个单独的类处理这些变量。我宁愿让它保持简单,而不必使用一堆不同的类来做到这一点,尽管

那么你认为最好的解决方案是什么?如果需要(可能会),我可以提供更多关于我到底想做什么的信息。提前感谢你的帮助。

听起来你可以使用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"
        }

    }

相关内容

  • 没有找到相关文章

最新更新