Android中的数据储存】的更多相关文章

数据的储存是一个十分重要的功能,它涉及到各种类型的数据,各种的储存方式,今天就接触了Android中数据储存的简单应用,有一种方式是可以将存入的数据原封不动的存储起来,这里要用到openfileoutput方法这是一个contextWrapper类的一个方法 这个方法可以理解为创建一个新文件用于存储你写入的数据,传入的name字符串是文件名,mode有两个MODE_PRIVATE和MODE_ADDEND,区别是一个会覆盖同名内容,一个会在原文件中直接添加.如果文件名不存在两种模式都会直接创建新文…
Android中的数据存储主要分为三种基本方法: 1.利用shared preferences存储一些轻量级的键值对数据. 2.传统文件系统. 3.利用SQLite的数据库管理系统. 对SharedPreferences对象和SQLite数据库,它们的数据仅对创建它们的应用是可访问的. (比如,MODE_WORLD_READABLE 和 MODE_WORLD_WRITEABLE现在(since API 17)已经被标记为deprecated). 换句话说,它们不是共享的,如果需要在不同的应用之间…
转载:http://mp.weixin.qq.com/s?__biz=MzIzMjE1Njg4Mw==&mid=2650117688&idx=1&sn=d6c73f9f04d02ede7a741b45e801d74e#rd 本篇文章会帮助大家快速了解Android中各种数据存储机制的应用场景以及基本使用方法,力求在头脑中建立一个“目录”.有了这个目录,具体使用细节在实际应用时再查询文档即可得到. 0. 概述 Android为我们提供了以下存储机制: Shared Preferenc…
Android中几种最简单但是却最通用的数据持久化技术:SharedPreference.实例状态Bundle和本地文件. Android的非确定性Activity和应用程序生存期使在会话间保留UI状态和应用程序数据变得尤其重要,因为在回到前台前,应用程序进程可能回被终止并重新启动.Android提供了一些可选方法用于保存应用程序数据,每一种都为满足一个特定需要而进行优化. Android中的数据持久化技术为平衡速度.效率和健壮性提供了选项. 1. Shared Preference:当存储UI…
文件存储 这是本人(菜鸟)学习android数据存储时接触的有关文件存储的知识以及本人自己写的简单地demo,为初学者学习和使用文件存储提供一些帮助.. 如果有需要查看SharedPreferences存储的请查看: Android中的数据存储(一):SharedPreferences  一:使用范围:    文件存储很明显就是存储文件,这一点不需要解释了吧!需要注意的是所存储的文件不能太大,以防内存不足. 二:核心原理: 依靠Context(上下文),Context提供了两个方法来打开数据文件…
1.文件存储 文件存储是Android 中最基本的一种数据存储方式,它不对存储的内容进行任何的格式化处理,所有数据都是原封不动地保存到文件当中的,因而它比较适合用于存储一些简单的文本数据或二进制数据. Context 类中提供了一个openFileOutput ()方法,可以用于将数据存储到指定的文件中. openFileOutput ()方法返回的是一个FileOutputStream 对象,得到了这个对象之后就可以使用Java 流的方式将数据写入到文件中了. 第一个参数是文件名,第二个参数是…
  Android下最好的数据储存方式:关系型数据库sqlite.   数据库的创建:使用SqliteOpenHelper类 结合SqliteOpenHelper类和SQLiteDatabase类的帮助,我们可以方便地对数据库进行CURD操作.   数据库的创建: 我们主要通过在SqliteOpenHelper类的onCreate方法中创建数据库表. 那么,onCreate方法又是在什么时候执行的呢? 我们先写一下代码: package com.whathecode.db; import and…
在上一篇文章中我们介绍了SharedPreferences的使用方法. 今天我们继续介绍另一种储存数据的方式:使用内部储存和外部储存 每一个Android设备都拥有两个数据储存区域:外部储存和外部储存 那么我们应该采用哪种储存方式呢? 我们先对比一下这两种储存方式的不同: 内部储存: 总是可用的 保存在这里的文件只能被你的app访问 当程序被卸载的时候,系统会删除所有属于该应用的文件 当你不希望你的文件被其他人或应用访问到的时候,内部储存是最好的选择 外部储存: 当sd卡被用户卸载的时候不可用,…
  安卓系统默认提供了一下几种数据储存的方式: Shared Preferences 内部储存 外部储存 SQLite数据库 保存到网络服务器   使用Shared Preferences       Shared Preferences类主要用于保存键值对的数据类型.我们可以使用它保存一些简单的数据类型.        获得SharedPreferences对象有两种方法: 通过getSharedPreferences()方法 通过getPreferences()方法   上面两种方法的分别主…
