`
yidongkaifa
  • 浏览: 4062662 次
文章分类
社区版块
存档分类
最新评论

android中数据库创建操作的模式

 
阅读更多

介绍

android使用sqlite做为数据库。使用数据库时需要用SQLiteOpenHelper创建数据库并得到SQLiteDatabase实例db,然后通过db的接口操作数据。

问题

这里面有一个问题:一个SQLiteOpenHelper对应一个database。Demo中给的例子将数据操作和Helper封装到了一起,这样要么一张表一个数据库文件,要么把所有的数据操作方法都放到一个文件中。第一中做法解决不了跨表查询的问题,第二种做法让代码很难维护。所以需要把这些代码分开处理。

解决方案

首先将数据定义和数据操作分开。也就是整个app中只使用一个dbHelper类。所有的表都通过这个实例建立,更新和操作。实现方法也很简单,用工厂方法模式实现。

建表的方法工程模式

如上图,AbstractDataBaseHelper在被调用onCreate和onUpgrade时会调用子类中的getTables,然后调用table接口中的onCreate和onUpgrade。以后在添加table的时候只需要修改DatabaseHelper的getTables。对于表的定义放在具体的table子类中,其各个域可以写成public的,因为在数据操作的时候会调用它们。

对于数据操作层,可以按照表划分成不同的类,每个类在操纵数据库时都可以通过新建DatabaseHelper来获取可读写的数据库。

总结

应用工厂方法模式于数据库表的管理能够将数据定义,数据库创建和数据操作分开,方便日后维护。

分享到:
评论

相关推荐

    基于Android的个人理财系统的设计与实现(源码+数据库+文档+截图).zip

    本个人理财软件系统是在Android移动平台的基础上开发,提供了预算...本系统采用Android系统集成的轻量级嵌入式数据库SQLite作为数据库引擎,以实现前后台数据交互。 关键词:个人理财; Android; Java; SQLite; JSON

    Android,设计模式,观察者模式

    通过一个小的Android应用,学习一下设计模式之观察者模式;观察者模式定义对象间一种一对多的依赖关系,使得当一个对象改变状态,则所有依赖于它的对象都会得到通知并被自动更新。这里演示了通过改变一个数值来改变...

    android开发揭秘PDF

    6.5 Android数据库编程 6.5.1 SQLite简介 6.5.2 SQLite编程详解 6.5.3 SQLiteOpenHelper应用 6.6 数据共享(ContentProviders) 6.7 小结 第7 章多媒体开发 7.1 多媒体开发详解 7.1.1 Open Core 7.1.2 MediaPlayer ...

    基于安卓Android学生考勤信息管理系统客户端+数据库源码+开题报告及任务书.zip

    采用用例图、序列图和E-R图进行系统功能分析、模块划分和数据库的设计,紧接着设计数据字典,并根据数据字典创建系统数据库,得出详细设计文档。根据总体设计和详细设计文档,进行功能模块的设计与实现,进入编码...

    基于安卓Android学生考勤信息管理系统客户端源代码+数据库+设计功能模块图及任务书.zip

    基于安卓Android学生考勤信息管理系统客户端源...采用用例图、序列图和E-R图进行系统功能分析、模块划分和数据库的设计,紧接着设计数据字典,并根据数据字典创建系统数据库,得出详细设计文档。根据总体设计和详细设

    新版Android开发教程.rar

    Android Android Android Android 盈利模式 Android 的 App Market 模式,软件开发者获得 7 成收入, 3 成用于系统维护。难点在于位置营销。 设备商通过卖设备、内置特色应用来获得盈利。也可以兼职专业软件开发者...

    Android开发案例驱动教程 配套代码

    第1章 Android操作系统概述 1 1.1 Android历史介绍 1 1.2 Android架构 1 1.3 Android平台介绍 2 1.4 现有智能手机操作系统比较 4 第2章 Android开发环境搭建 5 2.1 Eclipse和ADT插件 5 2.1.1 Eclipse安装 5 ...

    老罗android开发视频教程全集百度网盘下载

    Android以Java为编程语言,使接口到功能,都有层出不穷的变化,其中Activity等同于J2ME的MIDlet,一个 Activity 类(class)负责创建视窗(window),一个活动中的Activity就是在 foreground(前景)模式,背景运行...

    集成目前Android主流优秀第三方组件

    Sqlite数据库操作工具类(ToolDatabase.java),获取DAO、创建表、删除表等API 提示信息对话框工具类(ToolAlert.java),已集成泡泡、土司、对话框三种提示 文件操作工具类(ToolFile.java),assets/raw/xml/...

    Android开发与应用——张荣,原书配套课件

    这是Android开发与应用,原书配套的课件,作者张荣,目录如下。 第1章 Android简介 1.1 手机操作系统 1.2 Android起源 1.3 Android特征 1.4 Android体系结构 1.4.1 应用层 1.4.2 应用框架层 1.4.3 ...

    《Android应用开发揭秘》附带光盘代码.

     6.5 Android数据库编程  6.5.1 SQLite简介  6.5.2 SQLite编程详解  6.5.3 SQLiteOpenHelper应用  6.6 数据共享(ContentProviders)  6.7 小结  第7 章多媒体开发  7.1 多媒体开发详解  7.1.1 Open Core  ...

    Android应用开发揭秘pdf高清版

    6.5 Android数据库编程 6.5.1 SQLite简介 6.5.2 SQLite编程详解 6.5.3 SQLiteOpenHelper应用 6.6 数据共享(ContentProviders) 6.7 小结 第7 章多媒体开发 7.1 多媒体开发详解 7.1.1 Open Core 7.1.2 MediaPlayer ...

    Android编程设计模式之单例模式实例详解

    本文实例讲述了Android编程设计模式之单例模式。分享给大家供大家参考,具体如下: 一、介绍 ...例如,创建一个对象需要消耗的资源过多,如要访问IO和数据库等资源,这时就要考虑使用单例模式。 四、实现

    精通ANDROID 3(中文版)1/2

    23.5.1 在Android搜索中使用操作键  23.5.2 使用应用程序特定的搜索上下文  23.6 资源  23.7 对平板电脑的意义  23.8 小结  第24章 文本到语音转换  24.1 Android中的文本到语音转换  24.2 使用语段...

    工程硕士学位论文 基于Android+HTML5的移动Web项目高效开发探究

    Sqlite 一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中 W3C 万维网联盟,创建于1994年,是Web技术领域最具权威和影响力的国际中立性技术标准机构。主要的工作是发展 Web 规范,...

    android开发秘籍

    9.2.1 秘诀77:创建一个独立的数据库包 194 9.2.2 秘诀78:使用独立的数据库包 197 9.2.3 秘诀79:创建个人日记 200 9.3 内容提供器 204 9.4 保存和载入文件 209 第10 章 基于位置的服务 210 10.1 位置服务入门...

    《Android应用开发揭秘》源码

     6.5 Android数据库编程  6.5.1 SQLite简介  6.5.2 SQLite编程详解  6.5.3 SQLiteOpenHelper应用  6.6 数据共享(ContentProviders)  6.7 小结  第7 章多媒体开发  7.1 多媒体开发详解  7.1.1 Open Core  ...

    android adb shell 命令大全

    1. 显示系统中全部Android平台: android list targets 2. 显示系统中全部AVD(模拟器): android list avd 3. 创建AVD(模拟器): android create avd --name 名称 --target 平台编号 4. 启动模拟器: ...

    LitePal:一个使开发人员使用SQLite数据库非常容易的Android库

    您无需编写SQL语句即可完成大多数数据库操作,包括创建或升级表,crud操作,聚合函数等。LitePal的设置也非常简单,您可以在不到5个的时间内将其集成到项目中分钟。 立即体验魔术,尽享欢乐! 特征 使用对象关系...

Global site tag (gtag.js) - Google Analytics