Android:利用SharedPreferences實現自動登入_Android

來源:互聯網
上載者:User

本文介紹了Android:利用SharedPreferences實現自動登入,具體如下:

主要代碼:

public class LoginActivity extends Activity { private EditText username; private EditText userpassword; private CheckBox remember; private CheckBox autologin; private Button login; private SharedPreferences sp; private String userNameValue,passwordValue;  @Override protected void onCreate(Bundle savedInstanceState) {  // TODO Auto-generated method stub  super.onCreate(savedInstanceState);  setContentView(R.layout.login);    // 初始化使用者名稱、密碼、記住密碼、自動登入、登入按鈕  username = (EditText) findViewById(R.id.username);  userpassword = (EditText) findViewById(R.id.userpassword);  remember = (CheckBox) findViewById(R.id.remember);  autologin = (CheckBox) findViewById(R.id.autologin);  login = (Button) findViewById(R.id.login);  sp = getSharedPreferences("userInfo", 0);  String name=sp.getString("USER_NAME", "");  String pass =sp.getString("PASSWORD", "");    boolean choseRemember =sp.getBoolean("remember", false);  boolean choseAutoLogin =sp.getBoolean("autologin", false); //  Toast.makeText(this, name, Toast.LENGTH_SHORT).show();    //如果上次選了記住密碼,那進入登入頁面也自動勾選記住密碼,並填上使用者名稱和密碼  if(choseRemember){   username.setText(name);   userpassword.setText(pass);   remember.setChecked(true);  }  //如果上次登入選了自動登入,那進入登入頁面也自動勾選自動登入  if(choseAutoLogin){   autologin.setChecked(true);  }        login.setOnClickListener(new OnClickListener() {     // 預設可登入帳號tinyphp,密碼123   @Override   public void onClick(View arg0) {    userNameValue = username.getText().toString();    passwordValue = userpassword.getText().toString();    SharedPreferences.Editor editor =sp.edit();        // TODO Auto-generated method stub    if (userNameValue.equals("tinyphp")      && passwordValue.equals("123")) {     Toast.makeText(LoginActivity.this, "登入成功",       Toast.LENGTH_SHORT).show();          //儲存使用者名稱和密碼     editor.putString("USER_NAME", userNameValue);     editor.putString("PASSWORD", passwordValue);          //是否記住密碼     if(remember.isChecked()){            editor.putBoolean("remember", true);           }else{      editor.putBoolean("remember", false);         }                         //是否自動登入      if(autologin.isChecked()){              editor.putBoolean("autologin", true);             }else{       editor.putBoolean("autologin", false);      }     editor.commit();           //跳轉     Intent intent =new Intent(LoginActivity.this,SuccessActivity.class);     startActivity(intent);    } else {     Toast.makeText(LoginActivity.this, "使用者名稱或密碼錯誤,請重新登入!",       Toast.LENGTH_SHORT).show();    }   }  }); }}


<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:padding="10dp" > <TextView  android:layout_width="wrap_content"  android:layout_height="wrap_content"  android:text="使用者名稱:" /> <EditText  android:id="@+id/username"  android:layout_width="match_parent"  android:layout_height="wrap_content"  android:ems="10"  android:inputType="textPersonName" > </EditText> <TextView  android:layout_width="wrap_content"  android:layout_height="wrap_content"  android:layout_marginTop="10dp"  android:text="密碼:" /> <EditText  android:id="@+id/userpassword"  android:layout_width="match_parent"  android:layout_height="wrap_content"  android:ems="10"  android:inputType="textPassword" > </EditText> <CheckBox  android:id="@+id/remember"  android:layout_width="wrap_content"  android:layout_height="wrap_content"  android:text="記住密碼" /> <CheckBox  android:id="@+id/autologin"  android:layout_width="wrap_content"  android:layout_height="wrap_content"  android:text="自動登入" /> <Button  android:id="@+id/login"  android:layout_width="match_parent"  android:layout_height="wrap_content"  android:text="登入" /></LinearLayout>

源碼下載:源碼

以上就是本文的全部內容,希望對大家的學習有所協助,也希望大家多多支援雲棲社區。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.