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使用DrawerLayout仿QQ6.0雙側(cè)滑菜單
這篇文章主要為大家詳細介紹了Android使用DrawerLayout仿QQ6.0雙側(cè)滑菜單,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-08-08
Android Studio3.0升級后使用注意事項及解決方法
這篇文章主要介紹了Android Studio3.0升級后使用注意事項及解決方法,需要的朋友參考下吧2017-12-12
android利用websocket協(xié)議與服務(wù)器通信
這篇文章主要為大家詳細介紹了android利用websocket協(xié)議與服務(wù)器通信,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-03-03
Android實現(xiàn)在一個activity中添加多個listview的方法
這篇文章主要介紹了Android實現(xiàn)在一個activity中添加多個listview的方法,分析了Activity中添加listview的原理與具體實現(xiàn)方法,需要的朋友可以參考下2016-08-08

