Android应用开发基础篇(9)-----SharedPreferences
2012-02-27 19:55
316 查看
[b]一、概述[/b]
对于SharedPreferences,我吧它理解为一种简单的数据库,它可以把数据像文件一样存放在系统里面,也可以读出来,但它存放的只是一些简单的数值对,如key-values的形式。如果某些应用需要在退出时保存一些简单的数据以便再次被打开时恢复所需的数据,那么就可以用SharedPreferences来实现。
[b]二、要求[/b]
编写一个简单的应用,要求该应用退出时能保存某些所需要的数据,当应用再次打开时恢复这些数据。
[b]三、实现[/b]
新建工程MyShared,修改/res/layout/main.xml文件,在里面添加一个EditText,两个Button和一个TextView,完整的main.xml文件如下:
接着,修改MySharedActivity.java文件,主要定义了一个SharedPreferences对象和一个SharedPreferences.Editor对象,实现两个按钮的监听,完整的MySharedActivity.java文件如下:
好了,运行它,如下:
接着输入一行数字,然后点击“写入”,如下:
退出应用,重新运行它并点击“读取”按钮,效果如下:
可以看到之前保存的数据被显示出来了。
OK,完成。
对于SharedPreferences,我吧它理解为一种简单的数据库,它可以把数据像文件一样存放在系统里面,也可以读出来,但它存放的只是一些简单的数值对,如key-values的形式。如果某些应用需要在退出时保存一些简单的数据以便再次被打开时恢复所需的数据,那么就可以用SharedPreferences来实现。
[b]二、要求[/b]
编写一个简单的应用,要求该应用退出时能保存某些所需要的数据,当应用再次打开时恢复这些数据。
[b]三、实现[/b]
新建工程MyShared,修改/res/layout/main.xml文件,在里面添加一个EditText,两个Button和一个TextView,完整的main.xml文件如下:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <EditText android:id="@+id/edittext" android:layout_width="fill_parent" android:layout_height="wrap_content" android:hint="请输入内容" /> <Button android:id="@+id/wbutton" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="写入" /> <Button android:id="@+id/rbutton" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="读取" /> <TextView android:id="@+id/textview" android:layout_width="fill_parent" android:layout_height="wrap_content" android:gravity="center_horizontal" android:textSize="20dip" /> </LinearLayout>
接着,修改MySharedActivity.java文件,主要定义了一个SharedPreferences对象和一个SharedPreferences.Editor对象,实现两个按钮的监听,完整的MySharedActivity.java文件如下:
package com.nan.shared; import android.app.Activity; import android.content.SharedPreferences; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; import android.widget.Toast; public class MySharedActivity extends Activity { private EditText mEditText = null; private Button writeButton = null; private Button readButton = null; private TextView mTextView = null; private SharedPreferences mSharedPreferences = null; private SharedPreferences.Editor mEditor = null; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); mEditText = (EditText)this.findViewById(R.id.edittext); writeButton = (Button)this.findViewById(R.id.wbutton); readButton = (Button)this.findViewById(R.id.rbutton); mTextView = (TextView)this.findViewById(R.id.textview); mSharedPreferences = getSharedPreferences("myshare",MODE_PRIVATE); mEditor = mSharedPreferences.edit(); writeButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub //获得EditText的内容 String text = mEditText.getText().toString(); //修改 mEditor.putString("hehe", text); //提交修改 mEditor.commit(); displayToast("写入成功!"); } }); readButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub //获取所保存的数据 String text = mSharedPreferences.getString("hehe", null); //把数据显示出来 mTextView.setText(text); } }); } //显示Toast函数 private void displayToast(String s) { Toast.makeText(MySharedActivity.this, s, Toast.LENGTH_SHORT).show(); } }
好了,运行它,如下:
接着输入一行数字,然后点击“写入”,如下:
退出应用,重新运行它并点击“读取”按钮,效果如下:
可以看到之前保存的数据被显示出来了。
OK,完成。
相关文章推荐
- android应用基础开发
- Android应用开发基础篇(7)-----BroadcastReceiver
- Android应用开发基础篇(12)-----Socket通信
- 【Android开发基础】应用界面主题Theme使用方法
- Android应用开发基础之五:网络编程(二)
- Android应用开发基础篇(8)-----SurfaceView
- 【Android 应用开发】 ActionBar 基础
- 【Android开发基础】应用界面主题Theme使用方法
- Android应用开发基础篇(5)-----Handler与多线程
- 【Android开发基础】应用界面主题Theme使用方法
- Android基础(1)--Android应用与开发环境
- 基础Android应用开发 Button显示系统时间+TextView显示随机数+简单计算器
- Android应用开发基础之十:多媒体编程
- Android应用开发基础篇(14)-----自定义标题栏
- Android应用开发基础篇(5)-----Handler与多线程
- Android应用开发基础篇(15)-----URL(获取指定网址里的图片)
- Android应用开发基础之四:网络编程(一)
- Android应用开发基础篇(2)-----Notification(状态栏通知)
- Android平台下传感器应用的开发--基础知识
- Android应用开发基础之七:广播与服务(一)