android存储持久化SharedReferences与localstorage

android存储持久化SharedReferences与localstorage,android,html,cordova,sencha-touch,extjs,Android,Html,Cordova,Sencha Touch,Extjs,我正在开发一个基于HTML5的网络应用程序,并计划使用phonegap或sencha将其发布为原生应用程序 我需要一些东西来存储我的本地应用程序数据~2MB(可以是名称-值对),但存储需要持久性,不应在手机重新启动或重置为出厂默认值时删除 andriod中SharedReference和localstorage的范围是什么,用户可以清除它们吗,它们的生存期是什么,在什么条件下清除它们 我的另一个问题是关于sqlite,如果用户恢复手机,andriod backup mgr是否会对其进行备份并将其

我正在开发一个基于HTML5的网络应用程序,并计划使用phonegap或sencha将其发布为原生应用程序

我需要一些东西来存储我的本地应用程序数据~2MB(可以是名称-值对),但存储需要持久性,不应在手机重新启动或重置为出厂默认值时删除

andriod中SharedReference和localstorage的范围是什么,用户可以清除它们吗,它们的生存期是什么,在什么条件下清除它们


我的另一个问题是关于sqlite,如果用户恢复手机,andriod backup mgr是否会对其进行备份并将其恢复,并且sqlite db是否可以由用户清除?SharedReference和Local Storage是否只能从原始应用程序访问。localStorage通常有5MB的限制,但并非所有手机都有,有些手机会允许更多。此外,localStorage仅可从API级别7获得

当用户转到应用程序设置并手动清除数据时,SharedReference和localStorage都将被清除

如果API级别为8或更高,则可以使用外部文件目录,该目录也是应用程序的专用目录。用户清除此目录中数据的唯一方法是卸载应用程序。您可以按如下方式获取它的路径:

context.getExternalFilesDir(null).getAbsolutePath();
如果API级别<8,则仍然可以使用标准SD卡位置进行存储,但在用户卸载应用程序后,文件将在那里


因此,如果API最低级别<8,最好将SQLite数据库存储在外部文件目录或SD卡上。

谢谢,SQLite db是否由andriod backup mgr备份和还原?由于我正在开发web应用程序,所以我无法直接使用API。我想您必须手动操作,请检查以下问题: