2016-07-09 1 views
0

안녕하세요 저는 안드로이드 스튜디오에서 코딩하는 데 매우 익숙합니다. 시나리오는 다음과 같습니다. 로그인해야하는이 사용자가 있습니다. 사용자 이름이 필요합니다. 사용하기 때문에 사용자 이름을 저장해야합니다. 내가 한 그래서 내 프로젝트의 다른 페이지에 이것이 물건 메신저는 시도 방법을 해결할 수 없다는 문제가 .getDefaultSharedPrefs 부분에 내 dbhandler 내부의 기능과 .edit() 인이세션을 사용하여 변수 android 스튜디오를 저장하십시오.

public user getLOGusr(String uname, String pass) 
{ 
    SQLiteDatabase db = this.getReadableDatabase(); 

    String select = "SELECT uid, username, email FROM " + TABLE_USRS + " WHERE " + KEY_NAME + " = ? AND " + KEY_PASS + " = ?"; 

    Cursor cursor = db.rawQuery(select, new String[]{uname, pass}); 

    user usr = new user(); 
    if(cursor != null && cursor.moveToFirst()) 
    { 
     cursor.moveToFirst(); 
     usr.setUsrid(Integer.parseInt(cursor.getString(0))); 
     usr.setuName(cursor.getString(1)); 
     usr.seteAddress(cursor.getString(2)); 

     PreferenceManager pm = PreferenceManager.getDefaultSharedPrefs(this); 
     SharedPreferences.Editor edit = pm.edit(); 
     edit.putString("usrnm", cursor.getString(1)); 
     edit.commit(); 

     cursor.close(); 
    } 
    else 
    { 
     usr = null; 
    } 

    return usr; 
} 

같은 일을했다 할 일은 사용자 이름을 세션에 넣는 것입니다. advancve에서 순전히 고마워! 우선

+0

[Android 공유 환경 설정 예] (http://stackoverflow.com/questions/23024831/android-shared-preferences-example)을 참조하십시오. 물어 보지 않으려면 먼저 사물을 찾으세요. !! –

답변

0

설정 값 :

SharedPreferences.Editor editor = getSharedPreferences(MY_PREFS_NAME, MODE_PRIVATE).edit(); 
edit.putString("usrnm", cursor.getString(1)); 
edit.commit(); 

이 선호 데이터를 검색은 :

SharedPreferences prefs = getSharedPreferences(MY_PREFS_NAME, MODE_PRIVATE); 
String restoredText = prefs.getString("text", null); 
if (restoredText != null) { 
    String name = prefs.getString("usrnm", "No name defined");//"No name defined" is the default value. 
} 

Reference here

+0

MY_PERFS_NAME은 무엇을 의미합니까? – BourneShady

+0

public static String MY_PREFS_NAME = "your_name"과 같은 정적 변수를 만듭니다. 원하는 이름을 지정하십시오. 이것은 선호도를 확인하기위한 것입니다. –

0

getDefaultSharedPreference 파라미터로서 Context 객체 걸린다. 이것을 전달하면 컨텍스트가 아닌 dbhandler에 대한 참조가 전달됩니다.

관련 문제