2014-05-13 3 views
0

사용자의 이메일과 비밀번호를 사용하는 사용자 로그인 앱이 있습니다. 사용자가 다시 입력 할 필요가 없도록 전화 캐시에 이메일과 비밀번호를 저장하고 싶습니다. 안드로이드 캐시에 데이터를 저장할 방법이 있습니까? 미리 감사드립니다.android : 전화 캐시에 사용자 이름과 비밀번호를 저장하는 방법

+0

"Android 캐시"란 애플리케이션 캐시 공간을 의미합니까? 예, 가능하지만 SharedPreferences를 사용하지 않는 이유는 무엇입니까? 캐시 공간에 –

+0

예. 공유 환경 설정으로 저장하는 방법을 보여줄 수 있습니까? – Anita

+0

당신은 반드시 SharedPreferences와 함께 가야합니다. GC 실행 중에 앱의 캐시가 비어 있기 때문입니다. 당신은 sharedPreferance에서 데이터를 검색하고 저장하기 위해 제공된 링크에서 참조를 가져올 수 있습니다. http : //examples.javacodegeeks.com/android-sharedpreferences-example/ –

답변

4

기기에서 애플리케이션을 저장하는 동안 데이터를 저장하는 데 SharedPreference을 사용해야한다고 생각합니다. 기기에서 앱을 제거하면 데이터가 삭제됩니다.

1) 데이터 저장 SharedPreference에 : SharedPreference에서

SharedPreferences prefs = getSharedPreferences("UserData", MODE_PRIVATE); 
SharedPreferences.Editor editor = prefs.edit(); 
editor.putString("username", username); 
editor.putString("password", password); 
editor.commit(); 

2) 검색 데이터 : 유형의 이런 종류의

SharedPreference prefs = getSharedPreferences("UserData", MODE_PRIVATE); 
String username = prefs.getString("username",""); 
String pwd = prefs.getString("password",""); 
0

SharedPreferences을 사용하십시오. this

+0

Plz 당신이 코드에서 나를 매우 안드로이드와 자바에 새로운 보여줄 수 있습니다. – Anita

+0

@ user3605640 나는 이미 링크를 남겼습니다. http://examples.javacodegeeks.com/android/core/content/android-sharedpreferences-example/ – Suvitruf

2

같은 뭔가 당신은 그것에 대해 SharedPreferences을 사용할 수 있습니다 ..

SharedPreferences wmbPreference1,wmbPreference2;  
SharedPreferences.Editor editor; 

//wmbPreference for Shared Prefs that lasts forever 
wmbPreference1 = PreferenceManager.getDefaultSharedPreferences(this); 

//installsp for Shared Prefs that lasts only just once each time program is running 
wmbPreference2 =getApplicationContext().getSharedPreferences("install_code_prefs",Activity.MODE_PRIVATE); 

을 값

SharedPreferences.Editor editor = wmbPreference1.edit(); 
editor.putString("MYKEY", "12345"); 
editor.commit(); 

을 저장하려면 당신은

String Phonenumber = wmbPreference1.getString("MYKEY", ""); 

같은 값을 검색 할 수 있습니다 있는 MyKey이고 그 당신이 값을 식별 할 수있는 키 이름 .. 클래스의

0

1.Declare 이러한 변수/상수

private SharedPreferences prefs = null; 
public static final String MY_PREFERENCE = "my_preference";// preference name 
public static final String USER_NAME = "username"; // key for username 
public static final String PASSWORD = "passoword";//key for password 

사용자 및 암호 저장 2.now 당신이 방법

prefs = getSharedPreferences(MY_PREFERENCE, 0); 
SharedPreferences.Editor editor = prefs.edit(); 
     editor.putString(USER_NAME, username); 
     editor.putString(PASSWORD, password); 
     editor.commit(); 

여기에서 사용자 이름, 비밀번호은 사용자가 입력 한 문자열입니다.

+0

정말 고마워요. 편집 텍스트 상자에서 전자 메일과 암호를 얻어야합니다. 자바와 안드로이드를 처음 접했을 때 몇 줄을 보여주십시오. – Anita

+0

@ user3605640 사용자 입력 값을 읽도록 답변을 업데이트했습니다. – swiftBoy

1

된 SharedPreferences은 이용 신청의 캐시보다 훨씬 간단합니다. 된 SharedPreferences에 대한 자세한 정보를 들어

이 문서를 읽어, 당신은 활동 또는 활동에 관련 된 SharedPreferences 수 있습니다 (이 저장 될 위치를 그냥 변경합니다.)

당신이 정적을 사용하는 기본 sharedpreference에 액세스하려면 (당신이 활동 안에있는 경우 this) PreferenceManager의 방법은

SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this); 

지금이 파일 내부에 저장되는 모든 것을 읽을 수있는이 된 SharedPreferences 인스턴스를 사용하여 인수로 컨텍스트를 취 getDefaultSharedPreferece을 지명했다.

읽기 위해서는 sharedPreferences.get (String/Int/Long/Float 등) 메소드를 사용하십시오.사용자의 이메일과 비밀번호를 읽을 수

예, 당신은

SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this); 
String email = sharedPreferences.getString("email", null); 
String password = sharedPreferences.getString("password", null"); 

(널 (null) "비밀번호")

  1. "암호"를 쓸 수 : 열쇠가 될 것입니다 사실 공유 환경 설정은 key=value 쌍으로 저장되므로 읽고 쓸 때 동일한 키를 사용해야 동일한 값을 업데이트/읽어야합니다.
  2. null : Android에서 파일 내부의 키를 찾지 못한 경우 변수 default32는 passwordnull입니다.

지금이 코드를 실행하면 아무 것도 추가하지 않았으므로 이메일과 비밀번호는 null이됩니다.

파일에 내용을 추가하려면 SharedPreferences.Editor을 사용해야하며 여기에는 키 - 값 쌍을 편집하는 모든 방법이 포함되어 있습니다. 이 객체를 만들려면 sharedPreference 변수에 edit() 메서드를 호출합니다.

SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this); 
SharedPreferences.Editor editor = sharedPreferences.edit(); 

이제 우리는 데이터를 저장하기 위해 변수 을 사용할 것입니다. 읽기처럼

, 그것은 풋 (문자열/지능/롱)

그래서 우리는 문자열이기 때문에 우리가 사용하는 것, 사용자의 이메일과 비밀번호를 저장하려면 (단지 넣어 읽을 같은) 등의 방법이있다 putString

editor.putString("password", "helloWorld"); 

그것은 우리가 위에서 볼 수있는 것과 유사하지만 차이가 : password 사용하기에 키가있는 동안 (참고 : 읽기 라인의 동일합니다) 두 번째 인수는 입니다, 이름에서 알 수 있듯이 암호로 작성해야합니다. 이 경우 암호로 helloWorld을 저장합니다.

이메일의 경우와 마찬가지로 비밀번호가 포함 된 변수로 helloWorld을 대체하십시오.

파일에 값을 저장할 준비가되었을 때 .commit() (편집기)를 호출해야 함을 기억하십시오. (당신이하지 않으면, 당신은 파일 내부의 값을 업데이트하지 않습니다.)

코드는 다음과 같이 표시됩니다 다시 읽기 코드를 실행할 때

이제
SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this); 
SharedPreferences.Editor editor = sharedPreferences.edit(); 
editor.putString("email", "[email protected]"); 
editor.putString("password", "helloWorld"); 
editor.commit(); 

, 당신이 읽을 것 이메일 [email protected] 및 비밀번호 helloWorld.

관련 문제