我发现这篇文章是关于使用库付费与免费的。它特别提到了以下内容:“可能有一个布尔资源,指示付费或免费状态,可以通过库项目中的代码进行测试,并相应地打开或关闭功能。通常,库项目将具有默认的付费状态值资源,免费版本会将其覆盖为免费价值。“我怎样才能制作一个可以在免费版本中覆盖的布尔值?基本上我怎么能在我的公共库代码中做一些事情,说明app是免费版还是展示广告?
答案 0 :(得分:5)
执行此操作的一种方法是使用字符串资源文件 - 因为值是“级联”。
库代码被复制到免费项目和付费项目中,并在该项目的上下文中运行,这意味着它首先查看“本地”字符串资源。
只要你在库项目中指定了字符串资源名称,它就会编译,但在执行时会使用更多的“本地”值。
在库项目中,在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。
然后你只需检查那个布尔值并分支......
if(!paid) {
//show an ad (or whatever)
}
if(paid) {
//load more game levels (or whatever)
}
答案 1 :(得分:0)
不仅仅是Android。其他平台是正常的情况。您可以将信息存储在用户的设备或服务上(如果您有站点)。然后在用户使用该应用程序时进行检查。
在Android上,您可以使用SharedPreferences。