SharedPreferences in Android

As far as I know, SharedPreferences allow us to store some simple data in a
named area in our phone. Introduction to the uses of SharedPreferences is very
clear at Android SDK website. I just copied here(I divided the contents into
four parts):

Introduction

The SharedPreferences class
provides a general framework that allows you to save and retrieve persistent
key-value pairs of primitive data types. You can use SharedPreferences to
save any primitive data: booleans, floats, ints, longs, and strings. This data
will persist across user sessions (even if your application is
killed).

Get SharedPreferences
object

To get a SharedPreferences object
for your application, use one of two methods:

  • getSharedPreferences() -
    Use this if you need multiple preferences files identified by
    name, which you specify with the first parameter.

  • getPreferences() -
    Use this if you need only one preferences file for your
    Activity. Because this will be the only preferences file for your Activity,
    you don‘t supply a name.

Write the
values

To write values:

  1. Call edit() to
    get a SharedPreferences.Editor.

  2. Add values with methods such as putBoolean() and putString().

  3. Commit the new values with commit()

Read the
values

To read values, use SharedPreferences methods
such as getBoolean() and getString().

_______________________________________________________________________________________________________________________

Now let‘s get into example time:

First, take a look at AndroidManifest.xml file to get to know it.

?





1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

<!--  part of AndroidManifest.xml  -->

<application

        android:allowBackup="true"

        android:icon="@drawable/ic_launcher"

        android:label="@string/app_name"

        android:theme="@style/AppTheme"
>

        <activity

            android:name="com.example.sharedpreferences.MainActivity"

            android:label="@string/app_name"
>

            <intent-filter>

                <action android:name="android.intent.action.MAIN"
/>

                <category android:name="android.intent.category.LAUNCHER"
/>

            </intent-filter>

        </activity>

        <activity

            android:name="com.example.sharedpreferences.Display"

            android:label="Display"
>

        </activity>

    </application>

Two Activities exist in this example,

MainActivity.java which uses activity_main.xml as the content view;

Display.java which uses main.xml as the content view:

?





1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

<span style="color: rgb(153, 204, 0);"><strong>//MainActivity.java</strong></span><br>public class MainActivity extends Activity {

    private
static final String MY_PREF="firstpreferencefile";

    private
Button change;

    private
EditText ed1;

    private
EditText ed2;

    private
SharedPreferences sp;

    @Override

    protected
void onCreate(Bundle savedInstanceState) {

        // TODO Auto-generated method stub

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

        change=(Button)findViewById(R.id.change);

        ed1=(EditText)findViewById(R.id.editText1);

        ed2=(EditText)findViewById(R.id.editText2);

        sp=getSharedPreferences(MY_PREF, 0);

        System.out.println("hello"+sp.getString("name", "null"));

                

        change.setOnClickListener(new
View.OnClickListener() {

            

            @Override

            public
void onClick(View v) {

                // TODO Auto-generated method stub

                

                Editor editor=sp.edit();

                editor.putString("name", ed1.getText().toString());

                editor.putString("email", ed2.getText().toString());

                editor.commit();

                Intent intent=new
Intent(getApplicationContext(),Display.class);

                startActivity(intent);

            }

        });

        

    }

}

?





1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

<span style="color: rgb(153, 204, 0);"><strong>//Display.java</strong></span>

public class Display extends
Activity {

    private
static final String MY_PREF="firstpreferencefile";

    private
TextView tv1;

    private
TextView tv2;

    @Override

    protected
void onCreate(Bundle savedInstanceState) {

        // TODO Auto-generated method stub

        super.onCreate(savedInstanceState);

        setContentView(R.layout.main);

        SharedPreferences sp=getSharedPreferences(MY_PREF, 0);

        tv1=(TextView)findViewById(R.id.textView1);

        tv2=(TextView)findViewById(R.id.textView2);

        tv1.setText(sp.getString("name", "song"));

        tv2.setText(sp.getString("email", "[email protected]"));

    }

}

  We set up two values and store them in SharedPreferences object. These two
values can be changed in MainActivity.java, and would be displayed in
main.java.

SharedPreferences in Android,布布扣,bubuko.com

时间: 2024-10-12 10:05:08

SharedPreferences in Android的相关文章

