zoukankan      html  css  js  c++  java
  • Android应用开发基础篇(9)-----SharedPreferences

    链接地址:http://www.cnblogs.com/lknlfy/archive/2012/02/27/2370319.html

    一、概述

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

    二、要求

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

    三、实现

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

    复制代码
     1 <?xml version="1.0" encoding="utf-8"?>
    2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    3 android:layout_width="fill_parent"
    4 android:layout_height="fill_parent"
    5 android:orientation="vertical" >
    6
    7 <EditText
    8 android:id="@+id/edittext"
    9 android:layout_width="fill_parent"
    10 android:layout_height="wrap_content"
    11 android:hint="请输入内容"
    12 />
    13
    14 <Button
    15 android:id="@+id/wbutton"
    16 android:layout_width="fill_parent"
    17 android:layout_height="wrap_content"
    18 android:text="写入"
    19 />
    20
    21 <Button
    22 android:id="@+id/rbutton"
    23 android:layout_width="fill_parent"
    24 android:layout_height="wrap_content"
    25 android:text="读取"
    26 />
    27
    28 <TextView
    29 android:id="@+id/textview"
    30 android:layout_width="fill_parent"
    31 android:layout_height="wrap_content"
    32 android:gravity="center_horizontal"
    33 android:textSize="20dip"
    34 />
    35
    36 </LinearLayout>
    复制代码

    接着,修改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,完成。

    如果一件事情你觉得难的完不成,你可以把它分为若干步,并不断寻找合适的方法。最后你发现你会是个超人。不要给自己找麻烦,但遇到麻烦绝不怕,更不要退缩。 电工查找电路不通点的最快方法是:分段诊断排除,快速定位。你有什么启示吗? 求知若饥,虚心若愚。 当你对一个事情掌控不足的时候,你需要做的就是“梳理”,并制定相应的规章制度,并使资源各司其职。
  • 相关阅读:
    java DES转C#DES加密解密
    PIE SDK影像格式转换
    PIE SDK位深转换
    PIE SDK存储格式转换
    PIE SDK栅格生成等值线、面
    PIE SDK反距离权重插值算法
    PIE SDK克里金插值法
    PIE SDK热力图
    PIE SDK Alpha通道数据渲染
    PIE SDK 多数据源的复合数据集加载
  • 原文地址:https://www.cnblogs.com/wvqusrtg/p/5179036.html
Copyright © 2011-2022 走看看