[英]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.