gpt4 book ai didi

android - 处理存储在库中的共享首选项

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:09:52 25 4
gpt4 key购买 nike

我的应用有免费版和付费版。我将所有免费版本代码放入一个库中,我从一个新的免费版本项目和付费版本项目中引用它。

我注意到库,现在我的项目都有一个属性文件,我的首选项完全停止工作。似乎取决于代码在哪个命名空间中执行,当您查询 SharedPreferences 时它会得到不同的结果。

处理此问题的最佳方法是什么?这两个应用程序目前具有相同的首选项,但我可能会在以后扩展付费版本并添加免费版本中不存在的首选项。

最佳答案

我假设您问的是您的图书馆是否可以与顶级应用共享首选项,而不是免费版本是否可以与完整版本共享。

api 文档提到你不能在给定进程之外共享 prefs,所以有没有可能因为你(可能)有两个不同的包(一个用于 lib,一个用于顶级),你得到的 prefs库中的应用程序与顶级应用程序来自不同的文件?

您可以通过在/data/data/your-package 中浏览您的手机存储来查看顶级应用程序和库的首选项文件。您可能会发现每个都有不同的首选项文件,我认为这意味着您不能在库/应用程序之间共享首选项。

您可以通过仅从顶级应用程序读取和写入首选项,并创建一个接口(interface)来将这些首选项传送到库来绕过这些限制。如果您的图书馆只是简单地提供了来自顶层的值,那么图书馆将不必访问首选项,因此您的所有首选项访问都是从一个地方完成的。

此外,这将允许您对完整版和免费版有不同的偏好(无论如何这是默认行为,因为它们将存储在单独的偏好文件中),然后您可以将正确的信息发送到基于 lib关于版本。

关于android - 处理存储在库中的共享首选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3480471/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com