Android里的五大存储
来源:互联网 发布:淘宝卖假佛牌 编辑:程序博客网 时间:2024/04/29 20:16
在android里有五种常见的存储方式,分别是:SharedPreferences,SQLite,IO,ContentProvider,网络。
SharedPreferences:
有些时候,应用程序有少量的数据需要保存,而且这些数据的格式都很简单,像普通的字符串、标准类型的值等,如应用程序各种配置信息和实现本地登录时用户和密码,都可以用SharedPreferences进行存储。
SharedPreferences存储的格式是key-value对,而且它本身是一个接口,无法直接实例化,只能通过Context的getSharedPreferences(String name,int mode) 来进行实例化。参数列表的第一个值是自定义的名字,第二个参数可以取以下的值:Context.MODE_PRIVARE,只能被本应用读写;Context.MODE_WORLD_READABLE,能被其他应用读,但是不能写;Context.MODE_WORLD_WRITEABLE,可以被其他应用读写。
SharedPreferences本身没有写入的方法,只能通过调用edit()获取所对应的Editor对象。从用法上看很像Map集合,SharedPreferences为key来读取数据,SharedPreferences.Editor为value进行写数据。
SQLite:
是一种轻量级嵌入式的数据库,并不需要安装,只是一个文件,但是也允许开发者使用SQL语句进行操作,具体操作通过继承SQLiteDatabase来实现。
SQLite内部只支持NULL,INTEGER,REAL,TEXT,BLOB五种数据类型,但是也完全能接受varchar,char等类型的数据,只不过会把这种数据转成上面五种数据格式的一种,且允许把各种类型的数据保存到任何类型的字段中,除了INTEGER PRUMARY KEY,只能储存64位整数。
SQLiteOpenHelper:onCreate(),生成数据库;onUpgrade,更新数据库版本。
SQLiteDatabase:insert(),增加数据;update(),更改数据;delete(),删除数据;query(),查询数据;beginTransaction().开始事务;endTransaction(),结束事务。
使用事务可以使代码更加健壮,使用数据库的时候尽量使用事务。
IO:
即使用IO流来进行对手机内存和SD卡里的数据进行操作。Context提供了两个方法来打开应用程序的I/O流:FileInputStream openFileInput(String name):打开name文件对应的输入流;FileOutputStream openFileOutput(String name,int mode):打开name文件对应的输出流。
当想读写SD卡上的文件的时候,需要调用Environment的getExternalStrorageDirectory()来获取外部存储器,即SD卡的目录。
需要注意的是,当需要读写文件的时候,需要在androidManifast.xml里进行配置权限。
Content Provider:
解决进程之间数据共享的问题,把自己应用中的数据暴露给其他应用来进行数据间的共享,同时也是android四大组件之一,是重点同时也是难点。
需要用到URI, URI是统一资源标识符,代表了要操作的数据,其中URL是一种特殊的URI,来表示网络请求地址。‘
有两个工具类:
UriMatcher:用来匹配URI。
ContentUris:去拼接ID到Uri中,或截取Uri中的id的值。
还可以自定义ContentProvider,通过继承ContentProvider,实现里面的方法:onCreate(),delete(),insert(),queery(),update(),onType(),不要忘记在androidManifast.xml里边配置。
网络存储:
把用户的资料或者一些信息储存在网络上,方便的同时也是会带来各种困扰,如高额的流量费用和变相的暴露自己的隐私,但是这几年云储存的出现也让网络存储有了更大的发展空间。
通过HttpURLConnection对象,从网络中获取网页的信息。
14/7/16
- Android里的五大存储
- android的五大存储方式
- Android的五大存储方式
- android数据存储的五大方式
- Android中的五大存储
- Android五大存储---SharedPreferences
- Android存储五大方式
- Android的五大存储方式:SharedPreferences、内部存储、外部存储、SQLite和网络存储
- Android平台进行数据存储的五大方式
- android 数据存储的五大方式(转)
- Android 数据存储:五大存储之SQLite数据存储
- Android------五大存储方式详解
- Android 五大存储方式详解
- Android五大存储---SQLite数据库
- Android五大存储之SQLite
- Android五大数据存储方式
- android五大基本存储方式
- Android------五大存储方式详解
- Android------五大存储方式详解
- Getting Started ObjectARX
- 在java中去调用oracle的存储过程的案例
- Goto :EOF 执行2遍 ////////////Call语句与Goto语句区别
- 函数(一些建议)
- Android里的五大存储
- Android之四大组件
- VBS学习日记(六) FSO相关操作
- 黑马程序员-java调试-java数据结构-java标识符-java逻辑
- Input.class.php
- HDU3549_Flow Problem(网络流/EK)
- 关于DSP外扩存储器的几个问题
- 可以让你少奋斗十年的工作经验
- leedcode做题总结,题目Valid Palindrome 2013/01/12