學習視頻之後自己操作時的筆記。 0.視頻地址:http://www.imooc.com/video/3265 1.功能預覽: 說明:1)輸入錯誤用戶名和密碼,點擊登錄,彈出提示框“禁止登錄”; 2)輸入正確用戶名和密碼,點擊登錄,彈出提示框“登錄成功”; 3)輸入正確用戶名和密碼,並且勾選保存用戶名 ...
學習視頻之後自己操作時的筆記。
0.視頻地址:http://www.imooc.com/video/3265
1.功能預覽:
說明:1)輸入錯誤用戶名和密碼,點擊登錄,彈出提示框“禁止登錄”;
2)輸入正確用戶名和密碼,點擊登錄,彈出提示框“登錄成功”;
3)輸入正確用戶名和密碼,並且勾選保存用戶名,點擊登錄,彈出框顯示“登錄成功”,退出APP,再次打開,用戶名已有。
2.具體佈局:
activity_main.xml:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity" > <TextView android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentTop="true" android:layout_marginTop="16dp" android:text="用戶名:" /> <EditText android:id="@+id/etuserName" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:layout_alignTop="@+id/textView1" android:layout_toRightOf="@+id/textView1" android:ems="10" /> <TextView android:id="@+id/aa" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_below="@+id/etuserName" android:text="密 碼" /> <EditText android:id="@+id/etuserPass" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/etuserName" android:layout_alignParentRight="true" android:layout_alignTop="@+id/aa" android:ems="10" > <requestFocus /> </EditText> <Button android:id="@+id/btnLogin" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_below="@+id/etuserPass" android:layout_marginTop="62dp" android:onClick="doClick" android:text="登陸" /> <Button android:id="@+id/btnCancel" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBaseline="@+id/btnLogin" android:layout_alignBottom="@+id/btnLogin" android:layout_toRightOf="@+id/btnLogin" android:onClick="doClick" android:text="取消" /> <CheckBox android:id="@+id/checkBox1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignRight="@+id/btnCancel" android:layout_below="@+id/etuserPass" android:layout_marginTop="15dp" android:checked="false" android:text="保存用戶名" /> </RelativeLayout>View Code
3.MainActivity.java:
public class MainActivity extends Activity { EditText etUserName,etUserPass; CheckBox chk; SharedPreferences pref; Editor editor; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //綁定對應佈局控制項 etUserName=(EditText)findViewById(R.id.etuserName); etUserPass=(EditText)findViewById(R.id.etuserPass); chk=(CheckBox)findViewById(R.id.checkBox1); pref=getSharedPreferences("UserInfo",MODE_PRIVATE); editor=pref.edit(); String name=pref.getString("userName", ""); if(name==null){ chk.setChecked(false); }else{ chk.setChecked(true); etUserName.setText(name); } } //為按鈕添加響應 public void doClick(View v){ switch(v.getId()){ case R.id.btnLogin: //轉成字元串進行判斷 String name=etUserName.getText().toString().trim(); String pass=etUserPass.getText().toString().trim(); if("admin".equals(name)&&"123456".equals(pass)){ if(chk.isChecked()){ //用戶名與密碼均正確且保存用戶名確認框處於選, //則保存數據並提交到資料庫 editor.putString("userName", name); editor.commit(); }else{ editor.remove("userName"); editor.commit(); } //加信息提示框 Toast.makeText(MainActivity.this, "登錄成功", Toast.LENGTH_LONG).show(); }else{Toast.makeText(MainActivity.this, "禁止登錄", Toast.LENGTH_LONG).show(); } break; default: break; } } }