2017-04-25 2 views
-2

Ich arbeite an einem Projekt, wo ich einige wifi rssi Werte testen muss, die ich in der Elternaktivität berechnen .... aber zum Testen habe ich eine neue Aktivität erstellt, die durch Drücken gestartet wird von einem Knopf ..., was ich will, ist, die 5-6 verschiedenen Werte von den wifi Scan-Ergebnissen zu erhalten und sie in Testaktivität anstelle von einem zu benutzen ??Aktualisierte Werte von der übergeordneten Aktivität erhalten

Ich habe versucht, Werte in 5 verschiedenen Arrays zu erhalten und sie zur Testaktivität zu übergeben, aber es gab einige Komplikationen mit dieser Methode in meinem Code.

Kann mir jemand Vorschläge machen, wie ich das erreichen kann?

+0

welche Komplikationen reden Sie? Sie können bei Bedarf auch sharedPreferences verwenden. – Jimmy

+0

können Sie mir ein wenig mehr über sharedPreferences erzählen? Ich habe sie nie benutzt –

+0

Sie sollten sharedPrefrences api betrachten. Es ist im Grunde wie eine Variable mit Anwendungsebene, die normalerweise zum Speichern von Anwendungseinstellungen verwendet wird. Sie können alles speichern und von dort in Ihrer Anwendung abrufen, wo es verfügbar ist. – Jimmy

Antwort

0

Sie können eine Hashmap und SharedPreferences verwenden.

1 - Legen Sie Ihre Werte

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 - Abrufen Wert

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

ok, aber in diesem wenn ich meine Aktivität starten kann ich nicht den aktualisierten Wert von der übergeordneten Aktivität erhalten..Richtig ?? wie wenn ich string "hallo" im bundle hinzugefügt habe und meine aktivität gestartet habe ist es möglich, dass ich nach dem starten der untergeordneten aktivität, wenn sich der wert dieser string auf "hi" ändert, in der untergeordneten aktivität erhält, ohne sie neu zu starten? –

+0

Entschuldigung, ich habe deine Frage zu schnell gelesen ... dann, wie andere es dir gesagt haben, solltest du besser SharedPreferences verwenden, habe gerade meine Antwort aktualisiert. – Laurent

Verwandte Themen