Android學(xué)習(xí)之SharedPerference存儲詳解
SharedPerference不同同于文件存儲,它是使用鍵值的方式來存儲數(shù)據(jù),對于保存的每一條數(shù)據(jù)都會給一個鍵值,這樣在讀取數(shù)據(jù)時直接通過鍵值取出相應(yīng)數(shù)據(jù)。amdroid提供了三個方法來獲取實例:
1.Context類中的getSharePreferences()方法
它接收兩個參數(shù),第一個是文件名;第二個是操作模式,目前只有MODE_PRIVATE可選,這是默認(rèn)的操作模式,表示只有當(dāng)前的應(yīng)用可以對文件進(jìn)行操作。
2.Activity類中的getPreference()方法
它只接收一個操作模式參數(shù),因為使用這個方法會自動將類名SharedPreference作為文件名。
3.PreferenceManager類中的getDefaultSharedPreference()方法
主要由三步來實現(xiàn):
(1)調(diào)用SharedPreferences對象的edit()方法來獲取一個SharedPreferences.Editor對象。
(2)向SharedPreferences.Editor對象中添加數(shù)據(jù),比如添加一個布爾型數(shù)據(jù)就使用putBoolean()方法,依次論推。
(3)調(diào)用apply()方法將添加的數(shù)據(jù)提交,從而完成數(shù)據(jù)操作。`
使用案例
MainActivity:
package com.example.sharedpreferences; import android.content.SharedPreferences; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.util.Log; import android.view.View; import android.widget.Button; import android.widget.Toast; public class MainActivity extends AppCompatActivity implements View.OnClickListener{ private Button button; private Button restore_btn; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); button = (Button)findViewById(R.id.save_data); button.setOnClickListener(this); restore_btn = (Button)findViewById(R.id.restore_data); restore_btn.setOnClickListener(this); } @Override public void onClick(View view) { switch (view.getId()){ case R.id.save_data: saveData(); Toast.makeText(MainActivity.this,"保存成功!",Toast.LENGTH_SHORT).show(); break; case R.id.restore_data: restorData(); Toast.makeText(MainActivity.this,"恢復(fù)成功",Toast.LENGTH_SHORT).show(); break; default: break; } } public void saveData(){ SharedPreferences.Editor editor = getSharedPreferences("data",MODE_PRIVATE).edit(); editor.putString("name","Tom"); editor.putInt("age",18); editor.putBoolean("married",false); editor.apply(); } public void restorData(){ SharedPreferences preferences = getSharedPreferences("data",MODE_PRIVATE); String name = preferences.getString("name",""); int age = preferences.getInt("age",0); boolean married = preferences.getBoolean("marred",false); Log.d("主活動: ","獲取到名字: "+name); Log.d("主活動: ","獲取到年齡: "+age); Log.d("主活動: ","獲取到婚配: "+married); } }
布局文件
<?xml version="1.0" encoding="utf-8"?> <android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.example.sharedpreferences.MainActivity"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical"> <Button android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/save_data" android:text="保存數(shù)據(jù)"/> <Button android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/restore_data" android:text="恢復(fù)數(shù)據(jù)"/> </LinearLayout> </android.support.constraint.ConstraintLayout>
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Android應(yīng)用開發(fā)SharedPreferences存儲數(shù)據(jù)的使用方法
- android中使用SharedPreferences進(jìn)行數(shù)據(jù)存儲的操作方法
- Android調(diào)用相機(jī)并將照片存儲到sd卡上實現(xiàn)方法
- Android開發(fā)筆記之: 數(shù)據(jù)存儲方式詳解
- Android編程實現(xiàn)手機(jī)自帶內(nèi)部存儲路徑的獲取方法
- Android APP與媒體存儲服務(wù)的交互
- Android App將數(shù)據(jù)寫入內(nèi)部存儲和外部存儲的示例
- Android 數(shù)據(jù)存儲方式有哪幾種
- 在android開發(fā)中進(jìn)行數(shù)據(jù)存儲與訪問的多種方式介紹
- Android編程中的5種數(shù)據(jù)存儲方式
相關(guān)文章
Android中webview與JS交互、互調(diào)方法實例詳解
這篇文章主要介紹了Android中webview與JS交互、互調(diào)方法實例詳解的相關(guān)資料,需要的朋友可以參考下2017-03-03Android8.1 源碼修改之插入SIM卡默認(rèn)啟用Volte功能
這篇文章主要介紹了Android8.1 源碼修改之插入SIM卡默認(rèn)啟用Volte功能,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下2019-05-05Android?Jetpack庫剖析之LiveData組件篇
LiveData是Jetpack組件的一部分,更多的時候是搭配ViewModel來使用,相對于Observable,LiveData的最大優(yōu)勢是其具有生命感知的,換句話說,LiveData可以保證只有在組件( Activity、Fragment、Service)處于活動生命周期狀態(tài)的時候才會更新數(shù)據(jù)2022-07-07Android藍(lán)牙服務(wù)查找附近設(shè)備分析探索
這篇文章主要介紹了Android藍(lán)牙服務(wù)實現(xiàn)查找附近設(shè)備,了解內(nèi)部原理是為了幫助我們做擴(kuò)展,同時也是驗證了一個人的學(xué)習(xí)能力,如果你想讓自己的職業(yè)道路更上一層樓,這些底層的東西你是必須要會的2023-01-01Android開發(fā)實現(xiàn)讀取excel數(shù)據(jù)并保存為xml的方法
這篇文章主要介紹了Android開發(fā)實現(xiàn)讀取excel數(shù)據(jù)并保存為xml的方法,涉及Android針對Excel數(shù)據(jù)讀取及xml格式文件的構(gòu)造與保存相關(guān)操作技巧,需要的朋友可以參考下2017-10-10