- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
 - 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
 - 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
 - 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
 - 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
 - 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
 - 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 
                您可能关注的文档
最近下载
- 解读《GB_T 3880.2-2024一般工业用铝及铝合金板、带材 第2部分:力学性能》.docx VIP
 - ECA微生物偏差评估和调查指南2020.pdf VIP
 - 三年级下册科学青岛版20肠道传染病(课件)(共26张PPT).pptx VIP
 - 公司私车公用管理制度及私车公用协议.docx VIP
 - (完整版)格斗术教案.doc VIP
 - 金属学与热处理--热处理原理、热处理工艺习题.doc VIP
 - 《消防设施工程专业承包企业资质等级标准》.docx VIP
 - 义务教育学校校长、书记绩效考核工作实施办法(试行).doc VIP
 - 加油加气站改扩建项目申请报告.pdf VIP
 - 教学能力大赛教学实施报告【参考国赛一等奖撰写】.pdf
 
原创力文档
                        

文档评论(0)