- 浏览: 240454 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
xchd:
分别在什么时候(情况下)用ThreadFactory、Exec ...
Executor线程池实例 -
mikey_5:
是不是没有写完啊
Executor线程池实例 -
xinyao:
楼主,你好,请问能给我发个源码吗,我要在一个页面能实时看到下载 ...
Android学习系列(19)--App离线下载 -
sdtzkj:
...
jasperReport 帮助文档 api -
shero_ys:
public class VrowsePicActivity ...
android handler 实现三步曲
轻轻地我保护--SharedPreferences存储(1)
首先介绍的是SharedPreferences,它是Android提供用来存储一些简单的配置信息的一种机制,例如,一些默认欢迎语、登录的用户名和密码等。其以键值对的方式存储,使得我们可以很方便的读取和存入,下面看一个演示的例子。
1.第一步
在Eclipse中打开ex_SharedPreferences 项目,其步骤如下所示。
(1)新建一个项目。依次单击File→New→Android Project项。
(2)在新建项目的对话框中,选择Create project from existing source项。
(3)单击浏览,找到ex_SharedPreferences项目,然后单击确定。
其程序的目录结构如图8-1所示。
2.第二步
单击运行项目,可以看到主界面如图8-2所示,这个界面的布局信息都在main.xml文件当中,在一个LinearLayout当中放了3个TextView和两个EditView组件,代码如下所示:
(点击查看大图)图8-1 程序目录结构 |
(点击查看大图)图8-2 主界面 |
- <?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:layout_width="fill_parent"
- Android:layout_height="wrap_content"
- Android:text="SharedPreferences demo"
- />
- <TextView Android:layout_width="fill_parent"
- Android:layout_height="wrap_content"
- Android:text="Name:" />
- <EditText Android:id="@+id/name"
- Android:layout_width="fill_parent"
- Android:layout_height="wrap_content"
- Android:text="" />
- <TextView Android:layout_width="fill_parent"
- Android:layout_height="wrap_content"
- Android:text="Password:" />
- <EditText Android:id="@+id/password"
- Android:layout_width="fill_parent"
- Android:layout_height="wrap_content"
- Android:password="true"
- Android:text="" />
- </LinearLayout>
8.2 轻轻地我保护--SharedPreferences存储(2)
代码解释:
如上代码表示,使用LinearLayout布局,其中放置3个用来做界面提示的文本框(TextView)组件和两个用于输入Name和Password(注意这里使用了Android:password="true")的编辑框(EditText)组件,运行这个应用,可以看到其界面如图8-2所示。
在图8-2中,我们可以看到,初始状态下两个EditView都是空的,现在输入一些字符,如图8-3所示。
如图8-3所示,我们在Name文本框中输入IceskYsl,在Password文本框中输入Password,然后退出这个应用。我们在应用程序列表中找到这个应用,重新启动,可以看到其使用了前面输入的Name和Password,如图8-4所示。
(点击查看大图)图8-3 输入Name和Password |
(点击查看大图)图8-4 重新启动应用 |
- 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 = getShared Preferences(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();
- } //将用户名和密码保存进去
- }
8.2 轻轻地我保护--SharedPreferences存储(3)
代码解释:
通过上述代码可以看到,在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所示。
(点击查看大图)图8-5 SharedPreferences文件 |
- <?xml version='1.0' encoding='utf-8' standalone='yes' ?>
- <map>
- <string name="PASSWORD">Password</string>
- <string name="NAME">IceskYsl</string>
- </map>
小知识 我们可以通过「getXXX」函数,从 SharedPreferences中读取不同类型的内容,例如,上面我们使用[getString]读取String类型的内容。
注意 Preferences只能在同一个包内使用,不能在不同的包之间使用。
发表评论
-
Android学习系列(19)--App离线下载
2011-08-13 11:40 1426Android学习系列(19)--App离线下载 ... -
Android学习系列(20)-App数据格式之解析Json
2011-08-13 11:28 1639JSON数据格式,在Android中被广泛运用于客户端和网络( ... -
Android学习系列(1)--为App签名(为apk签名)
2011-08-13 11:20 1693写博客是一种快乐,前提是你有所写,与人分享,是另一种快乐, ... -
Android学习系列(4)--App自适应draw9patch不失真背景
2011-08-13 11:16 2230做人要大度,海纳百川,做事要圆滑,左右逢源,这让我想到了编程也 ... -
Android自定义View之一:初探实例 .
2011-08-13 11:09 1496Android自定义View实现很简单 继承View,重写构 ... -
Android多媒体学:播放网络上的视频 .
2011-08-13 11:05 2073Android支持播放网络上的视频。在播放网络上的视频时,牵涉 ... -
Android多媒体学:利用AudioRecord类实现自己的音频录制程序 .
2011-08-13 11:02 5901AudioRecord类相对于MediaRecorder来说, ... -
Android多媒体:实现图像的编辑和合成 .
2011-08-13 10:59 2200package demo.camera; import ja ... -
自动完成框
2011-05-03 13:44 761请下载源码 -
读取sd卡照片
2011-05-03 13:43 1315请下载源码 -
UC菜单栏布局
2011-05-03 13:41 1131请下载附件 -
Executor线程池实例
2011-04-06 17:42 6709Executor 是 java5 下的一个 ... -
android handler 实现三步曲
2011-04-06 16:59 1443一. 要实现接口: public class VrowseP ... -
android 横竖屏切换
2011-03-25 14:33 1940①不理会。。②只竖屏 ... -
android 分辨率调试
2011-03-25 13:36 1874一:不同的layout Android ... -
android 图片内存溢出
2011-03-21 18:24 3106我的代码如下 is = new FileI ... -
android Exid 不可修改
2011-03-21 13:47 1268Android:只读EditText内容可滚动(禁止输入法)的 ... -
android 对话提示框大全
2011-03-21 12:34 3214Android 对话框(Dialog)大全 建立你自己的对话框 ... -
Android消息提示框和对话框
2011-03-21 12:29 1368在某些情况下需要向用户弹出提示消息,如显示错误信息,收到短消息 ... -
android tab 用法
2011-03-11 15:10 1776TabHost广泛运用于android程序中,在程序中运用Ta ...
相关推荐
SharedPreferences是Android提供的一种简单的数据存储机制,它可以保存基本类型的数据,如布尔值、整型、浮点型、字符串以及字符串集合。这些数据会被保存在XML文件中,并在系统中全局可访问。SharedPreferences支持...
SharedPreferences是Android提供的一种轻量级的数据存储机制,用于存储一些小规模、非结构化的数据,如布尔值、整数、浮点数、字符串等。这些数据以XML文件的形式存储在设备的内部存储空间中,通常位于 `/data/data/...
SharedPreferences是Android系统中一个轻量级的数据存储机制,主要用于存储应用程序中的简单配置数据,如布尔值、整型、浮点型、字符串等基本类型及其数组。这个机制允许开发者以键值对的形式保存数据,并在应用的...
嵌入式Android项目设计与开发 第六章 数据存储 ——SharedPreferences 1 SharedPreferences 键值对概念: 某一个数据都由一个键和一个值构成,键代表数据的名称,它是全局唯一的。具体的数据内容存放在值中。 键值对...
嵌入式Android项目设计与开发 第六章 数据存储 ——SharedPreferences 2 SharedPreferences 键值对概念: 某一个数据都由一个键和一个值构成,键代表数据的名称,它是全局唯一的。具体的数据内容存放在值中。 键值对...
在Android应用开发中,数据存储是至关重要的一个环节,它涉及到应用程序如何持久化地保存用户数据、设置和其他信息。本文将深入探讨三种主要的数据存储方式:SharedPreferences、File和SQLite数据库,以及它们在实际...
Android项目开发中使用的数据存储方式有:网络存储、sqlite存储、File存储和SharedPreferences存储,四种存储方式对应的Demo别人是NetworkDemo、SqliteDemo、FileDemo和SharedPreferencesDemo,根据应用的场景选择...
本资料包“安卓Android源码——安卓Android学习——数据存储.zip”(实际应为rar文件)包含了关于安卓数据存储的学习资源,旨在帮助开发者深入理解这一核心概念。 1. **Shared Preferences** Shared Preferences是...
本项目“Android25闹钟项目”利用ArrayAdapter来动态添加、显示和删除数据,并通过SharedPreferences进行持久化存储。下面将详细介绍ArrayAdapter的使用以及SharedPreferences的数据存取。 首先,ArrayAdapter是...
4. **数据管理**:数据存储可能是通过SQLite数据库或者SharedPreferences实现,用于本地存储用户的选择或其它配置信息。另外,数据可能也来源于网络,因此会涉及JSON解析库,如Gson或Jackson,用于解析服务器返回的...
(1)简单存储——SharedPreferences (2)文件存储: 内部存储——应用程序私有文件 外部存储——SD卡 资源文件——只读( RAW 、XML) (3)数据库存储——SQLiteDataBase 今天我们讲讲在android studio中利用...
(1)简单存储——SharedPreferences (2)文件存储:内部存储——应用程序私有文件外部存储——SD卡资源文件——只读( RAW 、XML) (3)数据库存储——SQLiteDataBase 今天我们讲讲在android studio中利用数据库...
本例中使用的是SharedPreferences,它是Android提供的轻量级存储方案,适合存储键值对类型的小型数据。 二、SharedPreferences缓存 SharedPreferences是Android系统提供的一个接口,用于存储简单的键值对数据,通常...
在Android应用开发中,SharedPreferences是Android提供的一种轻量级的数据存储方式,主要用于存储一些简单的配置信息,如用户设置、应用状态等。它采用键值对的形式进行存储,并且支持多种数据类型,包括字符串、...
这份“安卓Android源码——学习之数据存储.zip”压缩包很可能是针对Android系统中数据存储方式的源代码分析和教程。在这里,我们将深入探讨Android中的几种主要数据存储方式。 1. **Shared Preferences**: Shared...
本资料包"安卓Android源码——数据的储存与读取.zip"可能包含了一些关于如何在Android平台上存储和检索数据的示例代码和讲解,这将帮助开发者更好地理解这一核心概念。 在Android中,有多种数据存储方式,每种都有...
第8章 移动信息仓库——Android的数据存储操作之轻轻地我保护——SharedPreferences存储-1 第8章 移动信息仓库——Android的数据存储操作之轻轻地我保护——SharedPreferences存储-2 第9章 我来“广播”你的“意图”...
9. **存储与持久化**:游戏状态和用户数据通常需要在本地存储,源码可能使用SharedPreferences、SQLite数据库或文件系统来实现。 10. **性能优化**:为了保证游戏的流畅性,开发者会进行性能优化,例如减少不必要的...
总之,"Android课程设计——背单词软件"涵盖了Android开发的多个核心方面,包括UI设计、数据存储、用户交互、通知系统、测试以及发布流程。这是一个全面的实践项目,对于理解Android应用开发的全貌具有很高的学习...
1. 数据存储机制:Android提供了多种数据存储方式,如SQLite数据库、SharedPreferences、内部/外部存储、ContentProvider等。这些机制各有优缺点,适用于不同场景的数据存储需求。 2. SQLite:Android内置了SQLite...