2011-04-13 65 views
1

我很新的Android,但經驗豐富的PHP開發,所以一些概念,我知道如何在PHP中做我在Android開發中掙扎。Android陣列 - 使用字符串模式參考數組使用

我想要做的是使用一個字符串數組來定義一個文本模式,我可以用另一個字符串數組中的一個隨機值進行替換。

我知道如何從字符串數組中隨機選擇一個項目,所以沒有問題。但這是我想要做的:

<resources> 
    <string-array name="myPattern"> 
     <item>myValues1</item> 
     <item>myValues1 of myValues2</item> 
    </string-array> 
    <string-array name="myValues1"> 
     <item>string a</item> 
     <item>string b</item> 
     <item>string c</item> 
     <item>string d</item> 
    </string-array> 
     <string-array name="myValues2"> 
     <item>string 1</item> 
     <item>string 2</item> 
     <item>string 3</item> 
     <item>string 4</item> 
    </string-array> 
</resources> 

我的代碼中的邏輯是從模式數組中隨機選擇一個字符串。然後,用字符串數組myValues1中的隨機值替換該字符串中的任何「myValues1」實例,並使用myValues2數組中的隨機項交換「myValues2」。

這是可能的數組在Android中,或者我應該使用一些代碼來創建結構?

在此先感謝。

回答

0

基於開發者指南中this page,你應該能夠訪問字符串數組在你的代碼如下所示:

Resources res = getResources(); 
String[] myValues1 = res.getStringArray(R.array.myValues1); 

你會想,因爲你的資源在XML定義要做到這一點的代碼文件將被您編寫的應用程序使用,所以您的想法是您將編寫代碼以某種方式進行更改。

0

這會幫你嗎?

class <yourActivity> extends Activity{ 
    private final Random rand = new Random(); 
    private String getRandom(int resourceId){ 
     String [] vals = getResources().getStringArray(resourceId); 
     return vals[rand.nextInt(vals.length - 1)]; 
    } 

    //your method somewhere... 
    void someMethod(){ 
     swapOutMyValues1(getRandom(R.array.myValues1)); 
     swapOutMyValues2(getRandom(R.array.myValues2)); 
    } 
}