Android SharedPreference存儲文件三步走
SharedPreference
他的使用方法非常簡單,不夸張的說,僅需要一個 getSharedPreferences 就可以完成大部分操作
概念與權(quán)限
SharedPreference 存儲文件的位置在:data/data/你的工程包名/shared_prefs
getSharedPreferences
的第二個參數(shù)需要傳入一個操作模式,目前僅剩下 MODE_PRIVATE
這一個可選,他表示僅當(dāng)前 app 可以操作此 SharedPreference
存儲數(shù)據(jù)
存儲三步走:
- 使用
getSharedPreferences.edit()
獲取一個Editor
對象 - 使用諸如
putString
方法,按照數(shù)據(jù)類型并以鍵值對的形式插入數(shù)據(jù) - 最后使用
apply()
保存修改
方法一:實例化 editor 后按步驟執(zhí)行
val editor = getSharedPreferences("data",Context.MODE_PRIVATE).edit() editor.putString("name","jack") editor.apply()
方法二:直接 lambda 解決,免去 apply
getSharedPreferences("data", Context.MODE_PRIVATE).edit { putString("name", "Tom") putInt("age", 28) putBoolean("married", false) }
獲取數(shù)據(jù)
這玩意就更簡單了,直接 getSharedPreferences 獲取存儲文件,然后按照 key 拿到 value 就好了
val prefs = getSharedPreferences("data", Context.MODE_PRIVATE) val name = prefs.getString("name", "") val age = prefs.getInt("age", 0) val married = prefs.getBoolean("married", false) Log.d("MainActivity", "name is $name") Log.d("MainActivity", "age is $age") Log.d("MainActivity", "married is $married")
簡單存儲案例
設(shè)置存取按鈕
在 mainactivity 的布局文件中,我們添加倆按鈕,一個存東西,一個取東西;
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent" > <Button android:id="@+id/saveButton" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="Save Data" /> <Button android:id="@+id/restoreButton" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="Restore Data" /> </LinearLayout>
主代碼
寫在 MainAcitvity.kt
package com.zhiyiyi.listviewdemo import android.content.Context import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import android.util.Log import android.widget.Toast import androidx.core.content.edit import kotlinx.android.synthetic.main.activity_main.* import java.io.* class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) saveButton.setOnClickListener { getSharedPreferences("data", Context.MODE_PRIVATE).edit { putString("name", "Tom") putInt("age", 28) putBoolean("married", false) } } restoreButton.setOnClickListener { val prefs = getSharedPreferences("data", Context.MODE_PRIVATE) val name = prefs.getString("name", "") val age = prefs.getInt("age", 0) val married = prefs.getBoolean("married", false) Log.d("MainActivity", "name is $name") Log.d("MainActivity", "age is $age") Log.d("MainActivity", "married is $married") } } }
到此這篇關(guān)于Android SharedPreference存儲文件三步走的文章就介紹到這了,更多相關(guān)Android SharedPreference內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Android Zxing 轉(zhuǎn)換豎屏掃描且提高識別率的方法
本篇文章主要介紹了Android Zxing 轉(zhuǎn)換豎屏掃描且提高識別率的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-05-05Android開發(fā)自學(xué)筆記(一):Hello,world!
這篇文章主要介紹了Android開發(fā)自學(xué)筆記(一):Hello,world!本文講解了創(chuàng)建HelloWorld工程、編寫代碼、啟動模擬器等步驟,需要的朋友可以參考下2015-04-04Android的WebView與H5前端JS代碼交互的實例代碼
本篇文章主要介紹了Android的WebView與H5前端JS代碼交互的實例代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下。2017-07-07Android_UI 仿QQ側(cè)滑菜單效果的實現(xiàn)
相信大家對QQ側(cè)滑菜單的效果已經(jīng)不陌生了吧,側(cè)滑進(jìn)入個人頭像一側(cè),進(jìn)行對頭像的更改,我的收藏,QQ錢包,我的文件等一系列的操作,下面小編給大家分享Android_UI 仿QQ側(cè)滑菜單效果的實現(xiàn),一起看看吧2017-04-04