溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Android中使用SharedPreferences完成記住賬號(hào)密碼的功能

發(fā)布時(shí)間:2020-10-11 04:15:21 來(lái)源:腳本之家 閱讀:132 作者:鉆石VIP 欄目:移動(dòng)開發(fā)

效果圖:

Android中使用SharedPreferences完成記住賬號(hào)密碼的功能Android中使用SharedPreferences完成記住賬號(hào)密碼的功能

記住密碼后,再次登錄就會(huì)出現(xiàn)賬號(hào)密碼,否則沒(méi)有。

分析:

SharedPreferences可將數(shù)據(jù)存儲(chǔ)到本地的配置文件中

SharedPreferences會(huì)記錄CheckBox的狀態(tài),如果CheckBox被選,則將配置文件中記錄的賬號(hào)密碼信息回饋給賬號(hào)密碼控件,否則清空。

SharedPreferences使用方法:

1、創(chuàng)建名為config的配置文件,并且私有

private SharedPreferences config;
config=getSharedPreferences("config", MODE_PRIVATE);

2、添加編輯器

Editor edit=config.edit();

3、向內(nèi)存中寫入數(shù)據(jù)

String username=et_username.getText().toString();
String password=et_password.getText().toString();
edit.putString("username", username).putString("password", password);

4、提交到本地

edit.commit(); 

代碼:

fry.Activity01

package fry;
import com.example.rememberUserAndPassword.R;
import android.app.Activity;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.TextView;
import android.widget.Toast;
public class Activity01 extends Activity{
  private Button btn_login;
  private TextView et_username;
  private TextView et_password;
  private CheckBox cb_choose;
  private SharedPreferences config;
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity01);
    config=getSharedPreferences("config", MODE_PRIVATE);
    btn_login=(Button) findViewById(R.id.btn_login);
    et_username=(TextView) findViewById(R.id.et_username);
    et_password=(TextView) findViewById(R.id.et_password);
    cb_choose=(CheckBox) findViewById(R.id.cb_choose);
    //是否記住了密碼,初始化為false
    boolean isCheck=config.getBoolean("isCheck", false);
    //Toast.makeText(this, isCheck+" ", Toast.LENGTH_SHORT).show();
    if(isCheck){
      et_username.setText(config.getString("username", ""));
      et_password.setText(config.getString("password", ""));
      cb_choose.setChecked(isCheck);
    }
  }
  //權(quán)限要是public,要不然訪問(wèn)不到
  //因?yàn)樵赽utton控件中設(shè)置了android:onClick="onClick"
  public void onClick(View view){
    Toast.makeText(this, "登錄成功", Toast.LENGTH_SHORT).show();
    Editor edit=config.edit();
    String username=et_username.getText().toString();
    String password=et_password.getText().toString();
    boolean isCheck=cb_choose.isChecked();
    //Toast.makeText(this, isCheck+" ", Toast.LENGTH_SHORT).show();
    //存儲(chǔ)CheckBox的狀態(tài)
    edit.putBoolean("isCheck", isCheck);
    if(isCheck){
      edit.putString("username", username).putString("password", password);
    }else{
      edit.remove("username").remove("password");
    }
    //提交到本地
    edit.commit();
  }
}

/記住賬號(hào)和密碼/res/layout/activity01.xml

<?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" >
  <EditText 
    android:id="@+id/et_username"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    />
  <EditText
    android:id="@+id/et_password"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:ems="10" >
    <requestFocus />
  </EditText>
  <LinearLayout 
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    >
    <CheckBox 
        android:id="@+id/cb_choose"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      />
    <TextView 
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="記住密碼"
      />
  </LinearLayout>
  <!-- android:onClick="onClick" 點(diǎn)擊時(shí)去class中調(diào)用onClick方法,權(quán)限要為public -->
  <Button
    android:id="@+id/btn_login"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="登錄"
    android:layout_gravity="center_horizontal"
    android:onClick="onClick"
    />
</LinearLayout>

總結(jié)

以上所述是小編給大家介紹的Android中使用SharedPreferences完成記住賬號(hào)密碼的功能,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)億速云網(wǎng)站的支持!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI