自己动手写Android框架-数据库框架
大家在工作中基本上都有使用到数据库框架
关系型:ORMLite,GreenDao
对象型:DB4O,Perst
这些数据库用起来都非常的简单,对于我们Android上来说这些数据库足够我们使用了,但是大家是否知道如果要自己来写,你能写的出来么?平时我们只是需要配置一下就搞定了,原理是否真的清楚?对于初学者来说,知道这些框架怎么用就好,但是对于中级开发者或者高级开发者,知道如何用是远远不够的,作为team核心人员的你们必须对你们用的东西了如指掌,不然出了bug就非常的麻烦了。
看懂别人的代码是基本,看完了模仿着写一个是中级,自己按照需求来写一个框架就是高级开发者必备的技能了。
大家不要迷信技术,也不要相信一个框架能帮你解决所有变态的需求,与其在github上下一堆不能符合你需求的代码,不如自己来写,对吧?我见好多人下了别人的代码不满足他的需求就吐槽别人写的怎么怎么不好。程序员何苦为难程序员,分享出来已经很不错了,你还说别人写的怎么怎么不好。不然放下那段源码,你来!
这期课程讲自己写个数据库框架,大家自己来体会下框架是如何搭建出来的,我们应该怎么来分析,哪些地方需要注意的,哪些地方可以提高性能的,只有你自己置身于这个环境,你才能体会到架构的乐趣。逻辑思维是如何培养出来的?如何去改别人的框架?当你能力上来了,还怕这些做不到么。
在学这期课程之前,请大家先想想,如果你要来写个数据库框架,你会怎么来写?
考虑数据结构对不对?表关联关系都有吧?对象的序列化(插表)与反序列化(读表)得有吧?DAO层要不要有?
本期课程不是为了叫大家写好数据库框架然后用自己的,而是引导大家来思考如何写框架。就像上期的HTTP框架,只是为了透过架构的方式来提高大家的能力,知其然知其所以然。这样你才能在往后的工作中如鱼得水。
大家要深知授人以鱼不如授人以渔的道理,别张开闭口就来要源码,都教你怎么来写了,你还需要代码,就是彻彻底底的拿来主义,注定当一辈子码农。
数据库框架 传送门:http://www.stay4it.com/course/5
第1节反射与注解
第2节如何建表 通过反射和注解来建表
第3节如何将entity插入到数据库中 利用反射与注解将entity插入到db
第4节查数据库并自动生成对象 利用反射和注解将数据库中查出来的数据转成我们需要的对象
第5节序列化,一对一,一对多 Serializable TONE TMANY
第6节完整的增删改查以及关联关系实现
HTTP框架 传送门:http://www.stay4it.com/course/4
第1章:HTTP框架介绍
第2章:基础框架搭建
第1节 HTTPClient
第2节 动态处理服务器数据
第3节 基本框架搭建并测试
第3章:框架扩展
第1节 反序列化json数据成指定对象
第2节 支持下载进度更新
第3节 随时取消Request请求
第4节 预处理返回的对象(数据库操作或filter操作)
自己动手写Android框架-数据库框架的更多相关文章
- 自己动手写Android插件化框架
自己动手写Android插件化框架 转 http://www.imooc.com/article/details/id/252238 最近在工作中接触到了Android插件内的开发,发现自己这种技 ...
- 自己动手写Android插件化框架,让老板对你刮目相看
欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由达文西发表于云+社区专栏 最近在工作中接触到了Android插件内的开发,发现自己这种技术还缺乏最基本的了解,以至于在一些基本问题上浪 ...
- 玩转Android之数据库框架greenDAO3.0使用指南
用过ActiveAndroid.玩过ORMLite,穿过千山万水,最终还是发现greenDAO好用,ActiveAndroid我之前有一篇文章介绍过 玩转Android之数据库框架ActiveAndr ...
- 自己动手写Android数据库框架
前言 相信不少开发人员跟我一样,每次都非常烦恼自己写数据库,并且那些数据库语句也经常记不住.当然网上也有非常多非常好的数据库框架,你能够直接拿来用,可是 非常多时候我们的项目.特别是一个小型的Andr ...
- 玩转Android之数据库框架ActiveAndroid的使用
ActiveAndroid是一个开源的数据库框架,使我们在Android中使用数据库变得更为简单,今天我们就来看看这个数据库框架的使用. 1.引入ActiveAndroid 首先创建我们自己的项目,在 ...
- PHP学习笔记,自己动手写个MVC的框架
最新在大家自己的博客的过程中,发现各种开源的博客系统都或多或少的用起来别扭.于是想动手自己写个博客系统.既然写,就想好好写.那就先写个MVC框架.一点一点来.写的过程中有很多想法.还希望大家能够多多指 ...
- PHP学习笔记,自己动手写个MVC的框架 -- base所有代码
<?php /** 名称:基础类 作用:引用参数处理类,加载基础配置, 作者:swordphp@126.com 创建日期:2013-07-31 **/ require_once(ROOT_PAT ...
- 自己动手写android图片异步载入库
尊重他人劳动成果,转载请说明出处:http://blog.csdn.net/bingospunky/article/details/44344085 接触android有半年了.关于图片异步载入.一直 ...
- Android 数据库框架OrmLite的使用(一)
在这里记录下最基本的用法,官网上可了解相关的介绍. 1.下载OrmLite jar 在下载android的:ormlite-android-4.48.jar和ormlite-core-4.48.jar ...
随机推荐
- 微信支付服务器CA证书更换服务器安装der证书的方法 DigiCert的根证书
[重要]微信支付服务器证书更换通知,请开发人员验证以免影响交易 尊敬的微信支付商户&服务商: 因微信支付HTTPS服务器证书的根CA证书将于2018年8月23日到期失效,微信支付计划于2018 ...
- Linux CentOS 7.x/6.x/5.x 导入epel源
How to Enable EPEL Repository for RHEL/CentOS 7.x/6.x/5.x vim /etc/yum.repos.d/CentOS-Base.repo 取消注释 ...
- CGRectMake 延伸
判断给定的点是否被一个CGRect包含,可以用CGRectContainsPoint函数 BOOLcontains=CGRectContainsPoint(CGRectrect,CGPointpoin ...
- Android lrucache 实现与使用(Android内存优化)
什么是LruCache? LruCache实现原理是什么? 这两个问题其实可以作为一个问题来回答,知道了什么是 LruCache,就只然而然的知道 LruCache 的实现原理:Lru的全称是Leas ...
- ASP.NET项目在IIS上使用虚拟目录
在IIS中,应用程序与虚拟目录特别容易混淆,但两者又是完全不同的概念. 应用程序是一个逻辑边界,这个边界可以分隔网站及其组成部分.虚拟目录则是一个真实的指针,这个指针指向了一个本地或远程的物理路径.虚 ...
- js中表达式 >>> 0 浅析 (以及用php简单翻译)
今天在看lodash的源码中slice这个函数实现的时候发现了里面有这么一行代码 length = start > end ? 0 : ((end - start) >>> 0 ...
- MySQL 死锁与日志二三事
最近线上 MySQL 接连发生了几起数据异常,都是在凌晨爆发,由于业务场景属于典型的数据仓库型应用,白天压力较小无法复现.甚至有些异常还比较诡异,最后 root cause 分析颇费周折.那实际业务当 ...
- scrapy定时执行抓取任务
在ubuntu环境下,使用scrapy定时执行抓取任务,由于scrapy本身没有提供定时执行的功能,所以采用了crontab的方式进行定时执行: 首先编写要执行的命令脚本cron.sh #! /bin ...
- haproxy+keepalived配置haproxy反向代理的高可用
http://www.cnblogs.com/shantu/p/4586277.html
- 查询系统负载信息 Linux 命令详解
linux uptime命令主要用于获取主机运行时间和查询linux系统负载等信息.uptime命令过去只显示系统运行多久.现在,可以显示系统已经运行了多长 时间,信息显示依次为:现在时间.系统已经运 ...