zoukankan      html  css  js  c++  java
  • Android的移动存储解决方案之SharedPreferences 狼人:

      搞Android有一段时间了,但是并没写过有关Android的博客,今天给大家介绍一下SharedPreferences。

        使用SharedPreferences保存key-value对的步骤如下:

      (1)使用Activity类的getSharedPreferences方法获得SharedPreferences对象,其中存储key-value的文件的名称由getSharedPreferences方法的第一个参数指定。

      (2)使用SharedPreferences接口的edit获得SharedPreferences.Editor对象。

      (3)通过SharedPreferences.Editor接口的putXxx方法保存key-value对。其中Xxx表示不同的数据类型。例如:字符串类型的value需要用putString方法。

      (4)通过SharedPreferences.Editor接口的commit方法保存key-value对。commit方法相当于数据库事务中的提交(commit)操作。

      具体的存入和获取操作,我已经把代码贴出来了,你们可以看一下。

    1 package org.sharedPreferences.test;
    2
    3 import android.app.Activity;
    4 import android.content.SharedPreferences;
    5 import android.os.Bundle;
    6 import android.widget.EditText;
    7 import android.widget.RadioGroup;
    8
    9  public class ShaPreTestActivity extends Activity{
    10 /** Called when the activity is first created. */
    11 private final String PREFERENCES_NAME="survey";
    12 private EditText etName;
    13 private EditText etAge;
    14 private RadioGroup sex;
    15
    16 @Override
    17 public void onCreate(Bundle savedInstanceState) {
    18 super.onCreate(savedInstanceState);
    19 setContentView(R.layout.main);
    20 etName = (EditText)findViewById(R.id.name);
    21 etAge = (EditText)findViewById(R.id.age);
    22 sex = (RadioGroup)findViewById(R.id.sex);
    23
    24 SharedPreferences preferences = getSharedPreferences(PREFERENCES_NAME, Activity.MODE_PRIVATE);
    25 etName.setText(preferences.getString("name", ""));
    26 etAge.setText(preferences.getString("age", ""));
    27 sex.check(preferences.getInt("sex", -1));
    28 }
    29
    30 @Override
    31 protected void onStop() {
    32 //获得SharedPreferences对象
    33 SharedPreferences MyPreferences = getSharedPreferences(PREFERENCES_NAME, Activity.MODE_PRIVATE);
    34 //获得SharedPreferences.Editor对象
    35 SharedPreferences.Editor editor = MyPreferences.edit();
    36 //保存组件中的值
    37 editor.putString("name", etName.getText().toString());
    38 editor.putString("age", etAge.getText().toString());
    39 editor.putInt("sex", sex.getCheckedRadioButtonId());
    40 //提交保存的结果
    41 editor.commit();
    42 super.onStop();
    43 }
    44 }

      代码写好后,你运行程序,你会发现,你输入完退出后,当你再次进入该程序的时候,你就会发现,你上次写的东东还在上面,而且是一模一样。

      并且你会在data目录下找到一个名字叫survey.xml文件:

      然后把它导出来,打开之后的格式以及内容如下所示:

    1 <?xml version='1.0' encoding='utf-8' standalone='yes' ?>
    2 <map>
    3 <int name="sex" value="2131034115" />
    4 <string name="name">name</string>
    5 <string name="age">10</string>
    6 </map>
    7

      从上面的内容可以看出,它是把那些字段都保存到了xml文件中,当你开启这个应用的时候,它会自动的去data下面找到相应的xml并且把相应的数据显示出来。

      这是我做的有关SharedPreferences例子,后面我还会介绍一些有关数据库的例子,希望大家继续关注。(本来我是想上传例子的,但是找了半天也没找到,你们如果谁知道,请告我一声,谢谢!)

  • 相关阅读:
    ASP.NET MVC4.0+EF+LINQ+bui+bootstrap+网站+角色权限管理系统(2)
    ASP.NET MVC4.0+EF+LINQ+bui+bootstrap+网站+角色权限管理系统(1)
    ASP.NET MVC4.0+EF+LINQ+bui+bootstrap+网站+角色权限管理系统(开篇)
    时间文本框,入职时间,工龄的换算
    javascript中this的用法
    web的Tomcat8部署文档
    rabbitMQ集群安装部署
    Python实现统计Jenkins multibranch发布的分支及时间等 页面 … 部署文档 跳到banner的尾部 回到标题开始 转至元数据结尾
    centos 7 DNS部署
    MongoDB3.X参数文件
  • 原文地址:https://www.cnblogs.com/waw/p/2156640.html
Copyright © 2011-2022 走看看