日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

SharedPreferences实现记住密码功能

發布時間:2024/4/17 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SharedPreferences实现记住密码功能 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

aredPerferences 簡單介紹

  • 用于保存簡單的鍵值對數據;
  • 它將數據放在 /data/data/<package name>/shared_prefs目錄下,用xml文件保存MAP鍵值對;

SharedPerferences 使用步驟

將數據存儲到SharedPerferences中:

  1.先要得到SharedPerference對象:(三種方法)

      1).使用Context類中的 getSharedPreferences() 方法,它接收兩個參數,第一個參數為文件名稱,第二個參數為操作模式。

       操作模式MODE_PRAVITE :只有當前程序才能對這個文件進行讀寫。MODE_MULTI_PROCESS :多個進程中對同一個文件進行讀寫。

       如:

SharedPreferences spf = getSharedPreferences("data",Context.MODE_PRIVATE);

?

      2).使用Activity類中的 getPreferences() 方法,它只接收一個參數--操作模式,并且會將當前活動的類名作為文件名。

       如:

SharedPreferences spf = getPreferences(MODE_PRIVATE);

?

      3).使用PreferenceManager類中的 getDefaultSharedPreferences() 方法,它接收一個Context參數,并且用包名作為前綴來命名文件。

       如:

SharedPreferences spf = PreferenceManager.getDefaultSharedPreferences(this);

?

  2.再得到SharedPreferences.Editor對象:

      使用SharedPreferences對象的 edit() 方法。

SharedPreference.Editor editor = spf.edit();

?

  3.開始添加數據:

      以鍵值對的方式寫入數據。

editor.putInt("age",22); editor.putString("name","Visen"); editor.putBoolean("singleDog",false)

?

  4.提交操作:

editor.commit();

?

從SharedPerferences中讀取數據:

  

?

簡單的保存密碼功能

login.xml 登錄布局頁面

<?xml version="1.0" encoding="utf-8"?> <TableLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:background="@color/black"android:stretchColumns="1"><LinearLayoutandroid:layout_height="wrap_content" android:background="@color/black" android:orientation="vertical"> <ImageView android:layout_width="match_parent" android:layout_height="240dp" android:src="@drawable/image1"/> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/title" android:textSize="40sp" android:textColor="@color/red" android:gravity="center" android:background="@color/cyan"/> </LinearLayout> <TableRow android:layout_marginTop="30dp"> <TextView android:layout_height="wrap_content" android:text="@string/account" android:textSize="30sp" android:textColor="@color/white"/> <EditText android:id="@+id/account" android:layout_height="wrap_content" android:inputType="text" android:textSize="20sp" android:textColor="@color/red" android:gravity="center" android:singleLine="true"/> </TableRow> <TableRow> <TextView android:layout_height="wrap_content" android:text="@string/password" android:textSize="30sp" android:textColor="@color/white"/> <EditText android:id="@+id/passWord" android:layout_height="wrap_content" android:inputType="textPassword" android:textSize="20sp" android:textColor="@color/red" android:gravity="center" /> </TableRow> <TableLayout android:layout_height="wrap_content" android:stretchColumns="0"> <TableRow> <CheckBox android:id="@+id/saveSelect" android:background="@color/red" android:layout_gravity="end"/> <TextView android:layout_height="wrap_content" android:text="@string/saveSelect" android:textSize="20sp" android:textColor="@color/white" android:gravity="center" android:layout_gravity="bottom"/> </TableRow> <TableRow> <Button android:layout_height="wrap_content" android:id="@+id/login" android:gravity="center" android:layout_span="2" android:text="@string/login" android:textSize="25sp" android:textColor="@color/red" android:background="@drawable/black_bt"/> </TableRow> </TableLayout> </TableLayout>

?

Login.java

