Android 之 SharedPreferences

weixin_34054866發表於2013-09-26

1 簡介

SharedPreferences是一種輕量級的資料儲存方式,它可以用鍵值對的方式把簡單資料型別(boolean、int、float、long和String)儲存在應用程式的私有目錄下(data/data/[包名] /shared_prefs/)自己定義的xml檔案中

SharedPreferences 建立時可選的模式

MODE_PRIVATE                          //該檔案只能被應用本身訪問,寫入的內容會覆蓋原檔案的內容
MODE_WORLD_READABLE      //該檔案可以被其他應用讀取 ( 不推薦使用,不安全)
MODE_WORLD_WRITEABLE     //該檔案可以被其他應用寫入( 不推薦使用,不安全)
MODE_APPEND                         //該模式會檢查檔案是否存在,存在就往檔案追加內容,否則就建立新檔案

 

2 具體實現如下:


2.1 主要程式碼


MainActivity.java
package com.michael.mysharedpreferences;
import android.app.Activity;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.os.Bundle;
import android.widget.TextView;
public class MainActivity extends Activity {
    public static final String SETTINGS_NAME="mysettings";
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        //開始配置 SharedPreferences
        //---------------------------------------
        //第一個引數為 配置檔名
        SharedPreferences spref = getSharedPreferences(SETTINGS_NAME, MODE_PRIVATE);
        Editor editor=spref.edit();
        
        //儲存資料至配置檔案
        editor.putString("user1", "michael");
        editor.putInt("user1_age", 24);
        editor.putString("user1_sex", "男");
        
        editor.commit();
        //---------------------------------------
        //結束
        
        
        
        //現在開始測試獲取資料
        //---------------------------------------
        String str;
        str=spref.getString("user1", "default");
        str+='\n';
        str+=spref.getInt("user1_age", 0);
        str+='\n';
        str+=spref.getString("user1_sex", "default");
        str+='\n';
        
        TextView textview=(TextView)findViewById(R.id.textview);
        textview.setText(str);
        //---------------------------------------
    }
}

 

2.2 佈局檔案


activity_main.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >
    <TextView
        android:id="@+id/textview"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>
</LinearLayout>


3 執行結果


 
 
 
 
 
 
 
 
 
  注:轉載請註明出處 :)   畢竟程式碼是一個一個敲出來的啊,O(∩_∩)O~
 
 
 
 
 
 
 
 

 

相關文章