Android主项目与库项目-如何在项目之间传递设置

标签 android global

刚刚开始使用 Android,我正在尝试创建一个具有免费和付费版本的应用程序。我也是 Java 新手,但我已经成功在 Eclipse 中创建了一个简单的工作应用程序,其中包含 2 个主要项目(一个用于免费版本,一个用于付费版本)。

我还有一个库项目,其中包含共享代码( Activity 、资源、字符串等)并由主项目引用。我想要做的(这很可能是错误的方法)是根据我运行的是免费版本还是付费版本来启用或禁用库代码中的内容。

例如,我在图书馆项目中有一个主要 Activity ,我想做一些类似的事情:

if (version == "free") //version would somehow be set by the main project
{
   //disable a paid feature
}

显然,我需要以某种方式在库中确定我运行的是免费还是付费主项目,以便我可以在需要时启用/禁用功能。执行此操作的最佳方法是什么?例如,我可以在主项目中使用某种全局设置,并以某种方式在库项目中读取它 - 我不希望库项目了解主项目,如果这有意义的话?

我学得很快,所以请随时为我指出任何文章的方向等。

最佳答案

您的代码有效,但如果您使用相同的 apk 同时具有免费和付费(解锁)功能,我不确定在 list 中存储付费/免费标志是否是最佳解决方案。相反,我会通过在库项目中添加一个方法来实现此目的,该方法允许任何项目设置应用程序是免费还是付费的标志。

例如图书馆项目:

    void setAppPurchasedMode(boolean purchased)
    {
        appPurchased = mode;
    }

在您的库中,您可以检查此标志:

    if (appPurchased)
        // show unlocked content

因此,在您的主项目中,如果应用程序已付费:

    Library.setAppPurchasedMode(true);

关于Android主项目与库项目-如何在项目之间传递设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9269157/

相关文章:

android - 为什么我们在android中使用JSON?

java - 将 SQLite BLOB 转换为字节数组 (POJO) 的通用方法

android - 如何在 android 中使用 glob 和 sqlite

python - 如何在我的代码中传递全局调试标志变量;我应该使用 argparse 吗?

Javascript 全局变量未按预期工作。帮助?

c# - 如何使对象数组对其他函数可见

php - 在phpunit测试中为filter_input_array(INPUT_POST)设置$_POST

Android:解析具有大属性且内存使用率低的 JSON 文件

c++ - 用 Armadillo 在 C++ 中定义全局矩阵变量

java - 如何计算安卓手机电池的剩余时间?