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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android教程 -09 数据的持久化存储

發布時間:2025/7/25 Android 57 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android教程 -09 数据的持久化存储 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

視頻為本篇播客知識點講解,建議采用超清模式觀看, 歡迎點擊訂閱我的優酷

任何一個程序其實說白了就是在不停地和數據打交道,數據持久化就是指將那些內存中的瞬時數據保存到存儲設備中,保證及時手機關機的情況下,這些數據仍然不會丟失。
Android中存儲方式有五種:

  • 使用SharedPreferences存儲數據
  • 文件存儲數據
  • SQLite數據庫存儲數據
  • 使用ContentProvider存儲數據
  • 網絡存儲數據
  • SharedPreferences存儲數據

    適用范圍:保存少量的數據,且這些數據的格式非常簡單:字符串型、基本類型的值。比如應用程序的各種配置信息(如是否打開音效、是否使用震動效果、小游戲的玩家積分等),解鎖口 令密碼等

    核心原理:保存基于XML文件存儲的key-value鍵值對數據,通常用來存儲一些簡單的配置信息。

    創建SharedPreferences的方法:

    Context getSharedPreferences() Activity getPreferences() PreferenceManager getDefaultSharedPreference()

    SharedPreferences使用方法:

    edit() 開始編輯 apply()commit() 提交數據 getXXX() 獲取數據 public class MainActivity extends AppCompatActivity {private EditText editText;// sp保存數據SharedPreferences config;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);// 創建SPconfig = getSharedPreferences("config", MODE_PRIVATE);editText = (EditText) findViewById(R.id.editText);// 讀取保存的數據 寫入到editText// 取數據 參數2為 如果找不到"data"key值,默認返回的數據String data=config.getString("data","");editText.setText(data);}/**按鈕點擊事件*/public void saveData(View v) {// 1 獲取輸入的內容String data = editText.getText().toString();// 2獲取到了編輯器SharedPreferences.Editor edit = config.edit();// 3 保存數據 key -valueedit.putString("data",data);//4 保存到文件中//edit.commit(); // 效率慢edit.apply(); // 效率快} }

    看到上面的代碼,我們就可以做保存密碼的實際案例了:

    視頻為本篇播客知識點講解,建議采用超清模式觀看, 歡迎點擊訂閱我的優酷

    MD5加密

    上面的Demo,我們保存了密碼,一般在實際開發的過程中,保存密碼都不要保存明文, 很容易被別人竊取密碼, 一般都對密碼進行加密
    常見的加密方式為MD5加密

    視頻為本篇播客知識點講解,建議采用超清模式觀看, 歡迎點擊訂閱我的優酷

    public class MD5Utils {/*** 對密碼進行加密* @param password 要加密的密碼* @return 密文*/public static String digest(String password){try {//加密方式為MD5加密MessageDigest digest=MessageDigest.getInstance("MD5");// 把一個byte數組 轉換成加密后byte數組byte[] bytes = digest.digest(password.getBytes());StringBuilder sb=new StringBuilder();for(byte b:bytes){// 去掉負數int c=b&0xff; // 負數轉換成正數 // 加鹽String result=Integer.toHexString(c)+3;// 把10進制的數 轉換成16進制的數 0 255if(result.length()<2){sb.append("0");// 讓十六進制數 全部都是兩位數}sb.append(result);}return sb.toString(); // 把加密后的密文返回回去} catch (NoSuchAlgorithmException e) {e.printStackTrace();// can't reachreturn "";}}

    MD5加密是不可逆的加密算法, 只能 明文->密文 密文是不能轉換成明文的, 銀行卡密碼都是采用MD5加密的,但是銀行卡密碼都是用md5加密后的密文再進行加密,反復幾十次,基本上保證密碼非常安全。

    未完待續…..

    轉載于:https://www.cnblogs.com/hehe520/p/6329907.html

    總結

    以上是生活随笔為你收集整理的Android教程 -09 数据的持久化存储的全部內容,希望文章能夠幫你解決所遇到的問題。

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