10、Android数据存储

课程目标:

掌握Android中数据存储的几种方式

熟练使用PreferenceActivity&PreferenceScreen做专业的Setting功能

熟练使用SQLite3来存储数据

深入研究SQLite3数据库特性,并且比对与大型数据库的包括存储过程,主外键关联等特性

了解文件存储的内外存储分别  了解网络存储C/S结构原理 。

重点难点:SQLiteOpenHelper类的使用   SQLIte数据库的特性掌握

考核目标:

说出Android数据存储的几种形式 ?

Sqlite3能支持存储过程么,支持主外键关联么 ?

如何让自己的Setting程序与系统的Setting程序融合

一、Android数据存储初探

XML              Share Preference

Binary File     File  <使用内部存储,使用扩展存储>

关系型数据库   SQLite3

网络访问         Network <Socket , Http,Https>

二、SharedPreference

2.1 最基本操作步骤

1)   getSharedPreference

2)   get SharedPreferences.Editor

3)   Editor.commit()。

2.2 三种方式得到preference区别

1) public SharedPreferences getPreferences (int mode)

通过Activity对象获取,获取的是本Activity私有的Preference,保存在系统中的xml形式的文件的名称为这个Activity的名字,因此一个Activity只能有一个,属于这个Activity。

2) public SharedPreferences getSharedPreferences (String name, int mode)

因为Activity继承了ContextWrapper,因此也是通过Activity对象获取,但是属于整个应用程序,可以有多个,以第一参数的name为文件名保存在系统中。

3)public static SharedPreferences getDefaultSharedPreferences (Context context)

PreferenceManager的静态函数,保存PreferenceActivity中的设置,属于整个应用程序,但是只有一个,Android会根据包名和PreferenceActivity的布局文件来起一个名字保存。

2.3 打造专业的User Preference

PreferenceActivity

PreferenceScreen..

. setOnPreferenceChangeListener...

2.4 如何嵌套系统preference

 

2.5 Subtopic

三、SQLite3

3.1 SQLite数据库简介

SQLite (http://www.sqlite.org/),是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如 Tcl、C#、PHP、Java等,还有ODBC接口,同样比起Mysql、PostgreSQL这两款开源世界著名的数据库管理系统来讲,它的处理速度比他们都快。SQLite第一个Alpha版本诞生于2000年5月. 至今已经有10个年头,SQLite也迎来了一个版本 SQLite 3已经发布。

特征:轻量级,独立性,隔离性,跨平台,多语言接口,安全性。

3.2 总结

SQLite 是一个全面而又完整支持sql语句的文件型数据库

Sqlite 支持 事务 , 视图 , 索引,触发器 ,主外键约束

默认的必须给每张表的主键名字为_id

SqliteDatabase 可以用封装的insert ,update ,delete ,query 方法 ,也可以用execSql , rawSql 等原生方法

3.3 SQLiteOpenHelper

getReadableDatabase()

getWritableDatabase()

onCreate(SQLiteDatabase db , int oldVersion, int newVersion)

onOpen(SQLiteDatabase db)

onUpgrade(SQLiteDatabase db)

1)通过Helper , 建立好数据库表结构 - onCreate , onUpgrade。

2)调用helper实例 , 通过get***Database()得到DB对象。

3)通过DB对象实例来调用增删改查 ,insert()。

3.4 建立数据库,更新数据库: adb shell 看数据库

 

3.5 具体的数据操作:Add,Update,Search,Delete,批量更新和删除。

 

3.6 我们思考一下Sqlite3数据库引擎在哪儿? external/sqlite

思路:

如你来移植,对开源的项目,你是编译好类库放上来还是直接源码都放上来呢?

如果源码放上来,我们去官网下载源码 , 打开看看

去搜索一下源码

找到地址 。

3.7 我们来思考一下SQlite3连接方式实际是什么? libcore/sqlite-jdbc

 

3.8 表的主外键关系

3.9 表的视图

3.10 表的触发器,存储过程

3.11 Sqlite事务

beginTransaction

setTransactionSuccessful

endTransaction

时间: 2024-10-05 18:44:54

10、Android数据存储的相关文章

Android 数据存储方式分为哪几种?

