【Android源码 栏目提醒】:网学会员--在 Android源码 编辑为广大网友搜集整理了:Android数据存储的应用 - 电子设计绩等信息,祝愿广大网友取得需要的信息,参考学习。
AndroidAndroid数据存储的应用数据存储的应用报告内容
Android系统安全简介参数化/文件存储数据库Content Provider网络存储
Android§Linux层面??在
Android中各个应用程序之间是相互独立的彼此的数据不能共享§程序运行时检查??
Android允许应用程序在执行时调用其他程序的组件§当应用程序安装时操作系统要求安装程序必须签名??公钥私钥对技术
Android§
Android中可供选择的存储方式??1SharedPreferences??2文件存储??3SQLite数据库方式??4网络§Content Provider内容提供器??
Android提供了一种标准方式供应用软件将私有数据开放给其他应用软件。
参数化存储SharedPreferencesSharedPreferences§一种轻量级的数据存取方法应用在数据比较少的配置信息如ini文件.§通过SharedPreferences可以将键-值对保存在一个XML文件中§SharedPreferences屏蔽了XML文件系统的操作过程SharedPreferences§用SharedPreferences接口的getPreferences方法获得Preferences对象即可获得数据§SharedPreferences接口有一个内部接口得到编辑对象可完成添加数据保存数据案例:SharedPreferences的文件保存位置和保存格式的实现SharedPreferences§SharedPreferences不仅能够保存数据还能够实现不同应用程序间的数据共享§SharedPreferences支持三种访问模式??私有MODE_PRIVATE仅有创建程序有权限对其进行读取或写入??全局读MODE_WORLD_READABLE不仅创建程序可以对其进行读取或写入其他应用程序也读取操作的权限但没有写入操作的权限??全局写MODE_WORLD_WRITEABLE创建程序和其他程序都可以对其进行写入操作但没有读取的权限文件存储vAndroid使用的是基于Linux的文件系统程序开发人员可以建立和访问程序自身的私有文件也可以访问保存在资源目录中的原始文件和XML文件还可以在SD卡等外部存储设备中保存文件文件存储vAndroid系统允许应用程序创建仅能够自身访问的私有文件文件保存在设备的内部存储器上在Linux系统下的/data/data//files目录中§
Android系统不仅支持标准Java的IO类和方法还提供了能够简化读写流式文件过程的函数文件存储___内部存储FileInputStreamFileOutputStrea§可将一些数据直接以文件形式保存在设备中§文件读写的方法??Context.openFileInput/ Context.openFileOutput获得标准Java文件I/O流vAndroid的外部存储设备指的是SD卡Secure Digital Memory Card是一种广泛使用于数码设备上的记忆卡vAndroid系统提供了对SD卡的便捷的访问方法文件存储___外部存储v访问分别存放在/res/raw和/res/xml目录下原始格式文件和XML文件供应用程序在运行时进行访问v原始格式文件可以是任何格式的文件例如视频格式文件、音频格式文件、图像文件和数据文件等等在应用程序编译和打包时/res/raw目录下的所有文件都会保留原有格式不变文件存储___资源文件SQLitewww.embedu.orgSQLITEvSQLite的源代码是C其源代码完全开放。
SQLite第一个Alpha版本诞生于2000年5月。
他是一个轻量级的嵌入式数据库。
vSQLite有以下特性支持ACID事务零配置一无需安装和管理配置储存在单一磁盘文件中的一个完整的数据库数据库文件可以在不同字节顺序的机器间自由共享支持数据库大小至2TB足够小全部
源码大致3万行c代码250KB比目前流行的大多数数据库对数据的操作要快提供了对事务功能和并发处理的支持应用Transaction既保证了数据的完整性也会提高运行速度因为多条语句一起提交给数据库的速度会比一条一条的提交方式更快独立没有额外依赖。
vSQLite数据库采用了模块化设计由8个独立的模块构成这些独立模块又构成了三个主要的子系统模块将复杂的查询过程分解为细小的工作进行处理SQLiteSQLite手工创建使用sqlite3工具通过手工输入SQL命令行完成数据库创建.sqlite3工具被集成在
Android系统中用户在Linux的命令行界面中输入sqlite3可启动sqlite3工具代码创建在代码中常动态创建数据库在程序运行过程中当需要进行数据库操作时应用程序会首先尝试打开数据库此时如果数据库并不存在程序则会自动建立数据库然后再打开数据库在编程实现时一般将所有对数据库的操作都封装在一个类中因此只要调用这个类就可以完成对数据库的添加、更新、删除和查询等操作使用SQLiteOpenHelper类v为更好管理和维护数据库封装了一个继承自SQLiteOpenHelper类的数据库操作类v该类的构造方法要传入Contex数据库名称CursorFactorynull数据库版本号不能为负.v在SQLiteOpenHelper中首先执行onCreate方法当第一次被创建时但并没有真正创建数据库v调用getWritableDatabase或getReadableDatabase才能真正创建数据库并返回一个SQLiteDatabase对象ContentProviderContent Provider 基本概念§为存储和获取数据提供了统一的接口是一个特殊的存储数据的类型§可在不同的应用程序间共享数据§
Android为常见的一些数据提供了Provier 包包括音频视频图片和通讯录等§要公开自己的私有数据可创建自己的Content ProviderContent Provider §使用表的形式组织数据§如何找到需要的Content ProviderContent Provider Uri§每一个Content Provider 有一个公共的URI用来表示这个Content Provider 提供的数据§
Android 提供的Content Provider 放在
Android.Provider包当中该包中有Contacts联系人的类§得到URI可以做什么呢Content Provider §delete:删除数据集§insert添加数据集§qurey查询数据集§update更新数据集§onCreate初始化底层数据集和建立数据连接等工作§getType返回指定URI的MIME数据类型§如果URI是单条数据则返回的MIME数据类型应以vnd.
android.cursor.item开头§如果URI是多条数据则返回的MIME数据类型应以vnd.
android.cursor.dir/开头URI§如何实现共享数据呢 URI:用该对象来共享数据的§ContentProvider使用的URI语法结构如下content:////§一个URI对象必须以” content://”开头接下来时URI授权部分要和AndroidManifest.xml中声明一致后面还有数据路径和记录ID比如:content://media/internal/imagescontent://contacts/people/5仅一条content://contacts/people多条
android.provider包下有一些辅助类包含一些查询字符串ContentUris.withAppendedIdPeople.CONTENT_URI5Content Provider v使用Content Provider 获得系统电话本数据v创建和使用自己的Content Provider支持基于网络的存储v网络连接处理方法§使用Socket进行通信§使用URL和Http请求获取网络资源§使用org.apache.http.client§使用webkit浏览器WebViewv可使用网络来存放和获取数据当它可用时v要进行网络操作可使用如下程序包中的类§java.net.标准Java接口§
android.net.。
v利用http协议下载文件实现数据传送功能§采用java.net.??URL类??URLConnection类??HttpURLConnection类§创建一个URL对象§通过URL对象创建一个HttpURLConnection对象建立HTTP连接§得到InputStream§从InputStream当中读取数据
上一篇:
Android_中文天气预报程序
下一篇:
AF内固定椎体内植骨治疗胸腰椎骨折