首先介绍的是SharedPreferences,它是Android提供用来存储一些简单的配置信息的一种机制,例如,一些默认欢迎语、登录的用户名和密码等。其以键值对的方式存储,使得我们可以很方便的读取和存入,下面看一个演示的例子。

引用 package us.imnet.iceskysl.db;

import Android.app.Activity;

import Android.content.SharedPreferences;

import Android.os.Bundle;

import Android.widget.EditText;

public class DBSharedPreferences extends Activity {

public static final String SETTING_INFOS = "SETTING_Infos";

public static final String NAME = "NAME";

public static final String PASSWORD = "PASSWORD";

private EditText field_name; //接收用户名的组件

private EditText filed_pass; //接收密码的组件

/** Called when the activity is first created. */

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

//Find VIew

field_name = (EditText) findViewById(R.id.name); //首先获取用来输入用户名的组件

filed_pass = (EditText) findViewById(R.id.password); //同时也需要获取输入密码的组件

// Restore preferences

SharedPreferences settings = getSharedPreferences(SETTING_INFOS, 0); //获取一个SharedPreferences对象

String name = settings.getString(NAME, ""); //取出保存的NAME

String password = settings.getString(PASSWORD, ""); //取出保存的PASSWORD

//Set value

field_name.setText(name); //将取出来的用户名赋予field_name

filed_pass.setText(password); //将取出来的密码赋予filed_pass

}



@Override

protected void onStop(){

super.onStop();

SharedPreferences settings = getSharedPreferences(SETTING_INFOS, 0); //首先获取一个SharedPreferences对象

settings.edit()

.putString(NAME, field_name.getText().toString())

.putString(PASSWORD, filed_pass.getText().toString())

.commit();

} //将用户名和密码保存进去

}



通过上述代码可以看到,在onCreate中使用 findViewById得到两个EditView后,使用getSharedPreferences取得SharedPreferences对象 settings,然后使用getString取得其中保存的值,最后使用setText将其值设置为两个EditText的值。

而在程序运行onStop过程,也就是在程序退出时,首先使用getSharedPreferences得到settings;然后调用edit()方法使其处于可以编辑状态,并使用putString 将两个EditText中的值保存起来;最后使用commit()方法提交即可保存。

引用 SharedPreferences保存到哪里去了?

SharedPreferences是以XML的格式以文件的方式自动保存的,在DDMS中的File Explorer中展开到/data/data/<package name>/shared_prefs下,以上面这个为例,可以看到一个叫做SETTING_Infos.xml的文件,如图8-5所示




转自:http://ajava.org/readbook/J2ME/androidkfysz/17348.html

更多相关文章

  1. android调用系统相机拍照保存照片并显示在当前界面
  2. 引用JNI版本----MediaMetadataRetriever获取视频缩略图(真机4.0测
  3. 自己处理Webview时出现的问题的汇总
  4. Android中怎样取本机的手机号码
  5. 疯狂Android讲义--- 一些有手写识别意思的小玩意儿
  6. Android解决获取控件Width和Height为0的问题
  7. Android(安卓)native绘图
  8. Java乔晓松-android中调用系统拍照功能并显示拍照的图片
  9. android中获取电池当前电量

随机推荐

  1. [置顶] android系统功能调用大全
  2. Android(安卓)如何实现竖排文字显示?
  3. Running GPS positioning in a backgroun
  4. android 测试Activity,Content Provider,
  5. [android]gsm smsmessage 类部分详解
  6. Android(安卓)Menu菜单的编写及事件响应
  7. android retrofit2 如何多文件上传
  8. android中读取assets中的文件
  9. 通过adb shell命令查看当前与用户交互的
  10. Android(安卓)布局学习