用于用户偏好的phonegap android插件

ora*_*int 0 javascript java android phonegap-plugins cordova

我有两个Android应用程序,一个用Java编写,另一个用javascript编写,包含在phonegap应用程序中.我需要我的java应用程序来设置用户首选项(字符串)和js应用程序来获取此字符串.

在我的java应用程序中设置用户首选项后,我现在需要知道如何在我的js应用程序中检索它.怎么样?我试过两个phonegap插件,(https://github.com/macdonst/AppPreferenceshttps://github.com/apla/me.apla.cordova.app-preferences)

但是,它们似乎不是为了从其他应用程序获取用户首选项而构建的.

我还应该尝试什么?我应该坚持用户偏好吗?

谢谢,

gok*_*urt 6

Preferences在应用程序上下文中使用和组织.这意味着一个应用程序的首选项不属于其他应用程序.我建议有一些选择.

第一选择

如果一个应用程序使用MODE_WORLD_WRITEABLE模式定义首选项,则当且仅当包名称已知时,其他应用程序才能达到该首选项.如果未使用MODE_WORLD_WRITEABLE模式定义首选项,则其他应用程序将不会读取首选项.MODE_WORLD_WRITEABLEPreferences在Android中定义新偏好时的模式之一.有一个先前的线程回答了如何阅读其他应用程序的首选项.但是,MODE_WORLD_WRITEABLE模式在API级别17中已弃用.如果应用程序的目标是API级别17及以上,则不应该坚持Preferences.

第二选择

另一方面,两个应用程序可以在移动设备上共享同一个数据库.您只需创建一个包含两个应用程序共享和读取的首选项的表.以下是此选项的另一个链接,描述了如何处理此类操作.

第三种选择

另外,您可以利用对象序列化的优势Java.我的意思是,您可以编写一个由应用程序定义的配置或首选项组成的类.该类应该实现Serializable接口.在需要时,该类可以写在文件上或其他应用程序可以访问的某个位置.但是,由于一致性,此选项不安全.文件可能被破坏,删除等.

第四选择

正如@BenSmith所提到的,您可以将首选项存储在两个应用程序都可以访问的远程位置.