欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android SharedPreference存儲文件三步走

 更新時間:2023年01月05日 10:42:45   作者:知奕奕  
SharedPreferences是安卓平臺上一個輕量級的存儲類,用來保存應(yīng)用的一些常用配置,比如Activity狀態(tài),Activity暫停時,將此activity的狀態(tài)保存到SharedPereferences中;當(dāng)Activity重載,系統(tǒng)回調(diào)方法onSaveInstanceState時,再從SharedPreferences中將值取出

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)換豎屏掃描且提高識別率的方法

    本篇文章主要介紹了Android Zxing 轉(zhuǎn)換豎屏掃描且提高識別率的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-05-05
  • Android控件View的文字周圍添加圖標(biāo)

    Android控件View的文字周圍添加圖標(biāo)

    這篇文章主要為大家詳細(xì)介紹了Android控件View的文字周圍添加圖標(biāo),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-03-03
  • Android開發(fā)自學(xué)筆記(一):Hello,world!

    Android開發(fā)自學(xué)筆記(一):Hello,world!

    這篇文章主要介紹了Android開發(fā)自學(xué)筆記(一):Hello,world!本文講解了創(chuàng)建HelloWorld工程、編寫代碼、啟動模擬器等步驟,需要的朋友可以參考下
    2015-04-04
  • Android的WebView與H5前端JS代碼交互的實例代碼

    Android的WebView與H5前端JS代碼交互的實例代碼

    本篇文章主要介紹了Android的WebView與H5前端JS代碼交互的實例代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下。
    2017-07-07
  • Android動畫教程之屬性動畫詳解

    Android動畫教程之屬性動畫詳解

    這篇文章主要給大家介紹了關(guān)于Android動畫教程之屬性動畫的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對各位Android開發(fā)者們具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • Android-AnsyncTask異步任務(wù)的使用

    Android-AnsyncTask異步任務(wù)的使用

    本篇文章主要介紹了Android-AnsyncTask異步任務(wù)的使用,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-01-01
  • activity控制對話框風(fēng)格、顯示大小與位置

    activity控制對話框風(fēng)格、顯示大小與位置

    對于對話框風(fēng)格大家普遍使用PopupWindow,也有許多朋友開發(fā)設(shè)計時使用的是activity對話框方式,因此,本文對如何通過activity實現(xiàn)與PopupWindow相同的效果進(jìn)行詳細(xì)介紹,具有很好的參考價值,需要的朋友一起來看下吧
    2016-12-12
  • android錯誤 aapt.exe已停止工作的解決方法

    android錯誤 aapt.exe已停止工作的解決方法

    這篇文章主要介紹了android錯誤 aapt.exe已停止工作的解決方法,需要的朋友可以參考下
    2014-11-11
  • Android_UI 仿QQ側(cè)滑菜單效果的實現(xiàn)

    Android_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
  • Android掛斷電話最新實現(xiàn)方法

    Android掛斷電話最新實現(xiàn)方法

    大家好,本篇文章主要講的是Android掛斷電話最新實現(xiàn)方法,感興趣的同學(xué)感快來看一看吧,對你有幫助的話記得收藏一下
    2022-02-02

最新評論