Android用开发中DAO模式应用.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Android用开发中DAO模式应用

Android应用开发中DAO模式应用 SQLite数据库会作为首选的方案,在一些涉及比较多的数据交互情境中,通常表现为表的数量比较多,我们就有必要开发一个比较通用的数据访问框架了。DAO模式就是可以上层业务和底层数据访问的一种广泛运用的设计模式。 开发人员使用数据访问对象(DAO)设计模式把底层的数据访问逻辑和高层的业务逻辑分开.实现DAO模式能够更加专注于编写数据访问代码. DAO模式后来成为现在 如下图示意,DAO模式Android中的使用时序图 : 一个典型的DAO实现有下列几个组件: 一个DAO接口或者抽象类,定义基础DAO接口规范,定义CRUD操作 接口定义时泛型,在运行时为数据值对象类型,查操作都是对此对象进行处理。访问方法中,传送的外部参数,还可以通过Map集合来保存: /** * Created by mac on 23/4/16. * 一个DAO接口或者抽象类,定义基础DAO接口规范,定义CRUD操作 */ public interface IBaseDaoT { // 添加 public boolean insert(T t); // 修改 public boolean update(T t,MapString,Object args); // 删除 public boolean delete(T t,MapString,Object args); // 查询 public ListT selectAll(); // 带参数查询 public ListT selectWithArgs(MapString,Object args); // 查询单个 public T selectSingle(MapString,Object args); // 判断某条记录是否存在 public boolean checkRecord(MapString,Object args); } 一个实现DAO接口的具体类,把对数据库的操作(比如最基本的CRUD增删改查。 具体中需要实现所有的接口中的方法。并不需要实现所有的数据方法。,在接口中和实现类中间再添加一个适配器类。类实现接口中的所有方法,方法参数返回默认返回值。具体类则继承此适配器类,性的去重写适配器类中的方法。如下类中,还可以在构造方法中,递Context对象,创建单例SQLiteOpenHelper对象,向实现类,获取SQLiteDatabase方法。下面的getDB方法: /** * Created by mac on 23/4/16. * 适配器类,实现接口方法,并且构造方法中获取SQLiteOpenHelper实例 */ public class BaseDaoT implements IBaseDaoT { private HealthDBHelper healthDBHelper; public BaseDao(Context context) { healthDBHelper = HealthDBHelper.getInstance(context); } protected SQLiteDatabase getDB() { return healthDBHelper.getReadableDatabase(); } @Override public boolean insert(T t) { return false; } @Override public boolean update(T t, MapString, Object args) { return false; } @Override public boolean delete(T t, MapString, Object args) { return false; } @Override public ListT selectAll() { return null; } @Override public ListT selectWithArgs(MapString, Object args) { return null; } @Override public T

文档评论(0)

pij541 + 关注
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档