利用SharedPreferences完成記住帳號密碼的功能,

來源:互聯網
上載者:User

利用SharedPreferences完成記住帳號密碼的功能,
利用SharedPreferences完成記住帳號密碼的功能

記住密碼後,再次登入就會出現帳號密碼,否則沒有。

 

分析:

SharedPreferences可將資料存放區到本地的設定檔中

SharedPreferences會記錄CheckBox的狀態,如果CheckBox被選,則將設定檔中記錄的帳號密碼資訊回饋給帳號密碼控制項,否則清空。

 

SharedPreferences使用方法:

1、建立名為config的設定檔,並且私人

private SharedPreferences config;

config=getSharedPreferences("config", MODE_PRIVATE);

2、添加編輯器

Editor edit=config.edit();

3、向記憶體中寫入資料

String username=et_username.getText().toString();
String password=et_password.getText().toString();

edit.putString("username", username).putString("password", password);

4、提交到本地

edit.commit();

 

代碼:

fry.Activity01

 1 package fry; 2  3 import com.example.rememberUserAndPassword.R; 4  5 import android.app.Activity; 6 import android.content.SharedPreferences; 7 import android.content.SharedPreferences.Editor; 8 import android.os.Bundle; 9 import android.view.View;10 import android.widget.Button;11 import android.widget.CheckBox;12 import android.widget.TextView;13 import android.widget.Toast;14 15 public class Activity01 extends Activity{16     private Button btn_login;17     private TextView et_username;18     private TextView et_password;19     private CheckBox cb_choose;20     private SharedPreferences config;21     22     23     @Override24     protected void onCreate(Bundle savedInstanceState) {25         // TODO Auto-generated method stub26         super.onCreate(savedInstanceState);27         setContentView(R.layout.activity01);28         config=getSharedPreferences("config", MODE_PRIVATE);29         btn_login=(Button) findViewById(R.id.btn_login);30         et_username=(TextView) findViewById(R.id.et_username);31         et_password=(TextView) findViewById(R.id.et_password);32         cb_choose=(CheckBox) findViewById(R.id.cb_choose);33         34         //是否記住了密碼,初始化為false35         boolean isCheck=config.getBoolean("isCheck", false);36         //Toast.makeText(this, isCheck+" ", Toast.LENGTH_SHORT).show();37         if(isCheck){38             et_username.setText(config.getString("username", ""));39             et_password.setText(config.getString("password", ""));40             cb_choose.setChecked(isCheck);41         }42         43     }44     //許可權要是public,要不然訪問不到45     //因為在button控制項中設定了android:onClick="onClick"46     public void onClick(View view){47         Toast.makeText(this, "登入成功", Toast.LENGTH_SHORT).show();48         Editor edit=config.edit();49         String username=et_username.getText().toString();50         String password=et_password.getText().toString();51         boolean isCheck=cb_choose.isChecked();52         //Toast.makeText(this, isCheck+" ", Toast.LENGTH_SHORT).show();53         //儲存CheckBox的狀態54         edit.putBoolean("isCheck", isCheck);55         if(isCheck){56             edit.putString("username", username).putString("password", password);57         }else{58             edit.remove("username").remove("password");59         }60         //提交到本地61         edit.commit();62     }63 }
代碼邏輯部分

/記住帳號和密碼/res/layout/activity01.xml

 1 <?xml version="1.0" encoding="utf-8"?> 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 3     android:layout_width="match_parent" 4     android:layout_height="match_parent" 5     android:orientation="vertical" > 6  7     <EditText  8         android:id="@+id/et_username" 9         android:layout_width="match_parent"10         android:layout_height="wrap_content"11         />12 13     <EditText14         android:id="@+id/et_password"15         android:layout_width="match_parent"16         android:layout_height="wrap_content"17         android:ems="10" >18 19         <requestFocus />20     </EditText>21 22     <LinearLayout 23         android:layout_width="wrap_content"24         android:layout_height="wrap_content"25         >26         <CheckBox 27                 android:id="@+id/cb_choose"28             android:layout_width="wrap_content"29             android:layout_height="wrap_content"30             />31         <TextView 32             android:layout_width="wrap_content"33             android:layout_height="wrap_content"34             android:text="記住密碼"35             />36     37     </LinearLayout>38     <!-- android:onClick="onClick" 點擊時去class中調用onClick方法,許可權要為public -->39     <Button40         android:id="@+id/btn_login"41         android:layout_width="wrap_content"42         android:layout_height="wrap_content"43         android:text="登入"44         android:layout_gravity="center_horizontal"45         android:onClick="onClick"46         />47 </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.