代码之家  ›  专栏  ›  技术社区  ›  maxsap

Android数据存储问题

  •  3
  • maxsap  · 技术社区  · 14 年前

    我想知道我自己的应用程序是否可以更改我的应用程序的首选值。此外,手机关机时,安卓是否保留了偏好设置?

    在sharedreferences上存储一些数据(标志)以通知某个活动是否安全?

    当用户清除应用程序数据时,究竟什么被清除,共享首选项数据?

    是否首选使用内部私有文件来存储安全数据?比如密码?

    另外,当我检测到某个行为时,我希望能够显示一个对话框,为此,我有一个监控服务,它必须通知主活动有关这一点。目前,这是通过回调方法完成的,但我想保持这种状态,即使应用程序被终止或电话重新启动。

    所以我考虑设置一个sharedreference值(标志),然后在oncreate方法上检查该标志是否存在。我还应该检查一下简历的方法吗?

    1 回复  |  直到 14 年前
        1
  •  3
  •   Reuben Scratton    14 年前

    首选项(包括sharedreferences)存储在应用程序的私有数据目录下的文件中。没有其他应用程序可以在那里读或写,除非手机已经扎根。这是一个基于闪存的内部存储器,可以让手机在关机后继续工作…如果不是这样的话,就不会有什么效果了。:)

    作为一般的安全原则,您不应该存储密码。安全系统存储和比较密码 散列 ,而不是密码本身。

    可以将应用程序状态存储在首选项数据中…我个人会在onCreate()中读取它,然后在它更改时或在onPause()中将值写回首选项。