歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Android數據存儲---SharedPreferences

Android數據存儲---SharedPreferences

日期:2017/3/1 10:46:30   编辑:Linux編程

SharedPreferences是Android平台上一個輕量級的存儲類,主要是保存一些常用的配置比如窗口狀態,一般在Activity中重載窗口狀態onSaveInstanceState保存一般使用SharedPreferences完成,它提供了Android平台常規的Long整形、Int整形、String字符串型的保存。這種方式應該是用起來最簡單的Android讀寫外部數據的方法了。以一種簡單、透明的方式來保存一些用戶個性化設置的字體、顏色、位置等參數信息。

在Android系統中,這些信息以XML文件的形式保存在

/data/data/PACKAGE_NAME /shared_prefs 目錄下。

SharedPreferences pre = getSharedPreferences("soft",

Context.MODE_WORLD_READABLE);

在這裡我們可以調用 activity 為我們提供的方法,這個方法有兩個參數:

1)文件名 。 在這裡要特別注意 。 因為在 Android 中已經確定了 SharedPreferences 是以 xm l形式保存,所以,在填寫文件名參數時,不要給定 ” .xml ” 後綴, android 會自動添加 。它是采用鍵值對的形式保存參數。 當你需要獲得某個參數值時 , 按照參數的鍵索引即可。

2)第二個可以理解為創建模式和之前的文件存儲的模式是一樣的。

Context. MODE_PRIVATE

Context. MODE_APPEND MODE_APPEND

Context. MODE_WORLD_READABLE

Context. MODE_WORLD_WRITEABLE

下面介紹一個實例來演示向SharedPreferences的讀寫

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:orientation="vertical" >

<LinearLayout

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:orientation="horizontal" >

<TextView

android:id="@+id/nameTV"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_marginRight="30dp"

android:text="姓 名"

android:textSize="25dp"

/>

<EditText

android:id="@+id/nameET"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

/>

</LinearLayout>

<LinearLayout

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:orientation="horizontal" >

<TextView

android:id="@+id/ageTV"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_marginRight="30dp"

android:text="年 齡"

android:textSize="25dp"

/>

<EditText

android:id="@+id/ageET"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

/>

</LinearLayout>

<LinearLayout

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:orientation="horizontal"

>

<Button

android:id="@+id/btn1"

android:layout_width="100dp"

android:layout_height="wrap_content"

android:layout_marginTop="30dp"

android:layout_marginLeft="100dp"

android:text="保存"

/>

<Button

android:id="@+id/btn2"

android:layout_width="100dp"

android:layout_height="wrap_content"

android:layout_marginTop="30dp"

android:text="讀取"

/>

</LinearLayout>

</LinearLayout>

Copyright © Linux教程網 All Rights Reserved