我的android学习经历30
数据存储的持久化技术
数据存储主要有五种方式:
(1)文件存储或者SD卡
(2)SharedPreferences
(3)SQLite
(4)ContentProvider
(5)网络存储
下面简单介绍一下前三种存储
1.文件存储
比较适合存储一些简单的文本数据或者二进制数据,主要用到的方法是openFileOutput()和openFileInput()
两者返回的是FileOutputStream和FileInputStream;学过java 的I/O流的人这个都懂
然后对这两个流进行操作,比如将数据存储到文件中:
FileOutputStream out=openFileOutput("data",Context.MODE_PRIVATE); BufferWriter writer=new BufferWrite(newOutputStreamWriter(out) ); writer.write("nihao");
data为对应的文件名,nihao为写入的数据
读取的操作类似
2.SharedPreferences
存储的是键值对信息,支持对不同的数据类型进行存储。可以通过Context类的get.SharedPreferences(),Activity类的getPreferences()和PreferenceManager类中的getDefaultSharedPreferences()方法获得。只是获得的结果不太一样
得到SharedPreferences对象之后就可以开始向SharedPreferences文件中存储数据了,主要分为三步:
(1)使用SharedPreferences对象的edit()方得到SharedPreferences.Editor对象
(2)使用SharedPreferences.Editor对象添加数据,比如使用putString(),添加String字符串
(3)使用SharedPreferences.Editor对象的commit()方法提交数据,完成存储
读取SharedPreferences的数据更加简单,使用SharedPreferences的上面的三种方法得到你所想要的SharedPreferences文件对象,然后使用getXXX(此处的参数为健名)方法得到你所想要的数据,比如getString("key"),得到健名为key的字符串
3.SQLite
主要使用SQLiteOpenHelper
用一个类继承SQLiteOpenHelper类
上面只是简单介绍了一下三种存储方式,如果有什么问题请在评论区留言,谢谢
我的android学习经历30的更多相关文章
- 我的android学习经历
我为什么选择android? 我基本上前一年的时间都是在学习java的语法和线程之类的,没有注意java的分类,所以到现在慢慢接触到深处的时候我了解到,java的优势主要在web,而我不是特别喜欢网页 ...
- 我的android学习经历36
最近把android的基础知识都学的差不多了,也写了许多demo,就想自己写一个app,可是写到后面的时候发现很混乱,所以还是得写一些文档,用xml语言写一下基础的类以及一些其他的东西.所以要想写一个 ...
- 我的android学习经历27
前几天忙着学校的互联网+项目比赛,没有时间学习android和发一些东西,主要是这两天太累了,我是项目组长,好多东西去弄,今天已经交稿去进行初赛. 马上收拾收拾心情,继续我的andorid菜鸟之路 加 ...
- 我的android学习经历23
学习fragment时遇到的问题 这几天学习fragment静态加载时遇到这样的问题: java.lang.RuntimeException: Unable to start activity Com ...
- 我的android学习经历9
给android的activity添加背景图片 1.你可以在网上下载android的图片,也可以制作自己的图片,图片的后缀为.png,也就是png格式的图片(注意图片的大小要适合你的手机屏幕或者AVD ...
- 我的android学习经历7
android签名后报错的问题 Duplicate id @+id/imageView, already defined earlier in this layout,android生成报错 这个是项 ...
- 我的android学习经历5
android在strings.xml文件中,写string对象时,如何加入空格 <string name="password">密 码:</string& ...
- 我的android学习经历40
为listview设置背景,并且不随拖动改变 <ListView android:id="@+id/list_view" android:layout_width=" ...
- 我的android学习经历39
关于像第一次进qq一样的那个渐变企鹅图的制作 渐变动画 package com.moonweather.app.activity; import com.moonweather.app.R; impo ...
随机推荐
- C#访问PostGreSQL数据库的方法 http://www.jb51.net/article/35643.htm
这次的项目中的一个环节要求我把PostGreSQL数据取出来,然后放到SqlServer里,再去处理分析. http://www.jb51.net/article/35643.htm - 我对Post ...
- C# 控制台程序如何防止启动多个实例
==================================================================================================== ...
- qlserver、Mysql、Oracle三种数据库的优缺点总结
这篇文章主要介绍了sqlserver.Mysql.Oracle三种数据库的优缺点总结,需要的朋友可以参考下 一.sqlserver优点:易用性.适合分布式组织的可伸缩性.用于决策支持的数据仓库功能 ...
- 分数的加减法——C语言初学者代码中的常见错误与瑕疵(12)
前文链接:分数的加减法——C语言初学者代码中的常见错误与瑕疵(11) 重构 题目的修正 我抛弃了原题中“其中a, b, c, d是一个0-9的整数”这样的前提条件,因为这种限制毫无必要.只假设a, b ...
- (function($){...})(jQuery) 函数详解
function(arg){...} 这是一个匿名函数,参数是arg. 而调用匿名函数时,是在函数后面写上括号和实参的,由于操作符的优先级,函数本身也需要用括号,即: function(arg){.. ...
- 四种MySQL存储引擎
前言 数据库存储引擎是数据库底层软件组织,数据库管理系统(DBMS)使用数据引擎进行创建.查询.更新和删除数据.不同的存储引擎提供不同的存储机制.索引技巧.锁定水平等功能,使用不同的存储引擎,还可以 ...
- android 百度地图定位开发2
先下载了示例代码 进行配置(可查看开发 指南 Hello BaiDuMap) 第一步:创建并配置工程(具体方法参见工程配置部分的介绍): 第二步:在AndroidManifest中添加开发密钥.所需权 ...
- 关于ScrollView中嵌套listview焦点滑动问题 解决
(第三种,第四种简单推荐使用) 在这里我要提出的是,listview能滚动的前提是:当listview本身的高度小于listview里的子view. 第一种方法 只需在MainActivity中 找到 ...
- WM_SIZE
procedure WMSize (var Message: TWMSize); message WM_SIZE; 参数说明 wParam: Specifies the type of resizin ...
- 关于 ActiveMQ
今天玩了下 ActiveMQ,希望实现服务器的消息可以通知到各个客户终端. 安装: 1.安装 ActiveMQ 之前必须安装 Java 的 jdk , 可以从此下载: http://www.ora ...