2014-01-27 2 views
0

응용 프로그램 시작시 로그인 활동이 있으며 이전에이 응용 프로그램을 사용한 적이 있는지 확인한 다음 최근에 입력 한 사용자 이름과 암호를 입력해야합니다. 이 내가 사용 환경 설정을 공유하고 사용한 들어활동 재시작시 사용자 상세 정보 검색

아래와 같이

b.setOnClickListener(new OnClickListener() { 
    public void onClick(View v) { 

     username= usernameET.getText().toString(); 
     password= passwordET.getText().toString(); 

     SharedPreferences data = PreferenceManager.getDefaultSharedPreferences(getBaseContext()); 
     data.edit().putString("username", username).commit(); 
     data.edit().putString("password", password).commit(); 
    } 
}); 

아래 그림과 같이 이제 응용 프로그램을 다시 시작할 때이 값을 받고 있어요 :

public void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 
      setContentView(R.layout.login); 
     SharedPreferences data = PreferenceManager.getDefaultSharedPreferences(getBaseContext()); 
     String storedUsername = data.getString("username", ""); 
     String storedPassword = data.getString("password", ""); 
     if (storedUsername != null && storedPassword != null) { 
      usernameET.setText(storedUsername); 
      passwordET.setText(storedPassword); 
     } else { 

     } 
} 

답변

1

코더는, 무엇을 당신입니다 발행물? 이거 작동하지 않아? 무슨 일이 일어나는지 말해주십시오.

SharedPreference를 사용한 구현이 내 제안이 될 수 있습니다. 작동하지 않습니까?

는 여기 아주 간단한 실현하는 것이 만들어 그것을합니다 ...에서 onCreate에

평소와 같이 작동합니다

@Override 
public void onClick(View v) { 
SharedPreferences data = PreferenceManager.getDefaultSharedPreferences(getBaseContext()); 
data.edit().putString("username", "carlos").commit(); 
data.edit().putString("password", "password").commit(); 
} 

당신처럼 들리는하여 ImageButton의 클릭에

SharedPreferences data = PreferenceManager.getDefaultSharedPreferences(getBaseContext()); 
String storedUsername = data.getString("username", ""); 
String storedPassword = data.getString("password", ""); 
Toast.makeText(this, "saved Strings, user = " + storedUsername + " pass = " + storedPassword, Toast.LENGTH_LONG).show(); 

을 SharedPreferences에 콘텐츠를 설정하지 않습니다. 조치가 취해 졌는지 확인해 주시겠습니까?

+0

를 null로 나는 (코멘트를 만들기 위해 필요) (50) 대표가없는, 그래서 이것은 내 질문을 게시 할 수있는 유일한 이유였다 어느 경우 변경 대답으로. 명확히 해 주셔서 감사합니다. 저는 지금 여기있는 프로젝트를보고 있습니다. – carlosmaciel

+0

나는 여기에 아주 간단한 구현을했고 그것은 평소와 같이 작동합니다 ... 당신이 SharedPreferences에 내용을 설정하지 않는 것 같습니다. 조치가 취해 졌는지 확인해 주시겠습니까? – carlosmaciel

+0

@ carlosmaciel-당신이 한 링크 나 데모를 공유 할 수 있습니까? – coder

0

정말

data.getString이 설정되지 않은 경우는 빈 문자열로 설정하는하는 기본 값을 반환하는 것입니다 ... 질문은 물어 볼 수 있지만하지 않았나요 ("").

if (!storedUsername.equals("") && !storedPassword.equals("")) 

또는 기본 값을 변경할 수는 불행히도

String storedUsername = data.getString("username", null); 
String storedPassword = data.getString("password", null); 
+0

@ user1732917- 그것은 나에게 같은 null 값을 주며,이 ""과 null은 같지 않습니까? – coder

관련 문제