Android应用程序版本(免费和付费) - 如果应用程序是免费或付费,请告诉Library Project类

del*_*116 2 android android-version

我有一个包含我所有代码的Android应用程序项目.我已将这个"应用程序"设为android.developer.com中定义的库项目..

因此,我制作了两个利用这个图书馆项目的新Android项目.每个新项目的新包名称为:

com.myapps.freeapp
com.myapps.paidapp
Run Code Online (Sandbox Code Playgroud)

正如您可能看到的,我正在尝试发布应用程序的免费和付费版本.

告诉图书馆项目安装的应用程序是免费版还是付费版的最佳方法是什么?

Joh*_*ada 5

这是我的博客文章,描述了如何使用库项目构建免费/付费版本.

通常,您将创建三个项目; 免费项目,付费项目和图书馆项目.

然后,您将在库项目中创建一个Build.java文件,如下所示:

public class Build {
    public final static int FREE = 1;
    public final static int PAID = 2;
    public static int getBuild(Context context){
        return context.getResources().getInteger(R.integer.build);
    }
}
Run Code Online (Sandbox Code Playgroud)

现在,您将在每个项目中创建一个build.xml资源:

[库] /resources/values/build.xml:

<?xml version="1.0" encoding="UTF-8"?>
<resources>
    <integer name="build">0</integer>
</resources>
Run Code Online (Sandbox Code Playgroud)

[游离] /resources/values/build.xml:

<?xml version="1.0" encoding="UTF-8"?>
<resources>
    <integer name="build">1</integer>
</resources>
Run Code Online (Sandbox Code Playgroud)

[付费] /resources/values/build.xml:

<?xml version="1.0" encoding="UTF-8"?>
<resources>
    <integer name="build">2</integer>
</resources>
Run Code Online (Sandbox Code Playgroud)

然后,您将能够在运行时检查版本:

if (Build.getBuild(context) == Build.FREE){
   // Do the free stuff
} else {
   // Do the paid stuff
}
Run Code Online (Sandbox Code Playgroud)

博客中详细说明需要在Linux命令行从头创建项目的具体步骤.

  • 这似乎不是一个好主意.我相信有根电话可以改变资源值,将1改为2非常简单. (3认同)