博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android应用开发基础篇(9)-----SharedPreferences
阅读量:6209 次
发布时间:2019-06-21

本文共 3157 字,大约阅读时间需要 10 分钟。

一、概述

      对于SharedPreferences,我吧它理解为一种简单的数据库,它可以把数据像文件一样存放在系统里面,也可以读出来,但它存放的只是一些简单的数值对,如key-values的形式。如果某些应用需要在退出时保存一些简单的数据以便再次被打开时恢复所需的数据,那么就可以用SharedPreferences来实现。

二、要求

     编写一个简单的应用,要求该应用退出时能保存某些所需要的数据,当应用再次打开时恢复这些数据。

三、实现

     新建工程MyShared,修改/res/layout/main.xml文件,在里面添加一个EditText,两个Button和一个TextView,完整的main.xml文件如下:

1 
2
6 7
13 14
20 21
27 28
35 36

接着,修改MySharedActivity.java文件,主要定义了一个SharedPreferences对象和一个SharedPreferences.Editor对象,实现两个按钮的监听,完整的MySharedActivity.java文件如下:

 

1 package com.nan.shared;  2  3 import android.app.Activity;  4 import android.content.SharedPreferences;  5 import android.os.Bundle;  6 import android.view.View;  7 import android.widget.Button;  8 import android.widget.EditText;  9 import android.widget.TextView; 10 import android.widget.Toast; 11 12 public class MySharedActivity extends Activity 13 {
14 private EditText mEditText = null; 15 private Button writeButton = null; 16 private Button readButton = null; 17 private TextView mTextView = null; 18 19 private SharedPreferences mSharedPreferences = null; 20 private SharedPreferences.Editor mEditor = null; 21 22 /** Called when the activity is first created. */ 23 @Override 24 public void onCreate(Bundle savedInstanceState) 25 {
26 super.onCreate(savedInstanceState); 27 setContentView(R.layout.main); 28 29 mEditText = (EditText)this.findViewById(R.id.edittext); 30 writeButton = (Button)this.findViewById(R.id.wbutton); 31 readButton = (Button)this.findViewById(R.id.rbutton); 32 mTextView = (TextView)this.findViewById(R.id.textview); 33 34 mSharedPreferences = getSharedPreferences("myshare",MODE_PRIVATE); 35 mEditor = mSharedPreferences.edit(); 36 37 writeButton.setOnClickListener(new View.OnClickListener() 38 {
39 40 @Override 41 public void onClick(View v) 42 {
43 // TODO Auto-generated method stub 44 //获得EditText的内容 45 String text = mEditText.getText().toString(); 46 //修改 47 mEditor.putString("hehe", text); 48 //提交修改 49 mEditor.commit(); 50 displayToast("写入成功!"); 51 } 52 }); 53 54 readButton.setOnClickListener(new View.OnClickListener() 55 {
56 57 @Override 58 public void onClick(View v) 59 {
60 // TODO Auto-generated method stub 61 //获取所保存的数据 62 String text = mSharedPreferences.getString("hehe", null); 63 //把数据显示出来 64 mTextView.setText(text); 65 } 66 }); 67 68 } 69 //显示Toast函数 70 private void displayToast(String s) 71 {
72 Toast.makeText(MySharedActivity.this, s, Toast.LENGTH_SHORT).show(); 73 } 74 75 }

好了,运行它,如下:

 

接着输入一行数字,然后点击“写入”,如下:

 

退出应用,重新运行它并点击“读取”按钮,效果如下:

 

可以看到之前保存的数据被显示出来了。

OK,完成。

转载地址:http://dpzja.baihongyu.com/

你可能感兴趣的文章
bzoj 2296: 【POJ Challenge】随机种子
查看>>
MPU和MCU的区别和选择
查看>>
js call
查看>>
apply和call用法
查看>>
学习笔记之-------UIScrollView 基本用法 代理使用
查看>>
如何理解运维
查看>>
Dom学习笔记
查看>>
JAVA流程控制学习总结
查看>>
配置yum,nc,telnet
查看>>
nib和xib的区别
查看>>
== 和 is 的区别
查看>>
Apple Swift编程语言新手教程
查看>>
linux服务器加入windows域时报错Ticket expired
查看>>
2018年,牛客网小白月赛5
查看>>
sql 锁
查看>>
生死相依:说说JQuery中die()、live()详解[翻译]
查看>>
UML建模工具Visio 、Rational Rose、PowerDesign的比较
查看>>
压缩映象原理的一个应用
查看>>
一个疑难故障,坑了我半年青春-----知识就是生产力
查看>>
javascript控制页面(含iframe进行页面跳转)跳转、刷新的方法汇总
查看>>