public class Login extends AppCompatActivity {private SharedPreferences spf; private SharedPreferences.Editor spfe; private int num = 0; private EditText account = null; private EditText passWord = null; private CheckBox saveSelect = null; private Button login = null ; @Override protected void onCreate(Bundle saveInstanceState){ //加載布局 super.onCreate(saveInstanceState); setContentView(R.layout.login); //初始化控件 account = (EditText)findViewById(R.id.account); passWord = (EditText)findViewById(R.id.passWord); saveSelect = (CheckBox)findViewById(R.id.saveSelect); login = (Button)findViewById(R.id.login); //使用Context的getSharedPreferences(String name,int mode)方法得到SharedPreferences對象; spf = getSharedPreferences("data", Context.MODE_PRIVATE); //使用SharedPreferences對象的edit()方法得到 SharedPreferences.Editor 的對象; spfe = spf.edit(); //復選框是否被選中,若為選中狀態,則保存過賬戶,要恢復數據 if(spf.getBoolean("isSelect",false)){//選中標志,默認值為false String acc = spf.getString("account",""); String pas = spf.getString("passWord",""); account.setText(acc); passWord.setText(pas); saveSelect.setChecked(true); } //設置登錄按鈕監聽事件 login.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //確認帳號密碼 if(account.getText().toString().equals("visen") && passWord.getText().toString().equals("dsy402645063!")){ //復選框是否被勾選,若被勾選,則需要保存賬戶后登錄;否則直接登錄且不保存賬戶 if(saveSelect.isChecked()){ saveDate(); }else { spfe.clear(); spfe.commit(); } //頁面跳轉 Intent intent = new Intent(Login.this,MainActivity.class); startActivity(intent); finish(); }else {//賬戶或密碼錯誤 Toast.makeText(Login.this, "account or password is invalid", Toast.LENGTH_SHORT).show(); } } }); } public void saveDate(){ //讀取EditText中的內容 String acc = account.getText().toString(); String pas = passWord.getText().toString(); //保存數據 spfe.putString("account",acc); spfe.putString("passWord",pas); spfe.putBoolean("isSelect",true); //提交 spfe.commit(); } @Override public void onBackPressed(){ num++; if(num == 2){ super.onBackPressed(); }else{ Toast.makeText(Login.this, "再按一次退出程序", Toast.LENGTH_SHORT).show(); } } }

這其中提供了一系列的get方法進行數據的讀取。如:

String name = editor.getString("name"," ");

?

  如果鍵所對應的值不存在,則填入設定的默認值。

?

轉載于:https://www.cnblogs.com/zztve/p/5589737.html

總結

以上是生活随笔為你收集整理的SharedPreferences实现记住密码功能的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲小说区图片区 | 久久综合免费 | 我要看免费的毛片 | 中文亚洲av片不卡在线观看 | 国内久久精品 | 秋霞午夜鲁丝一区二区老狼 | 国产精品99一区 | 天天想你免费观看完整版高清电影 | www.黄色片网站 | 日韩一区不卡视频 | 一级做a爱 | 国产山村乱淫老妇女视频 | 波多野结衣电车 | 宅男视频在线免费观看 | 国产做爰xxxⅹ久久久精华液 | 深夜福利视频导航 | 亚洲色图1 | av网站在线观看免费 | 久久天堂视频 | 蜜桃视频导航 | 黄色在线a | 日日夜精品 | 色婷婷91 | 强行侵犯视频在线观看 | 国产视频成人 | 免费看黄色的网站 | 在线看网站 | 艹男人的日日夜夜 | 好吊在线视频 | 羞羞色视频| 欧美日韩一卡二卡 | 中文字幕亚洲专区 | 欧美第四页 | 日本在线一 | 久久精品精品 | 女人的天堂网 | 亚洲黄色一区二区 | 天天射天天色天天干 | 天天槽| missav | 免费高清av在线看 | 久久婷婷网站 | 日韩一区二区三区免费视频 | 人妻少妇久久中文字幕 | 天堂网中文在线观看 | 白丝校花扒腿让我c | 亚洲男人天堂2017 | 国产精品无码专区av在线播放 | 一区二区三区日韩精品 | 日不卡| 国产亚洲精品成人无码精品网站 | 亚洲欧美国产视频 | 99精品国产99久久久久久97 | 自拍偷拍欧美激情 | 99爱免费 | 亚洲国产日韩在线一区 | 国产视频网站在线观看 | 欧美乱妇一区二区三区 | 欧洲亚洲另类 | 久久精品国产亚洲av无码娇色 | 国产真人无遮挡作爱免费视频 | 男人的天堂色 | xxx一区二区| 午夜美女福利 | 黄色片网站视频 | 成人黄色视屏 | 一本色道久久亚洲综合精品蜜桃 | 欧美精品成人一区二区三区四区 | 午夜男人影院 | 欧美成人免费在线观看视频 | 人妻无码中文久久久久专区 | 国产粉嫩呻吟一区二区三区 | 久久精品99久久久久久 | 亚洲国产看片 | 欧美a级片视频 | 性猛交富婆╳xxx乱大交麻豆 | 中文字幕av在线免费观看 | 欧美极品少妇xxxxⅹ喷水 | 成了校长的性脔h文 | www.99re7.com | 午夜影院男女 | 日韩中文字幕在线播放 | www.亚洲高清 | 少妇视频一区 | 初音未来打屁股 | 亚洲高潮无码久久 | 欧美成人aaaa | 精品日韩在线 | 91麻豆产精品久久久久久夏晴子 | 午夜免费av | 僵尸艳谈| 欧美888 | 免费在线观看的av | 中日韩中文字幕一区二区 | 91视频国产免费 | jizzjizz视频| 国产片在线 | 天天天天躁天天爱天天碰2018 | 一级片免费看视频 | 国产在线精品一区二区三区 |