2017-04-25 11 views
-2

私は、親アクティビティで計算しているwifi rssiの値をテストする必要があるプロジェクトで作業しています....しかし、テストのために私は新しいアクティビティを作成しました私が欲しいのは、wifiのスキャン結果から5〜6種類の値を取得し、1つではなくテスト活動で使用することです。親アクティビティから更新された値を取得する

私は5つの異なる配列の値を取得し、それらをテストアクティビティに渡そうとしましたが、コード内にこのメソッドの複雑さがありました。

誰でも私にこれを達成する方法を教えていただけますか?

+0

何合併症あなたが話しているの?これに必要な場合は、sharedPreferencesも使用できます。 – Jimmy

+0

sharedPreferencesについてもう少し教えていただけますか?私はそれらを一度も使用していません –

+0

sharedPrefrences apiを見てください。基本的にアプリケーションレベルのスコープを持つ変数のようなもので、通常はアプリケーションの設定を格納するために使用されます。使用可能なアプリケーションのどこにでも何かを格納してフェッチすることができます。 – Jimmy

答えて

0

ハッシュマップと共有プレースメントを使用できます。

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"という文字列を追加したときと同じように、子アクティビティを開始した後、その文字列の値が "hi"に変わった場合、再起動せずに子アクティビティで取得できます。 –

+0

申し訳ありませんが、あなたの質問をあまりにも速く読んだ...他の人があなたに言ったように、あなたはSharedPreferencesを使用した方が私の答えが更新されたばかりです。 – Laurent

関連する問題