`
he91_com
  • 浏览: 377697 次
文章分类
社区版块
存档分类
最新评论

Android 之 SharedPreferences

阅读更多

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~
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics