Android學習之SharedPerference存儲詳解
SharedPerference不同同于文件存儲,它是使用鍵值的方式來存儲數(shù)據(jù),對于保存的每一條數(shù)據(jù)都會給一個鍵值,這樣在讀取數(shù)據(jù)時直接通過鍵值取出相應數(shù)據(jù)。amdroid提供了三個方法來獲取實例:
1.Context類中的getSharePreferences()方法
它接收兩個參數(shù),第一個是文件名;第二個是操作模式,目前只有MODE_PRIVATE可選,這是默認的操作模式,表示只有當前的應用可以對文件進行操作。
2.Activity類中的getPreference()方法
它只接收一個操作模式參數(shù),因為使用這個方法會自動將類名SharedPreference作為文件名。
3.PreferenceManager類中的getDefaultSharedPreference()方法
主要由三步來實現(xiàn):
(1)調用SharedPreferences對象的edit()方法來獲取一個SharedPreferences.Editor對象。
(2)向SharedPreferences.Editor對象中添加數(shù)據(jù),比如添加一個布爾型數(shù)據(jù)就使用putBoolean()方法,依次論推。
(3)調用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,"恢復成功",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="恢復數(shù)據(jù)"/>
</LinearLayout>
</android.support.constraint.ConstraintLayout>
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
- Android應用開發(fā)SharedPreferences存儲數(shù)據(jù)的使用方法
- android中使用SharedPreferences進行數(shù)據(jù)存儲的操作方法
- Android調用相機并將照片存儲到sd卡上實現(xiàn)方法
- Android開發(fā)筆記之: 數(shù)據(jù)存儲方式詳解
- Android編程實現(xiàn)手機自帶內(nèi)部存儲路徑的獲取方法
- Android APP與媒體存儲服務的交互
- Android App將數(shù)據(jù)寫入內(nèi)部存儲和外部存儲的示例
- Android 數(shù)據(jù)存儲方式有哪幾種
- 在android開發(fā)中進行數(shù)據(jù)存儲與訪問的多種方式介紹
- Android編程中的5種數(shù)據(jù)存儲方式
相關文章
Flutter?Animation實現(xiàn)縮放和滑動動畫效果
這篇文章主要為大家詳細介紹了Flutter?Animation實現(xiàn)縮放和滑動動畫效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-03-03
Android使用WebView.loadUri()打開網(wǎng)頁的方法
這篇文章主要介紹了Android使用WebView.loadUri()打開網(wǎng)頁的方法,結合實例形式分析了Android中WebView控件的loadUri()打開網(wǎng)頁的使用技巧,需要的朋友可以參考下2016-01-01
Android 通過SQLite數(shù)據(jù)庫實現(xiàn)數(shù)據(jù)存儲管理
SQLiteOpenHelper 是Android 提供的一個抽象工具類,負責管理數(shù)據(jù)庫的創(chuàng)建、升級工作。本文主要介紹了如何使用SQLite數(shù)據(jù)庫實現(xiàn)對數(shù)據(jù)進行存儲管理,感興趣的可以了解一下2021-11-11

