Android 是安卓';s首选项适合存储对象实例数据的活动,例如在具有多个报警的应用程序中?

Android 是安卓';s首选项适合存储对象实例数据的活动,例如在具有多个报警的应用程序中?,android,Android,我不熟悉Android API,但不熟悉编码。试图理解正确的方法来接近某种模式,这种模式在Android中必须一直出现。比如说,我编写了一个类似Alarm Clock Plus的应用程序,具有两个定义性功能: (多个)报警显示在列表中 我可以点击列表中给定的报警来编辑其设置(这些设置在一个类似于标准Android系统设置的列表中) 至于实现(1),我假设报警列表是一个ListView。我以后再处理 为了实现(2),在每个报警的设置中使用PreferencesActivity是否明智/明智,或者P

我不熟悉Android API,但不熟悉编码。试图理解正确的方法来接近某种模式,这种模式在Android中必须一直出现。比如说,我编写了一个类似Alarm Clock Plus的应用程序,具有两个定义性功能:

  • (多个)报警显示在列表中
  • 我可以点击列表中给定的报警来编辑其设置(这些设置在一个类似于标准Android系统设置的列表中) 至于实现(1),我假设报警列表是一个ListView。我以后再处理

    为了实现(2),在每个报警的设置中使用PreferencesActivity是否明智/明智,或者PreferencesActivity是否专为应用程序范围的设置而设计?PreferencesActivity很吸引人,因为它似乎可以透明地处理数据的加载和保存(使用SharedReference)。我只是担心这是一个不适合这份工作的工具


    (我目前有一个工作版本,只使用一个警报。我主要关心的是如何重构代码以处理多个警报。)

    我在评论中得到了一些很好的帮助,但没有得到答案,因此,对于记录/任何其他人搜索-数据库更适合此任务-首选项活动更适合系统设置。

    对于(1),我认为ListView是完美的。对于第(2)项,我会使用数据库。你能详细说明一下使用数据库相对于首选活动的优缺点吗?使用数据库不意味着我也必须滚动自己的ListView,并处理PreferencesActivity为我提供的“免费”设置的获取/编辑/保存?将报警信息存储在数据库中。这将更容易、更快。正如您所指出的,首选项更适合系统设置,并且应该包含很少的数据。db将提供更大的存储空间和更灵活的功能(假设您想列出为特定日期安排的所有事件:只需进行查询并填写您的ListView)我并不反对您的意见,只是想了解这对于这个用例来说是如何更好。您提到1)更大的存储空间-但这里没有太多数据可存储,2)更灵活-为什么我需要这个?给定警报的设置不是我希望在设置屏幕中查询的内容-我始终知道,对于给定警报,我需要的是时间、音调、音量等。。。但你们两个似乎都很确定,我想这就是决定……:)