数据持久化 关于数据储存,这个话题已经被反复讨论过很多次了,我是不建议把网络存储这种方式纳入到数据储存的范围的,因为这个和Android没多少关系,因此就有如下的分类: 本地储存(也称之为数据持久化,包含文件储存,SharedPreferences,SQLite储存和ContentProvider(内容提供者)) 内存储存(静态变量.全局变量存值) 适用场景 如果app内有些数据是需要使用到上次该app关闭时的数据,比如下次启动app没有网络时要求显示之前的省市信息,那么无论,你有多么不愿意,本…
这种方式应该是用起来最简单的Android读写外部数据的方法了.他的用法基本上和J2SE(java.util.prefs.Preferences)中的用法一样,以一种简单. 透明的方式来保存一些用户个性化设置的字体.颜色.位置等参数信息.一般的应用程序都会提供“设置”或者“首选项”的这样的界面,那么这些设置最后就可以 通过Preferences来保存,而程序员不需要知道它到底以什么形式保存的,保存在了什么地方.当然,如果你愿意保存其他的东西,也没有什么限制.只是在性能上不知道会有什么问题. 在A…
在Android中编写过程序的开发人员都知道.在Activity.Service等组件之间传递数据(尤其是复杂类型的数据)很不方便.一般可以使用Intent来传递可序列化或简单类型的数据.看下面的代码.      Intent intent  =  new  Intent( this , Test. class );     intent.putExtra( " param1 " ,  " data1 " );     intent.putExtra( "…
在Android中编写过程序的开发人员都知道.在Activity.Service等组件之间传递数据(尤其是复杂类型的数据)很不方便.一般可以使用Intent来传递可序列化或简单类型的数据.看下面的代码. );      startActivity(intent); 这样就ok了.在当前Activity将两个值传到了Test中.但如果遇到不可序列化的数据,如Bitmap.InputStream等,intent就无能为力了.因此,我们很自然地会想到另外一种方法,静态变量.如下面的代码所示:    …
这种方式应该是用起来最简单的Android读写外部数据的方法了.他的用法基本上和J2SE(java.util.prefs.Preferences)中的用法一样,以一种简单. 透明的方式来保存一些用户个性化设置的字体.颜色.位置等参数信息.一般的应用程序都会提供“设置”或者“首选项”的这样的界面,那么这些设置最后就可以 通过Preferences来保存,而程序员不需要知道它到底以什么形式保存的,保存在了什么地方.当然,如果你愿意保存其他的东西,也没有什么限制.只是在性能上不知道会有什么问题. 在A…
准备工作: 我们模拟一个注册的页面,先看UI 我们需要创建一个数据库:user,数据库包含表user,user表包含字段id.username.password.mobilephone MainActivity.java package cn.lixyz.sqlitedemo; import android.app.Activity; import android.database.sqlite.SQLiteDatabase; import android.os.Bundle; import a…
1.在安卓开发中,会遇到保存数据到手机中以及从手机中获取数据的情况 /** * 把数据存放到手机内存中 * * @param number * @param password * @return */ public static boolean saveUserInfo(Context context, String number, String password) { try { // getCacheDir()方法用于获取/data/data/<package name>/cache目录…
SQLite通过delete()方法删除数据 delete()方法参数说明: delete()方法参数 对应sql部分 描述 table delte from table_name 要删除的表 whereClause where column 删除条件 whereArgs where column=? 删除条件的参数 看代码: MainActivity.java package cn.lixyz.sqlite; import android.app.Activity; import androi…
形式 Android的数据保存分为3种形式:file, SharedPreference, Database 文件 主要思想就是通过Context类中提供的openFileInput和openFileOutput方法,然后利用Java的各种流来进行读写操作.具体来讲,openFileOutput()返回FileOutputStream对象,得到了对象之后就可以通过OutputStreamWriter转换为字符流,然后通过BufferWriter写入字符.注意openFileOutput有两种模式…
一:  Json的特性和在数据交互中的地位就不用说了,直接看案例. 首先在android studio中创建assets文件目录,用于存放Json数据文件,android studio 1.3 默认项目文件目录下是没有assets文件夹的, 所以需要我们进行创建,创建方法如下:…
转自:http://www.jb51.net/article/70875.htm 首先介绍下JSON的定义,JSON是JavaScript Object Notation的缩写. 一种轻量级的数据交换格式,具有良好的可读和便于快速编写的特性.业内主流技术为其提供了完整的解决方案(有点类似于正则表达式,获得了当今大部分语言的支持),从而可以在不同平台间进行数据交换.JSON采用兼容性很高的文本格式,同时也具备类似于C语言体系的行为. JSON的结构: (1) Name/Value Pairs(无序…
SharedPreferences 这是本人(菜鸟)学习android数据存储时接触的有关SharedPreferences的知识以及本人自己写的一个简单地demo,为初学者学习和使用SharedPreferences提供一些帮助.. 下面是有关SharedPreferences的相关知识:   一:使用范围:     SharedPreferences只能保存少量的数据,且这些数据的格式非常简单:字符串型.基本类型的值.比如应用程序的各种配置信息(如是否打开音效.是否使用震动效果.小游戏的玩家…
SAX是一个解析速度快并且占用内存少的xml解析器,非常适合用于Android等移动设备. SAX解析XML文件采用的是事件驱动,也就是说,它并不需要解析完整个文档,在按内容顺序解析文档的过程中,SAX会判断当前读到的字符是否合法XML语法中的某部分,如果符合就会触发事件.所谓事件,其实就是一些回调(callback)方法,这些方法(事件)定义在ContentHandler接口.下面是一些ContentHandler接口常用的方法: startDocument():当遇到文档的开头的时候,调用这…
PULL 的工作原理: XML pull提供了开始元素和结束元素.当某个元素开始时,可以调用parser.nextText()从XML文档中提取所有字符数据.当解析到一个文档结束时,自动生成EndDocument事件. 类和接口 功能 XmlPullParser 该解析器是一个在org.xmlpull.v1中定义的解析功能的接口. XmlSerializer 它是一个接口,定义了XML信息集的序列. XmlPullParserFactory 这个类用于在XMPULL V1 API中创建XML P…
DOM解析XML在j2ee开发中比较常见,在Dom解析的过程中,是先把dom全部文件读入到内存中,然后使用dom的api遍历所有数据,检索想要的数据,这种方式显然是一种比较消耗内存的方式,对于像手机这样的移动设备来讲,内存是非常有限的,所以对于比较大的XML文件,不推荐使用这种方式,但是Dom也有它的优点,它比较直观,在xml文档比较小的情况下也可以考虑使用dom方式. 代码演示: MainActivity.java package cn.lixyz.xmltest.activity; impo…
SQLite 通过query实现查询,它通过一系列参数来定义查询条件. 各参数说明: query()方法参数 对应sql部分 描述 table from table_name 表名称 colums select column1,column2 列名称数组 selection where column = value 条件子句,相当于where selectionArgs - 条件语句的参数数组 groupBy group by column 分组 having having column = v…
SharedPreferences是Android提供的一种轻型的数据存储方法,其本质是基于xml文件存储的,内部数据以key-value的方式存储,通常用来存储一些简单的配置信息. SharedPreferences对象本身只能获取数据而不支持修改和存储,存储修改需要通过Editor对象来实现. 使用SharedPreperences保存数据 使用SharedPreperences来保存数据的步骤如下: 1. 实例化SharedPreperences对象 2. 实例化Editor对象 3. e…
package com.example.savejsonproject; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.PrintStream; import java.util.Date; import org.json.JSONArray; import org.json.JSONException; import org.j…
实现注册.登录.注销账户 MainActivity.java package cn.lixyz.activity; import android.app.Activity; import android.content.Intent; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.os.Bundle; import android.util.Log; im…
update方法的四个参数: update()方法参数 对应的sql部分 描述 table update table_name 更新的表名 values set column=xxx ContentValues whereClause where column 修改条件 whereArgs where column = xx 修改条件的参数 看代码: MainActivity.java package cn.lixyz.sqlite; import android.app.Activity; i…
SQLite是内置于Android的一款轻量级关系型数据库,她运算速度快,占用资源少,通常只需要几百K的内存就足够了,因而特别适合在移动设备上使用. SQLite不仅支持标准的SQL语法,还遵循数据库的ACID事务,所以如果有其他数据库基础,会上手很快.与其他数据库不同的是,SQLite不用设置用户名和密码就可以使用. 和其他数据库不同的是,SQLite没有其他数据库那么多繁杂的数据类型,它的数据类型很简单:integer表示整型,real表示浮点型,text表示文本类型,blob表示二进制类型…