如何使用SharedPreferences在Android的存储,读取和编辑值

我需要要存储一个时间值,需要检索和编辑该值.有人可以知道下吗?如何使用 SharedPreferences 完成 处理方法 关于android shared preferences,你可以再你的activity 中加入下面代码来完成 SharedPreferences prefs = this.getSharedPreferences( "com.example.app", Context.MODE_PRIVATE); 通过如下方式读取   preferences: String da

[Android]数据篇 --- SharedPreferences

转载请标注:转载于http://www.cnblogs.com/Liuyt-61/p/6637515.html --------------------------------------------------------------- Android数据的四种存储方式: 1.SharedPreferences 2.SQLite 3.Content Provider 4.File ----------------------分割线--------------------------------

【Mark】Android应用开发SharedPreferences存储数据的使用方法

Android应用开发SharedPreferences存储数据的使用方法 SharedPreferences是Android中最容易理解的数据存储技术,实际上SharedPreferences处理的就是一个key-value(键值对)SharedPreferences常用来存储一些轻量级的数据. 1.使用SharedPreferences保存数据方法如下: //实例化SharedPreferences对象(第一步) SharedPreferences mySharedPreferences=

Android开发手记(16) 数据存储一 SharedPreferences

SharedPreferences是Android中最容易理解的数据存储技术,实际上SharedPreferences处理的就是一个key-value(键值对)SharedPreferences常用来存储一些轻量级的数据.这类似于C++中Map的数据存储方式(实际上在最后生成的.xml文件内,就是以Map格式存储的). 获取SharedPreferences的两种方式: 1.调用Context对象的getSharedPreferences()方法 2.调用Activity对象的getPrefer

处女男学Android(十三)---Android 轻量级数据存储之SharedPreferences

一.前言 转载请标明出处:http://blog.csdn.net/wlwlwlwl015/article/details/42437007 初学Android的时候在Activity之间传值我都是用Intent+Bundle这种模式去实现的,刚开始觉得没什么,后来渐渐发现了弊端,就是说只能逐层传递,当我的好几个Activity都需要从一个Activity中取数据的时候,这样就显得相当局限了,传来传去的即麻烦,又不合理,后来就想在Android中有没有web开发中类似于Session的东西,只要

Android 使用SharedPreferences进行数据存储和读取数据

很多时候我们开发的软件需要向用户提供软件参数设置功能,例如我们常用的QQ,用户可以设置是否允许陌生人添加自己为好友.对于软件配置参数的保存,如果是window软件通常我们会采用ini文件进行保存,如果是j2se应用,我们会采用properties属性文件或者xml进行保存.如果是Android应用,我们最适合采用什么方式保存软件配置参数呢?Android平台给我们提供了一个SharedPreferences类,它是一个轻量级的存储类,特别适合用于保存软件配置参数.使用SharedPreferen

从零开始学android&lt;数据存储(1)SharedPreferences属性文件.三十五.&gt;

在android中有五种保存数据的方法,分别是: Shared Preferences Store private primitive data in key-value pairs. 对应属性的键值对属性文件存储 Internal Storage Store private data on the device memory. 设备内存存储 External Storage Store public data on the shared external storage. 外部存储器存储,如内

学习Android之SharedPreferences使用

效果图如下: 当我们想让自己的属性设置保存下来,这时就需要SharedPreferences. 上面这个小程序,音乐状态是保存下来的.使用的上一次退出的状态. 进入DDMS,data文件下的data文件中,找到自己的包名文件,双击打开,有shared_prefs文件,里面有xml文件,这就是配置文件. 本程序使用了android的上下键,同常我们的模拟器的方向键是不能用的,这是就需要我们打开它,在C盘下找到文件 .android,双击avd文件,找到你的模拟器的文件夹,双击打开,找到config

Android SharedPreferences存储

一 概念 SharedPreferences存储方式是Android中存储轻量级数据的一种方式.SharedPreferences存储主要用来存储一些简单的配置信息,内部以Map方式进行存储,因此需要使用键值对提交和保存数据,保存的数据以xml格式存放在本地的/data/data/<package name>/shares_prefs文件夹下. 二 特点 1,        使用简单,便于存储轻量级的数据: 2,        只支持Java基本数据类型,不支持自定义数据类型: 3,