2017-04-25 75 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