【问题标题】:Android configuration/Properties file for version Name/Code版本名称/代码的 Android 配置/属性文件
【发布时间】:2012-09-19 16:13:31
【问题描述】:

我想做的是在一个可以指定项目设置的 Eclipse 项目中创建一个配置/属性/xml 文件。

上下文是我有一个适用于 2 个用户的应用程序。但是他们需要有不同的版本和内部版本号以及特定于该用户的一些其他参数。我想要的是有两个配置文件,然后能够指定配置文件 1 或 2。棘手的部分是版本代码/名称在 android Manifest 中指定。

最好的方法是如何做到这一点?

要求:

  1. 在代码的一部分中指定要使用的配置/属性文件。 (即:配置 1 或 2)
  2. Android Manifest 能够引用此文件的版本代码和版本名称。
  3. 我可以在我的代码中动态引用该文件的元素。

【问题讨论】:

  • 使用 Ant 或 Maven,例如,this 是 Maven 的做法。
  • 我还有其他 Maven 项目,不幸的是我没有走这条路,我正在寻找可以轻松添加到我的项目中的可扩展的东西。请参阅下面的答案,了解我的想法,效果很好!不过感谢您的评论,Maven 确实做得很好。

标签: java android eclipse configuration properties


【解决方案1】:

所以我找到了一个很好的方法来做到这一点。我只是制作了一个“配置”xml 文件,其中包含大量资源。

即:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <integer name="version_code">6</integer>
    <string name="build_version">1.5</string>
        <string name="app_LOGO"> "R.drawable.my_logo"</string>
</resources>

然后在我的清单中我有

  android:versionCode="@integer/version_code"
  android:versionName="@string/build_version"

然后我做了一个配置类。

public class Configuration {

    private int LOGO = 0;


    public Configuration(Context cont){

        String myResourceId = cont.getResources().getString(R.string.app_LOGO);
        String[] resourceParts = myResourceId.split("\\.");
        String packName = cont.getPackageName();
        int logo = cont.getResources().getIdentifier(resourceParts[2],               resourceParts[1], packName);

        setLogo(logo);
    }
    /**
     * @return the logo
     */
    public int getLogo() {
        return LOGO;
    }
    /**
     * set the Logo
     */
    public void setLogo(int logo) {
        LOGO = logo;
    }
}

我只是调用 Configuration 类,并将我的活动上下文传递到我的活动 onCreate 方法内的构造函数中。奇迹般有效。

希望这对某人有所帮助

干杯。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-07-28
    • 2013-02-11
    • 1970-01-01
    • 1970-01-01
    • 2021-10-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多