gpt4 book ai didi

android - 在 Android 上,如何使用代码区分使用相同库的免费应用程序和付费应用程序

转载 作者:太空宇宙 更新时间:2023-11-03 13:04:38 26 4
gpt4 key购买 nike

我找到了这篇关于使用图书馆付费与免费的文章。它特别提到了以下内容:“可能有一个 bool 资源指示付费或免费状态,可以通过库项目中的代码进行测试,并相应地打开或关闭功能。通常,库项目将具有默认的付费状态值资源,免费版本会将其覆盖为免费值。”我怎样才能制作一个可以在免费版本中覆盖的 bool 值?基本上我如何在我的公共(public)库代码中做一些事情,如果应用程序是免费版本则显示广告?

最佳答案

执行此操作的一种方法是使用字符串资源文件——因为这些值是“级联的”。

库代码被复制到免费和付费项目中,并在该项目的上下文中运行,这意味着它首先查看“本地”字符串资源。

只要您还在库项目中指定该字符串资源名称,它就会编译但在执行时使用更“本地”的值。

在您的库项目中,在 res/values/strings.xml 中指定一个名为“paid”的字符串

<?xml version="1.0" encoding="utf-8" standalone="no"?>
<resources>
<string name="app_name">My app</string>
<string name="paid">false</string>
</resources>

在您的免费项目中,指定:

<string name="paid">false</string>

在您的付费项目中,指定:

<string name="paid">true</string>

您现在可以在您的库项目中访问它:

boolean paid = Boolean.parseBoolean(getString(R.string.paid));

运行免费项目会报False,运行付费项目会报True。

然后您只需检查该 bool 值并分支...

if(!paid) {
//show an ad (or whatever)
}

if(paid) {
//load more game levels (or whatever)
}

关于android - 在 Android 上,如何使用代码区分使用相同库的免费应用程序和付费应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6517558/

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