簡體   English   中英

Android用戶登錄

[英]Android user log in

我正在創建一個應用程序,使用戶可以登錄到他們創建的配置文件,我只想知道如何獲取正確的用戶名和密碼,以便將用戶帶到另一個活動,因為如果嘗試嘗試,我現在會收到錯誤消息使用意圖和startactivity。

public class Login extends Activity implements OnClickListener{
/** Called when the activity is first created. */

private EditText etUsername;
private EditText etPassword;
private Button btnLogin;
//private Button btnRegister;
private TextView lblResult;

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.login);
    // Get the EditText and Button References
    etUsername = (EditText)findViewById(R.id.EditUsername);
    etPassword = (EditText)findViewById(R.id.EditPassword);
    btnLogin = (Button)findViewById(R.id.login);
    //btnRegister = (Button)findViewById(R.id.btnRegister);
    lblResult = (TextView)findViewById(R.id.lblmsg);


   // Button btnArrival = (Button) findViewById(R.id.btnRegister);
    //btnArrival.setOnClickListener(this);


// Set Click Listener
btnLogin.setOnClickListener(new OnClickListener() {
    @Override
    public void onClick(View v) {
        // Check Login
        String username = etUsername.getText().toString();
        String password = etPassword.getText().toString();

        if(username.equals("User") && password.equals("user")){
            Intent i = new Intent();
            startActivity(i);
        } else {
            lblResult.setText("Login failed. Username and/or password doesn't match.");
        }
    }
});



    }

    public void onClick(View v)
    {
            Intent intent = new Intent(this, UsersDbAdapter.class);
            startActivity(intent);
}

}

我假設您只是在測試,因為您將用戶名和密碼都與“用戶”進行了比較。 但是,如果它們相等,則此代碼運行:

        Intent i = new Intent();
        startActivity(i);

這是一個相當空洞的意圖,不是嗎? 為何從何開始活動? 稍微低一點,您正在開始如下活動:

        Intent intent = new Intent(this, UsersDbAdapter.class);
        startActivity(intent);

看起來好多了。 它有一個上下文和一個類,因此startActivity知道該怎么做:)

為什么會有兩個onClick偵聽器? 這可能是問題所在。 移除btnLogin.setOnClickListener()調用,並確保您在布局xml文件中將按鈕的android:onClick屬性設置為“ onClick”。

此外,如果您只為Android設備編寫代碼,那么可以不考慮編寫自己的身份驗證類,而可以考慮通過Google App Engine使用OpenID

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM