2012-05-16 109 views
0
public class LoginActivity extends Activity{ 

final String defaultPassword = "123456"; 
Button login, cancel; 
EditText input; 

@Override 
public void onCreate(Bundle savedInstanceState){ 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.security); 

    //SharedPreferences from other Activity 
    final String LOGIN_PASSWORD = "Login_Password"; 
    SharedPreferences loginPassword = getSharedPreferences(LOGIN_PASSWORD, 0); 
    final String storedPass = loginPassword.getString("loginPassword", ""); 

    input = (EditText) findViewById(R.id.password); 

    cancel = (Button) findViewById(R.id.cancel); 
    cancel.setOnClickListener(new View.OnClickListener() { 

     public void onClick(View view) {     
      finish(); 
     } 
    }); 

    login = (Button) findViewById(R.id.login); 
    login.setOnClickListener(new View.OnClickListener() { 

     public void onClick(View view) { 

      String inputPass = input.getText().toString(); 

      if (!inputPass.equals("")){ 

       if (storedPass.equals("")){ 

        if (inputPass.equals(defaultPassword)){ 
         Toast.makeText(LoginActivity.this, "Success", Toast.LENGTH_SHORT).show(); 
         Intent intent = new Intent(LoginActivity.this, ActivateActivity.class); 
         startActivity(intent); 
        } 
        else{ 
         Toast.makeText(LoginActivity.this, "Failed", Toast.LENGTH_SHORT).show(); 
         input.setText(""); 
        } 
       } 
       else{ 

        if (inputPass.equals(storedPass)){ 
         Toast.makeText(LoginActivity.this, "Success", Toast.LENGTH_SHORT).show(); 
         Intent intent = new Intent(LoginActivity.this, ActivateActivity.class); 
         startActivity(intent); 
        } 
        else{ 
         Toast.makeText(LoginActivity.this, "Not matched", Toast.LENGTH_SHORT).show(); 
         input.setText(""); 
        } 
       } 
      } 
      else{ 
       Toast.makeText(LoginActivity.this, "Nothing", Toast.LENGTH_SHORT).show(); 
       input.setText(""); 
      } 
     } 
    }); 
} 

我設計一個登錄頁面來訪問應用程序,最初,當用戶第一次使用的應用程序問題,沒有設置口令,因此默認密碼「 123456「用於訪問應用程序,在用戶設置密碼後,默認密碼不能用於訪問應用程序...所以現在我必須檢索存儲在另一個活動共享首選項中的用戶設置密碼。所以下次用戶訪問應用程序時,我可以將用戶輸入與存儲的密碼進行比較,但我該如何實現?我的編碼有問題嗎?我在檢索從一個活動的sharedpreferences數據到另一個活動

+0

您在哪裏設置共享首選項中的值? – Akram

+0

@Android_Rookie:當你將證書保存在其他'Activity'中時,你是否在'SharedPreferences.Editor'上調用'commit()'?你需要這樣做或者數據不會被保存。 – Squonk

+0

是的,我在Activity A中提交了,但是我可以只在Activity B的Activity A的sharedpreferences中調用數據? –

回答

0

當您使用getSharedPreferences(LOGIN_PASSWORD, 0)時,請確保LOGIN_PASSWORD在兩個活動中都是相同的值。否則,您打開兩個不同的偏好。

+0

是的,兩者都是相同的值 –

+0

@Android_Rookie你會編輯你的問題,並添加你設置的位置,並檢索兩個活動的價值嗎? –

相關問題