Android数据存储之SharedPreferences
来源:互联网 发布:淘宝登录界面无法打开 编辑:程序博客网 时间:2024/05/26 09:55
SharedPreferences是ANDROID系统中轻量级别的键值存储机制,只是存储基本数据类型。如下是它的基本使用方法:
AndroidManifest.xml文件如下:
<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" package="pack.mySharedPreferences" android:versionCode="1" android:versionName="1.0"> <application android:icon="@drawable/icon" android:label="@string/app_name"> <activity android:name=".mySharedPreferences" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application></manifest>
main.xml文件如下:
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" ><TextView android:text="请输入用户名:" android:id="@+id/TextView01" android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView> <EditText android:text="@+id/EditText01" android:id="@+id/EditText01" android:maxLines = "1"android:width = "100px"android:layout_width="wrap_content" android:layout_height="wrap_content"></EditText><TextView android:text="请输入密码" android:id="@+id/TextView02" android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView><EditText android:text="@+id/EditText02" android:id="@+id/EditText02" android:maxLines = "1"android:width = "100px"android:layout_width="wrap_content" android:layout_height="wrap_content"></EditText></LinearLayout>
mySharedPreferences.java文件内容如下:
package pack.mySharedPreferences;import android.app.Activity;import android.content.Context;import android.content.SharedPreferences;import android.os.Bundle;import android.view.KeyEvent;import android.widget.EditText;import android.widget.TextView;import android.widget.TextView.OnEditorActionListener;public class mySharedPreferences extends Activity {//定义各个元素对象EditText username;EditText password;//定义要保存SharedPreferences的标示String PREFS_NAME = "pack.mySharedPreferences.username"; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); //元素绑定 username = (EditText)findViewById(R.id.EditText01); password = (EditText)findViewById(R.id.EditText02); //取得保存的用户名称,如果没有,就设为空 username.setText(getUserName()); password.setText(""); username.setOnEditorActionListener(new OnEditorActionListener(){public boolean onEditorAction(TextView arg0, int arg1, KeyEvent arg2) {// TODO Auto-generated method stub//保存现在的用户名,下次使用时可读取saveUserName(username.getText().toString());username.setText(username.getText().toString());return false;} }); } private String getUserName() { //定义一个只允许自有程序访问的SharedPreferences SharedPreferences settings = getSharedPreferences(PREFS_NAME,Context.MODE_PRIVATE); //获得一个键值为username的值,若Preference中不存在,则就用后面的值作为返回值 String username = settings.getString("username","");return username; } private void saveUserName(String name) { //定义一个只允许自有程序访问的SharedPreferences SharedPreferences settings = getSharedPreferences(PREFS_NAME,Context.MODE_PRIVATE); //生成一个保存编辑对象 SharedPreferences.Editor editor = settings.edit(); //添加要保存的键值和其它对应的值 editor.putString("username",name); //提交保存 editor.commit(); }}
结果界面如下:
在DDMS里面的DATA目录下有如下的保存文件,其值是以XML文件格式保存,如目录格式如下图所示:
- Android数据存储之SharedPreferences
- Android数据存储之SharedPreferences
- Android--数据存储之SharedPreferences
- android数据存储之SharedPreferences
- Android之数据存储SharedPreferences
- Android数据存储之SharedPreferences
- android数据存储之--------- SharedPreferences
- Android数据存储之SharedPreferences
- Android数据存储之SharedPreferences
- android数据存储之SharedPreferences
- Android数据存储之SharedPreferences
- Android数据存储之SharedPreferences
- Android----数据存储之SharedPreferences
- Android数据存储之SharedPreferences
- Android数据存储之SharedPreferences
- Android之SharedPreferences数据存储
- Android数据存储之SharedPreferences
- Android数据存储之SharedPreferences
- 输出流效率测试
- Android警告错误搜集
- PHP学习-----文件操作/上传和下载
- 打造心中的暗黑传奇1
- iOS编译错误
- Android数据存储之SharedPreferences
- Java程序员成长之路
- soj 2302. Queue Implementation Using a Circular Array
- 设计模式之工厂方法模式
- XShell 技巧分享
- iframe的父类 子类相互调用
- VMware虚拟机上网络连接(network type)的三种模式--bridged、host-only、NAT
- Python3与Python2中print的用法改变与Class获取属性学习
- monster campaign