10道题值得思考 第一道题 1.Android 数据存储方式分为哪几种? SharedPreferences存储数据 2. CotentProvider内容提供者 3. 文件存储 4. 数据库存储(Sqlite) 5.网络存储 2. NDK是什么? 1. 一系列工具类的集合 2. Arm指令集 3. NDK提供了一系列的工具,帮助开发者快速开发C(或C++)的动态库,并能自动将so和java应用一起打包成apk.这些工具对开发者的帮助是巨大的. NDK集成了交叉编译器,并提供了相应的mk文件隔离

Android数据存储之GreenDao 3.0 详解(一)

前言: 今天一大早收到GreenDao 3.0 正式发布的消息,自从2014年接触GreenDao至今,项目中一直使用GreenDao框架处理数据库操作,本人使用数据库路线 Sqlite---->OrmLite---->GreenDao.今天白天一直在忙着公司的项目需求,只能晚上加班来学习最新的GreenDao 3.0使用方式了. GreenDao 介绍: greenDAO是一个对象关系映射(ORM)的框架,能够提供一个接口通过操作对象的方式去操作关系型数据库,它能够让你操作数据库时更简单.更

Android 数据存储——SQLite实例、判断数据库中表是否存在

本文主要记录一下Android SQLiteDatabase中如何判断数据库中表是否存在,以及测试SQLiteDatabase数据库的基本操作.有关SQLite的详细说明,可以查看转载的Android 数据存储--SQLite使用详解 例子: AndroidManifest.xml--没有做任何修改,创建工程默认 <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="

【Android的从零单排开发日记】之入门篇(七)——Android数据存储(上)

在讲解Android的数据源组件——ContentProvider之前我觉得很有必要先弄清楚Android的数据结构. 数据和程序是应用构成的两个核心要素,数据存储永远是应用开发中最重要的主题之一,也是开发平台必须提供的基础功能.不光是在Android平台上,在其他的平台上,数据的存储永远是不可缺少的一块.Android的数据存储是构建在Linux的文件系统上,它充分利用Linux的账号系统来限定应用对数据的访问,部署了一套安全和灵活并重的数据存储解决方案.Android的文件框架,以及各种数据

Android——数据存储(四种方式之一)SharedPrefereces

Android--数据存储(四种方式) 1.SharedPrefereces   轻量级.XML  存储文件名,数据保存在data/data/basepackage/shared_prefs/myopt.xml中   实例-收藏-记住密码自动登录 //一种轻量级的数据存储方式//通过KEY 存入数据--putxxxx(key,value) 取出数据--getxxxx(key  default)   2.读写SD卡  SD的根目录  适用于数据流读写 3.SQLite  轻量级.dp文件多用于手机

Android数据存储(2):Internal Storage

Android数据存储的第二种形式是Internal Storage,即内部存储. 内存存储的特点是存储的是私有数据,其存储位置是在手机内存,一种是普通的文件存储,另一种是文本或图片在内存的缓存. 内部缓存的存放位置/data/data/包名/files 或 /data/data/包名/cache 1.create and write a private file to the internal storage: 步骤: 1)调用 openFileOutput()方法,返回的是一个FileOut

【Android数据存储】- File

个人学习整理,如有不足之处,请不吝指教.转载请注明:@CSU-Max 读写本应用程序数据文件夹中的文件 此种方法读写的文件在/data/data/<应用程序包名>中 android 中提供了 openFileInput(String fileName) 和 openFileOutput(String fileName, int mode) 两个方法来读取本应用程序数据文件夹中的文件和向其写入. openFileInput(String fileName)    打开文件输入流 openFile

Android数据存储技术五大方式总结

本文介绍Android平台进行数据存储的五大方式,分别如下: 1 使用SharedPreferences存储数据 2 文件存储数据 3 SQLite数据库存储数据 4 使用ContentProvider存储数据 5 网络存储数据 下面详细讲解这五种方式的特点 第一种: 使用SharedPreferences存储数据     适用范围:保存少量的数据,且这些数据的格式非常简单:字符串型.基本类型的值.比如应用程序的各种配置信息(如是否打开音效.是否使用震动效果.小游戏的玩家积分等),解锁口令密码等

Android——数据存储(四种方式之二)读写SD卡

Android--数据存储(四种方式) 1.SharedPrefereces 只能保存一些简单的数轻量级.XML  存储文件名, 数据保存在data/data/basepackage/shared_prefs/myopt.xml中    实例-收藏-记住密码自动登录 //一种轻量级的数据存储方式//通过KEY 存入数据--putxxxx(key,value) 取出数据--getxxxx(key  default) 2.读写SD卡  SD的根目录  适用于数据流读写 实现步骤:加入读写SD卡权限