2012-09-27 48 views
0

我想要做的是在可指定項目設置的Eclipse項目中創建配置/屬性/ xml文件。版本的Android配置/屬性文件名稱/代碼

上下文是我有一個應用程序意味着2用戶。但他們需要具有不同的版本和版本號以及該用戶特有的其他參數。我想要的是有兩個配置文件,然後能夠指定配置文件1或2.棘手的部分是,版本代碼/名稱是在Android Manifest中指定的。

這樣做的最好方法是什麼?

要求:

  1. 指定的代碼配置/屬性文件來使用一個部分。 (即:配置1或2)
  2. Android Manifest能夠引用此文件的版本代碼和版本名稱。
  3. 我可以在我的代碼中動態引用此文件的元素。
+0

例如,使用Ant或Maven [this](http://maven-android-plugin-m2site.googlecode.com/svn/manifest-update-mojo.html)是Maven如何做到的。 – yorkw

+0

我有其他的Maven項目,不幸的是我沒有走這條路線,並尋找可擴展的東西,我可以輕鬆地添加到我的項目中。看到我的答案下面我想出了什麼,這很好!感謝評論,但Maven確實做得很好。 – Dave

回答

0

所以我找到了一個很好的方法來做到這一點。我只是做了一個「配置」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; 
    } 
} 

當我就叫我的活動方面的配置類傳遞到我的活動onCreate方法的內部構造。奇蹟般有效。

希望這可以幫助別人

乾杯。

相關問題