在onCreate()之前,我在哪里放置需要完成的处理?

时间:2012-03-04 01:57:34

标签: android

我的应用程序需要读取文件并处理该信息以构建活动所需的列表。我找不到一个好地方去做。我所拥有的是活动的主体,在{做工作}块中。如果我不把{...}放在它周围,那就有错误。这有效,但这是“正确”的方法吗?有没有更好的办法?此处理只进行一次 谢谢你的帮助

2 个答案:

答案 0 :(得分:2)

这取决于你究竟在做什么,但是进行冗长处理的一种常见方法是创建AsyncTask的子类,在其doInBackground方法中执行处理并更新UI它的onPostExecute方法。然后,您可以在onCreateonResume中创建AsyncTask的实例,调用其execute方法,并在处理过程中仍然具有响应式UI。

如果处理与特定活动相关联,那么我会这样做,这样如果用户离开活动,您可能想要停止处理。如果处理更普遍有用且生成的数据可能会在应用程序的其他位置使用,那么我会考虑使用ServiceIntentService的子类。

细节总是有帮助的。如果您可以分享有关您尝试执行的操作的更多详细信息,则可以更轻松地建议最合适的解决方案。

答案 1 :(得分:0)

您可以在此处查看Android Activity生命周期: http://developer.android.com/reference/android/app/Activity.html

如您所见,onCreate()Activity启动时发生的第一件事。根据文件的大小,可以使用onCreate()方法读取它。或者,您可以设置布局,然后创建一个显示文件加载的ProgressDialog - 一旦加载完毕,您只需处理对话框并构建所需的列表。