您的位置:首页 > 移动开发 > Android开发

【Android基础入门〖14〗】SharedPreferences

2013-09-25 22:50 405 查看

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 运行结果

 


 


 


 

 
参考 :http://www.oschina.net/question/54100_31831
 
转载请注明出处!
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息