【问题标题】:How to save the user's selection for every time they run the app on Android?每次在 Android 上运行应用程序时,如何保存用户的选择?
【发布时间】:2011-08-12 18:00:33
【问题描述】:
第一次运行应用程序时,我希望出现一个复选框列表,用户可以在其中选择他们感兴趣的列表项,并基于此运行程序。以后每次运行应用程序时,我都希望记住这些选定的设置,或者使用选项菜单进行更改,在这种情况下,将记住新设置。但我所知道的就是让应用程序在每次运行时从头开始......
同样,我的应用程序会按顺序读取大型、只读、不可更改的数据库中的所有数据。截至目前,它每次都创建并打开并获取所有数据,这在程序启动时需要几秒钟才能打开并执行任何操作。有没有办法解决这个问题,或者尝试解决这个问题是否是个好主意?
【问题讨论】:
标签:
android
database
settings
【解决方案1】:
要记住用户的选择,请查看SharedPreferences。您可以将所选项目存储在那里。
到数据库:这真的取决于你的应用程序。如果您在内存中同时需要所有这些数据,我想一开始就无法加载它。如果您只需要部分,最好在需要时加载部分数据。但是如果不确切了解您的应用程序/用例,这很难说。
当您在加载数据库时遇到某种“滞后”时:您是否可能在 UI 线程中加载数据库(= 没有创建单独的加载线程)?这是不好的做法,因为它会阻止所有 UI 操作。看看AsyncTasks。这是一个方便的类,它围绕一个线程进行包装,让您在后台执行操作而不会阻塞所有 UI。完成其任务(在本例中为加载)后,它会为您提供一个 onPostExecute() 回调,您可以在其中使用加载的数据更新您的 UI。