- 浏览: 7249328 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (1546)
- 企业中间件 (236)
- 企业应用面临的问题 (236)
- 小布Oracle学习笔记汇总 (36)
- Spring 开发应用 (54)
- IBatis开发应用 (16)
- Oracle基础学习 (23)
- struts2.0 (41)
- JVM&ClassLoader&GC (16)
- JQuery的开发应用 (17)
- WebService的开发应用 (21)
- Java&Socket (44)
- 开源组件的应用 (254)
- 常用Javascript的开发应用 (28)
- J2EE开发技术指南 (163)
- EJB3开发应用 (11)
- GIS&Mobile&MAP (36)
- SWT-GEF-RCP (52)
- 算法&数据结构 (6)
- Apache开源组件研究 (62)
- Hibernate 学习应用 (57)
- java并发编程 (59)
- MySQL&Mongodb&MS/SQL (15)
- Oracle数据库实验室 (55)
- 搜索引擎的开发应用 (34)
- 软件工程师笔试经典 (14)
- 其他杂项 (10)
- AndroidPn& MQTT&C2DM&推技术 (29)
- ActiveMQ学习和研究 (38)
- Google技术应用开发和API分析 (11)
- flex的学习总结 (59)
- 项目中一点总结 (20)
- java疑惑 java面向对象编程 (28)
- Android 开发学习 (133)
- linux和UNIX的总结 (37)
- Titanium学习总结 (20)
- JQueryMobile学习总结 (34)
- Phonegap学习总结 (32)
- HTML5学习总结 (41)
- JeeCMS研究和理解分析 (9)
最新评论
-
lgh1992314:
[u][i][b][flash=200,200][url][i ...
看看mybatis 源代码 -
尼古拉斯.fwp:
图片根本就不出来好吧。。。。。。
Android文件图片上传的详细讲解(一)HTTP multipart/form-data 上传报文格式实现手机端上传 -
ln94223:
第一个应该用排它网关吧 怎么是并行网关, 并行网关是所有exe ...
工作流Activiti的学习总结(八)Activiti自动执行的应用 -
ZY199266:
获取不到任何消息信息,请问这是什么原因呢?
ActiveMQ 通过JMX监控Connection,Queue,Topic的信息 -
xiaoyao霄:
DestinationSourceMonitor 报错 应该导 ...
ActiveMQ 通过JMX监控Connection,Queue,Topic的信息
任何一个应用程序都要依赖数据存储,而且这种存储必须不丢失数据,并且有效、简便使用和更新这些数据。在 Android 操作系统中一共提供了4种数据存储方式,但是由于存储的这些数据都是私有的,所以如果需要共享其他应用程序的数据,就需要我们上篇文章说到的 Content Provider。4种数据存储方式分别为如下:
- 1、Shared Preferences。
用来存储 “键-值”格式的数据。 - 2、Files。
通过FileInputStream和FileOutputStream对文件进行操作。 - 3、SQLite。
标准数据库,支持SQL语句。 - NetWork。
通过网络存储和获取数据。
本篇中主要讲述4种之一的Shared Preferences,因为在前几篇己经有SQLite的用法做了简单介绍,所以在以下的几篇将会跳过SQLite的讲解。下面开始讲述Shared Preferences。主要内容如下:
- 1、Shared Preferences 是什么?
- 2、如何使用 Shared Preferences 获得数据?
- 3、如何使用 Shared Preferences 保存数据?
- 3.1、使用getPreferences方法创建文件的模式。
- 4、模拟用户参数设置。
- 5、查看 Preferences 产生的文件。
1、Shared Preferences 是什么?
Shared Preferences 类似于winform中做一些小型配置的ini文件,用来保存一些用户设置的参数。例如,可以通过它保存上一次用户所做的修改或者自定义参数设定,当再次启动程序后依然保持原有设置。
2、如何使用 Shared Preferences 保存数据?
Shared Preferences提供了getPreferences方法来获得Preferences对象,取得该对象了,即可以使用Editor取得编辑对象
3、如何使用 Shared Preferences 保存数据?
上文获得Editor对象之后即可通过 Android 提供的各自操作函数进行数据提交,如:putBoolean()提交一个键值 为bool值的数据,最后通过commit方法保存这些数据。
3.1、使用getPreferences方法创建文件的模式
在 Android系统提供的API中, 获取 Preferences对象有四种类型,分别如下:
- 文件创建模式:Activity.MODE_APPEND
如果该文件已经存在,然后将数据写入,而不是抹掉它现有文件的末尾。
- 文件创建模式:MODE_PRIVATE
默认模式,在那里创建的文件只能由应用程序调用,即为私有的
- 文件创建模式:Activity.MODE_WORLD_READABLE
允许所有其他应用程序有读取和创建文件的权限。
- 文件创建模式:Activity.MODE_WORLD_WRITEABLE
允许所有其他应用程序具有写入、访问和创建的文件权限。
本例中使用到了私有的文件创建模式,来获取Preferences对象。
在Android中可能需要将数据保存在本地的手机上面的文件中可以采用两种方式:
1.采用Java IO方式写文件实现:
/** * 从文件中读取数据,这是很简单的java应用,IO操作 * @return */ private String read() { try { //打开文件输入流 FileInputStream fis = openFileInput(FILE_NAME); byte[] buffer = new byte[1024]; int hasRead = 0; StringBuffer sb = new StringBuffer(); while((hasRead = fis.read(buffer)) > 0){ sb.append(new String(buffer, 0, hasRead)); } return sb.toString(); } catch (Exception e) { e.printStackTrace(); } return null; } /** * 将数据写入文件,也是很简单的IO操作 * @param string */ private void write(String string) { try { //以覆盖方式打开文件输出流 FileOutputStream fos = openFileOutput(FILE_NAME, 0); //将FileOutputStream包装成PrintStream PrintStream ps = new PrintStream(fos); //输出文件内容 ps.println(string); ps.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } }
2.采用SharedPreferences的方式实现
@Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.shared_preferences); //获取只能被本程序读,写的SharedPreferences对象 preferences = getSharedPreferences("shared", 0); //获取SharedPreferences的edit对象 edit = preferences.edit(); str = "悟空杀死了" + count + "只妖怪."; text = (TextView)findViewById(R.id.textView1); text.setText(str); edit_text = (EditText)findViewById(R.id.editText1); edit_text.setText(String.valueOf(count)); add = (Button)findViewById(R.id.addOne); add.setOnClickListener(this); read_edit = (Button)findViewById(R.id.read_edit); read_edit.setOnClickListener(this); save = (Button)findViewById(R.id.save); save.setOnClickListener(this); read = (Button)findViewById(R.id.read); read.setOnClickListener(this); clear = (Button)findViewById(R.id.clear); clear.setOnClickListener(this); } //按钮事件监听 @Override public void onClick(View v) { switch(v.getId()){ //悟空又打死了一个妖怪按钮事件 case R.id.addOne: //妖怪数量加1 count++; //刷新TextView和EditText控件中的值 refresh(); break; //读取Edit中的数据按钮事件 case R.id.read_edit: //取出存在SharedPreferences中的值 count =Integer.parseInt(edit_text.getText().toString()); refresh(); break; case R.id.save: //将悟空打死妖怪的数量存入SharedPreferences中 edit.putString("number", String.valueOf(count)); edit.commit(); break; case R.id.read: //从SharedPreferences中取出悟空打死妖怪的数量 count =Integer.valueOf(preferences.getString("number", "0")); refresh(); break; case R.id.clear: //清除SharedPreferences中所有的数据 edit.clear(); edit.commit(); count = 0; refresh(); break; } }
发表评论
-
[转]年度最实用50款免费Android应用推荐
2012-11-08 16:39 3258据国外媒体报道,有人说Android应用市场比iPhone应用 ... -
GIS的学习(四十五)【转】Integration of the MBTiles format on Android
2012-10-22 17:13 2876转载自 http:/ ... -
GIS的学习(四十四)osmdroid sdcard检查
2012-10-15 16:12 2274在许多应用中使用到sdcard的检查,在osmdro ... -
GIS的学习(四十三)osmdroid基于几个经典代理类
2012-10-15 16:06 2558在osmdroid中给基于位置的代理类如下: pack ... -
Android中PopupWindow的用法(位置、动画、焦点)
2012-10-12 14:12 11421在Android中有很多级别的Window,不同级别的Wind ... -
【转】Android根据分辨率进行单位转换-(dp,sp转像素px)
2012-10-11 09:18 27061Android系统中,默认的单位是像素(px)。也就是说,在没 ... -
GIS的学习(二十九)Osmdroid 离线地图存放位置的研究和详细分析
2012-09-23 11:49 11349在手机通过osmdroid调用离线地图必须放在 ... -
GIS的学习(二十八)Osmdroid相关的开源项目
2012-09-23 11:31 25174osm 数据格式(openstreet map)与Ro ... -
GIS的学习(二十七)通过geoserver的georss访问第三方地图
2012-09-23 00:34 3520在geoserver中如果想调用第三方地图可以采 ... -
android中使用 定时更新界面定时器Timer的使用
2012-09-22 22:09 25428handler的使用 一、Handler的定义: ... -
【转】Android应用程序的自动更新升级(自身升级、通过tomcat) .
2012-09-16 15:03 7268http://blog.csdn.net/mu0206mu/a ... -
GIS的学习(二十七)OGC 的WCS WFS 及WMS 服务
2012-09-11 22:22 12013http://www.gisall.com/?6678/v ... -
GIS的学习(二十六)geotools 使用 部分代码总结
2012-09-11 22:20 5610前段时间的一个项目 本来用ae完成了种种的 查询,空间分析等等 ... -
GIS的学习(二十五)geoserver wms中的各种操作API详细讲解和使用
2012-09-10 17:42 9600官方geoserver中WMS服务中几种操作的API的详细说明 ... -
GIS的学习(二十四)android异步调用geoserver wms中的地图
2012-09-10 17:38 8036在geoserver的客户端通过wms的GetMap实现 ... -
GIS的学习(二十三)geoserver中CQL和ECQL的使用
2012-09-10 16:29 6486以下引用自官方文档: CQL and ECQL¶ CQ ... -
GIS的学习(二十二)osmdroid中添加縮放控件
2012-09-06 23:09 2738package com.geoserver.osmdroid; ... -
GIS的学习(二十一)在osmdroid 地图中添加marker 并添加事件
2012-09-06 22:27 6429我有 osmdroid,overlayswithf ... -
GIS的学习(二十)基于Geoserver的WFS服务与Openlayers实现地理查询
2012-08-30 18:48 11293基于Geoserver发布的wfs服务,与Openlayers ... -
GIS的学习(十九)Geoserver使用添加,删除,查询地图中的POI
2012-08-30 17:28 10197在geoserver自定义的地图中通过geoserver ...
相关推荐
Android 3种数据保存(SharedPreferences存储 内部文件存储 数据库存储),如项目包有问题请联系我谢谢
DataStore 以异步、一致的事务方式存储数据,克服了 SharedPreferences(以下统称为SP)的 一些缺点。 DataStore 基于 Kotlin 协程和 Flow 实现,并且可以对 SP 数据进行迁移,旨在取代 SP 。 DataStore 提供了两种...
Android自学笔记-8-Android数据存储1:文件、SharedPreferences和获取sd卡信息
Android项目开发中使用的数据存储方式有:网络存储、sqlite存储、File存储和SharedPreferences存储,四种存储方式对应的Demo别人是NetworkDemo、SqliteDemo、FileDemo和SharedPreferencesDemo,根据应用的场景选择...
嵌入式Android项目设计与开发 第六章 数据存储 ——SharedPreferences 2 SharedPreferences 键值对概念: 某一个数据都由一个键和一个值构成,键代表数据的名称,它是全局唯一的。具体的数据内容存放在值中。 键值对...
Android本地存储SharedPreferences详解 存储位置 SharedPreferences数据保存在: /data /data/<package> /shared_prefs 文件夹下,以XML格式保存,根元素为:。文件名称为获取SharedPreferences实例时传递的參数值。...
Android使用SharedPreferences和SQLite数据库实现数据存储
1、界面布局 主要介绍四种界面布局,常用的是线性布局和相对布局。对于屏幕适配,可以利用线性布局中的...这是Android中另外一种存储文件的形式,文中详细的介绍了序列化和解析的操作步骤。 最最重要的是包含源码
SharedPreferences是一种轻型的数据存储方式,它的本质是基于XML文件存储key-value键值对数据,通常用来存储一些简单的配置信息。其存储位置在/data/data/<包名>/shared_prefs目录下。SharedPreferences对象本身只能...
android 使用SharedPreferences对数据存储/删除/读取/文件删除
主要介绍了Android使用SharedPreferences存储XML文件的实现方法,实例分析了SharedPreferences类的基本初始化与文件存储相关技巧,需要的朋友可以参考下
Android 系统中主要提供了三种方式用于实现数据持久化功能,分别是: 1、文件存储 2、SharedPreference 存储 3、数据库存储。SharedPreferences 是使用键值对的方式来存储数据的,使用 SharedPreferences来进行数据...
SharedPreferences也是一种轻型的数据存储方式,它的本质是基于XML文件存储key-value键值对数据,通常用来存储一些简单的配置信息。其存储位置在/data/data/<包名>/shared_prefs目录下。SharedPreferences对象本身...
通过代码文件将SharedPreferences数据存储的使用做了进一步的使用,让更多人懂得使用它
SharedPreferences是Android提供的一个轻量级存储类,经常用于保存软件设置参数。存放的格式为xml,文件存放在 /data/data/<package name>/shared_prefs下。
因此,我们来学习一下Android的另外一种存储方式,SharedPreferences存储,它是一种数据持久化的方式,它比文件存储更加简单易用。 将数据存储到SharedPreferences中 不同于文件存储的方式,SharedPreferences是使用...
原文章链接:http://blog.csdn.net/baiyulinlin1/article/details/52168563
前情提要2 :动态页面-简单保存QQ密码(数据存储:文件存储、SharedPreferences) 【https://blog.csdn.net/weixin_44949135/article/details/104965413】 验证QQ密码 ,在前情提要2的基础上,实现了如下功能: ...
SharedPreferences也是一种轻型的数据存储方式,它的本质是基于XML文件存储key-value键值对数据,通常用来存储一些简单的配置信息。其存储位置在/data/data/<包名>/shared_prefs目录下。SharedPreferences对象...
2.掌握各种文件存储的区别与适用情况; 3.了解SQLite数据库的特点和体系结构; 4.掌握SQLite数据库的建立和操作方法; 5.理解ContentProvider的用途和原理; 6.掌握ContentProvider的创建与使用方法。 源码和整个...