2013-06-23 2 views
1

Я пытаюсь использовать общие настройки для приложения для Android после входа пользователя. В моем приложении пользователь вводит свою регистрационную информацию, которая затем отправляется в api, которая возвращает имя пользователя и идентификатор, если они вошли вобщие настройки не сохраняются для входа в систему

Я сохранения общего предпочтения данных с этим:.

//set preferences 
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(c); 
SharedPreferences.Editor editor = preferences.edit(); 
editor.putString("userName",userName); 
editor.putString("userID",userID); 
editor.commit(); 

Я затем попытаться получить доступ к данным с этим:

SharedPreferences prefs = getPreferences(MODE_PRIVATE); 
String restoredText = prefs.getString("userName", null); 
String restoredText2 = prefs.getString("userID", null); 

Toast.makeText(this, restoredText, Toast.LENGTH_SHORT).show(); 
Toast.makeText(this, restoredText2, Toast.LENGTH_SHORT).show(); 

ответ

1

получить предпочтение с использованием

SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(c); 

в настройках и методах получения.

getPreferences является закрытым для деятельности. Когда вы используете метод getPreferences, он создает предпочтение с именем файла активности.

0

* вы можете использовать этот класс, который я сделал - его простой в использовании *

import java.io.File; 
import java.io.FileOutputStream; 

import android.content.Context; 
import android.content.Intent; 
import android.graphics.Bitmap; 
import android.net.Uri; 
import android.os.Environment; 
import android.preference.PreferenceManager; 
import android.util.Log; 

public class CommonUtil { 

    public static String getStringPreference(Context context, String key) { 
     return PreferenceManager.getDefaultSharedPreferences(context).getString(key, null); 
    } 


    public static boolean setStringPreference(Context context, String key, String value) { 
     return PreferenceManager.getDefaultSharedPreferences(context).edit().putString(key, value).commit(); 
    } 
} 

Использование в коде

CommonUtil.setStringPreference(MyClass.this, "UID", userID); 
CommonUtil.setStringPreference(MyClass.this, "PASS", pinNo);