2017-04-25 44 views
-2

我正在一個項目中,我必須測試一些無線rssi值,我正在父母活動計算....但爲了測試,我創建了一個新的活動,通過按的按鈕。我想要的是從wifi掃描結果中獲得5-6個不同的值,並在測試活動中使用它們而不是一個?從父活動獲取更新值

我試過在5個不同的數組中獲取值並將它們傳遞給測試活動,但是在我的代碼中存在一些這種方法的複雜性。

任何人都可以給我一些建議,如何實現這一目標?

+0

你在說什麼併發症?如果需要,您也可以使用sharedPreferences。 – Jimmy

+0

你能告訴我更多關於sharedPreferences的信息嗎?我從來沒有使用過它們 –

+0

你應該看看sharedPrefrences api。它基本上就像一個具有應用程序級別範圍的變量,通常用於存儲應用程序設置。您可以存儲任何內容,並從應用程序中的任何位置獲取它。 – Jimmy

回答

0

您可以使用Hashmap和SharedPreferences。

1 - 設置你的價值觀

Map<String, String> values = new HashMap<>(); 
    values.put("key0", "value0"); 
    values.put("key1", "value1"); 
    values.put("key2", "value2"); 

    SharedPreferences keyValues = this.getSharedPreferences("myPrefs", Context.MODE_PRIVATE); 
    SharedPreferences.Editor keyValuesEditor = keyValues.edit(); 

    for (String s : values.keySet()) { 
     keyValuesEditor.putString(s, values.get(s)); 
    } 

    keyValuesEditor.apply();  

2 - 檢索值

SharedPreferences prefs = getSharedPreferences("myPrefs", MODE_PRIVATE); 
    String myValue = prefs.getString("key0", null); 
+0

好吧,但在這一次,我開始我的活動,我無法從父活動得到更新的價值..好嗎?就像我在包中添加字符串「hello」並開始我的活動有任何方式,如果在開始子活動後,如果該字符串的值更改爲「嗨」,我可以在不重新啓動子活動的情況下獲得它嗎? –

+0

對不起,我讀了你的問題太快了......然後像別人告訴你的那樣,你最好使用SharedPreferences更新我的答案。 – Laurent