我有一个将数据存储在SQLite数据库中的应用程序。主要活动只是一个带有一个按钮的屏幕。当用户单击此按钮时,将打开第二个活动。第二个活动是一个列表(ListActivity),它应包含数据库中的所有记录。下面是一个问题:哪种方法更适合:1)单击按钮时,启动AsyncTask,在doInBackground方法中从数据库中提取数据并将拉出的数据作为可分离的数组发送到第二个活动,或者2)在onCreate方法中启动第二个活动从数据库中提取数据并在选择数据时显示进度条。我认为这不是基于主要观点,应该有宝贵的利弊。但我是Android新手,我很难找到更好的方法。感谢您的关注。
答案 0 :(得分:1)
第一种方法不是用户友好的。因为当用户按下按钮打开不同的活动(在UI方面),然后用户除了显示转换,而不是卡在第一个活动。实际上它取决于您的应用程序用户体验设计。第一种方法也有另一个问题。如果您在第一个活动中加载数据,则在调用另一个活动时必须传输许多数据。
使用略微修改的第二种方法。首先启动第二个活动,然后调用AsyncTask(在onCreate方法中)加载数据。
答案 1 :(得分:-1)
好吧,我认为最好的是点击按钮启动AsyncTask并按照你的说法处理doInBackground中的数据。在第二个acive显示进度条的onCreate()中,并在doInBackground()中发送数据和显示项。从表现来看似乎是最好的。