1. Nimm jetzt an unserem Geotel Note - Gewinnspiel teil - Informationen zum Note findest Du hier!
  1. draikin, 03.06.2010 #1
    draikin

    draikin Threadstarter Neuer Benutzer

    Ich brauche mal einen Tipp für folgendes Problem: Ich schreibe an einer App, bei der ich auch eine Activity für die Einstellungen habe. Diese ist abgeleitet von PreferenceActivity. Die Daten werden auch ohne Probleme gespeichert und geändert. Nun möchte ich diese Werte in einer anderen Activity (anderer Bildschirm) der Applikation nutzen. Leider schaffe ich es nicht die Daten zu lesen. Ich bekomme immer den default-Wert zurück. Wie ist da das vorgehen. Mit der Suche in der Doku habe ich nichts dazu gefunden. Aber das liegt wohl daran, dass dies wohl eher ein generelles Verständnisproblem zu sein scheint. Hier noch einmal der Code mit dem ich versuche die Daten der Preferences auszulesen:

    Code:
            SharedPreferences settings = getSharedPreferences(EditConfiguration.CONFIGURATION_NAME, 1);
            String userWt = settings.getString("userwt", "1");
            String userHt = settings.getString("userht", "1");
    
    und der Ausschnitt aus der Preference-Klasse:

    Code:
    public class EditConfiguration extends PreferenceActivity
    {
        public static final String CONFIGURATION_NAME = EditConfiguration.class
                .getSimpleName();
    ...
    }
    
    Über eine Tipp, oder Hinweis auf die entsprechende Doku würde ich mich freuen.
     
  2. sixi, 05.06.2010 #2
    sixi

    sixi Erfahrener Benutzer

    Hier ne Klasse, die ich für die Preferences benutze - funktioniert wunderbar ;)

    Code:
    public class Preferences {
    	
    	
    	
    	private static final String SHARED_PREFERENCES_NAME = "myActivity.preferences";
    
    	private static Editor EDITORINSTANCE = null;	
    	private static SharedPreferences INSTANCE = null;
    	
    
    	public static SharedPreferences getInstance(final Context ctx) {
    		if (INSTANCE == null) {
    			INSTANCE = PreferenceManager.getDefaultSharedPreferences(ctx);
    		}
    		return INSTANCE;
    	}
    	
    	public static Editor getEditorInstance(final Context ctx){
    		if(EDITORINSTANCE == null) {
    			EDITORINSTANCE = getInstance(ctx).edit();
    		}
    		return EDITORINSTANCE;
    	}
    
    }
    
     
  3. draikin, 12.06.2010 #3
    draikin

    draikin Threadstarter Neuer Benutzer

    Danke für Dein Codebeispiel. Meine Preferences -Activity funktioniert ohne Probleme. Was nicht klappt, ist die gespeicherten Daten, die ich im Emulator in der App sehen kann, in einer anderen Activity zu lesen, indem ich mir die Preferences über den Namen hole und dann lese.

    Hat noch jemnd einen Tipp oder ein Beispiel, wo bzw. wie das funktioniert?
     
  4. draikin, 12.06.2010 #4
    draikin

    draikin Threadstarter Neuer Benutzer

    Ich habe nun die Lösung meines Problems bei android-developers gefunden. Mein Fehler war das ich
    Code:
    SharedPreferences settings = getSharedPreferences(EditConfiguration.CONFIGURATION_NAME, 0);
    verwendet habe, was aber versucht die Preferences der aktuellen Activity zu laden. Um an die global gespeicherten Daten zu kommen muß
    Code:
    SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(this);
    verwendet werden. Dann kann ich auch alle Werte auslesen.


    P.S.: Wie kann ich den Thread als gelöst markieren?
     
Die Seite wird geladen...
Ähnliche Themen - Daten einer SharedPreference Forum Datum
Wie bekomme ich Map Markers von einer SQL Datenbank Android App Entwicklung 11.03.2017
[OFFEN] Updateinstallation: Trotzdem Datenbank gelöscht Android App Entwicklung 12.05.2017
[ERLEDIGT] Listview mit Datenbank über Custom ArrayList verbinden Android App Entwicklung 22.04.2017
[ERLEDIGT] Datenbank in eine Cloud sichern (Backup) Android App Entwicklung 29.03.2017
[ERLEDIGT] In SQLite DB auf nächsten/vorherigen Datensatz zugreifen Android App Entwicklung 23.03.2017
ArrayList Elemente beinhalten nur Daten des letzten Elements? Android App Entwicklung 25.02.2017
Class (Datenbank) nur einmal instanzieren Android App Entwicklung 23.02.2017
SQLite - Idee 'zentrale Datenbank' theoretisch möglich (und ratsam)? Android App Entwicklung 21.02.2017
Wie indizere ich effektiv Datensätze ? Android App Entwicklung 21.02.2017
Intent mit Daten (putExtra) zu anderer Activity Android App Entwicklung 14.02.2017

Besucher kamen mit folgenden Begriffen auf unsere Seite:

  1. android studio SharedPreferences beispiel

    ,
  2. daten aus einer anderen activity