2013-10-26 2 views
0

저는 Android 공유 환경 설정 작업을하고 있습니다. 내 요구 사항은 응용 프로그램이 열릴 때 제출 버튼이있는 edittextbox가 이 될 것입니다. 제출 버튼을 클릭하면 두 번째 페이지로 이동합니다. 여기, 앱을 닫은 후 다시 열면 두 번째 페이지가 직접 열립니다. 자동 로그인 기능을 사용하고 있습니다. 그래서 나는 공유 환경 설정 개념을 사용했습니다. 하지만 내 코드가 작동하지 않습니다. 내가 을 다시 열면 첫 번째 페이지 만 표시됩니다.공유 환경 설정에 데이터 저장이 작동하지 않습니다.

이 문제로 도와주세요.

내 코드 : 첫 번째 '페이지'의

Page1: 

    private SharedPreferences mPreferences; 
public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     edt = (EditText) findViewById(R.id.edt); 
mPreferences = getSharedPreferences("CurrentUser", MODE_PRIVATE); 

} 

public void submit(View v) 
{ 

    userphnnumber = edt.getText().toString().trim(); 
SharedPreferences.Editor editor = mPreferences.edit(); 

editor.putString("UserName", userphnnumber); 

editor.commit(); 

} 

Page2: 

    protected void onCreate(Bundle savedInstanceState) { 

     super.onCreate(savedInstanceState); 
     setContentView(R.layout.list); 

     mPreferences = getSharedPreferences("CurrentUser", 0); 
     myVal = mPreferences.getString("UserName", null); 
     System.out.println("the myval" + myVal); 
} 

답변

0

내부에서 onCreate는이 작업을 수행.

mPreferences = getSharedPreferences("CurrentUser", Context.MODE_PRIVATE); 
String myVal = mPreferences.getString("UserName", null); 
if(myVal != null) { 
    startActivity(new Intent(this, SecondPage.class)); 
} 

제출 기능 내에서이 작업을 수행하십시오.

String userphnnumber = edt.getText().toString().trim(); 
SharedPreferences.Editor editor = mPreferences.edit(); 
editor.putString("UserName", userphnnumber); 
editor.commit(); 

희망이 있습니다.

+0

안녕하세요. 응답을 주셔서 감사합니다 .u는 첫 번째 페이지를 계속 유지해야한다고 말하면서 첫 페이지 또는 두 번째 페이지에 보관해야한다는 것입니까? – Amrutha

+0

'if()'체크가 첫 페이지의 onCreate에 있어야만 사용자가 이전에 전화 번호를 이미 제출 한 경우 첫 페이지에 머물지 않고 두 번째 페이지로 이동할 수 있습니다. FYI : 안드로이드에서 화면'페이지 '를 호출하지 않는다.'Activities'라고 부르기도한다. :) –

+0

안녕하세요. 잘 작동합니다 ... 또한 sharedpref에 arraylist를 저장해야합니다. uplz가 공유 pref에 arraylist를 저장하는 방법을 알려줄 수 있습니까? – Amrutha

관련 문제