我知道我无法从主线程(UI线程)访问MySQL数据库。所以我现在知道我有这样做的选择。我可以使用一个工作者线程(Thread t = new Thread())来访问MySQL数据库并获得我需要的内容,或者我可以使用AsyncTask访问MySQL数据库并获得我需要的内容。AsyncTask vs工作线程从MySQL数据库获取信息
但我在这里的问题是,在这里或最有效的方法是什么正确的方式吗?当我遇到这个问题时,我很想理解并遵循良好的编程过程。
因此,从MySQL数据库中检索数据:AsyncTask,一个工作线程或将没有时间差异,电源等?
IDK为什么说AsyncTask应该用于“最多几秒钟”......但对于很长的操作,建议使用“服务”。 – 2013-03-26 08:03:40
您将在doInBackground()中运行长操作,并且无法更新ui,直到doInBackground完成,让用户等待与ui进行交互。只有在onPostExecute()ui更新并且用户可以与ui进行交互。 – Raghunandan 2013-03-26 09:39:02
当使用'AsyncTask'时,你可以使用'publishProgress'来更新'UI'。 – 2013-03-26 10:05:22