sqliteAndroid开源项目包含模式学习(eoe、oschina、github)

总感觉Android中有关分包的著作很少,或者几乎可以说并未。可是合理地蕴藏,又有何不可使一切项目模块化,减弱包与包里面的依赖,让整体项目标框架进一步明显,更有益于后续效应的拓展。

因为从没有关的小说,所以这边晒出三款开源项目标涵盖方式,供大家学习。

(一) eoe社区 Android 客户端

src

├ cn.eoe.app –存放程序全局性类的包 
├ cn.eoe.app.adapter –存放适配器的兑现类的包 
├ cn.eoe.app.adapter.base –存放适配器基类的包 
├ cn.eoe.app.biz –存放DAO类的包 
├ cn.eoe.app.config --存放常量,配置和api接口等类的包 
├ cn.eoe.app.db –关于sqlite操作相关的类的包 
├ cn.eoe.app.db.biz –详细的增删改查类的包,暂时仅有一个类 
├ cn.eoe.app.entity –实体类包 
├ cn.eoe.app.entity.base –实体类基类包 
├ cn.eoe.app.https –网络访问相关类的包 
├ cn.eoe.app.indicator –导航相关的类包 
├ cn.eoe.app.slidingmenu –滑动菜单相关类包 
├ cn.eoe.app.ui –界面相关的包,activity的类 
├ cn.eoe.app.ui.base –activity相关的基类包 
├ cn.eoe.app.utils –工具类包 
├ cn.eoe.app.view –Fragment相关类的包 
├ cn.eoe.app.widget –自定义view组件包

 

├ com.google.zxing.camera –第三方定义,控制视频头包 
├ com.google.zxing.decoding — 二维码图像解码包 
├ com.google.zxing.view — 自定义View,控制拍摄取景框和卡通等

点评:config层是一个大局都得以访问到的配置层。另一个就是dao层,这层重大用于从json字符串将官数据提取出来。其他的也就是相比较广泛的adatper、ui等层。

(二) 开源中国社区 Android 客户端

src

├com.weibo.net — 和讯新浪SDK源码包

├greendroid.widget — 快捷菜单栏组件(外国UI库格林(Green)Droid)

├net.oschina.app — APP启动及管理包

├net.oschina.app.adapter — APP列表适配器包

├net.oschina.app.api — API访问包

├net.oschina.app.bean — APP实体包

├net.oschina.app.common — APP工具包

├net.oschina.app.ui — APP界面包

├net.oschina.app.widget — APP控件包

点评:开源中国的涵盖情势简单明了,它好似将大量的工作逻辑放在了UI层,不过项目标作业逻辑不多的境况下,这倒也尚无什么。Adatper层是UI层的数据源。Bean层中提供了各个实体类。oschina中尚无数据库访问相关的包。

(三) github Android 客户端

由于自己尚未详细读过github的源代码,并且网上也未尝关于github的Android客户端的蕴藏的剖析作品,由此上边github分包的诠释或者有误。

├─com.github.mobile.accounts –账户相关类

├─com.github.mobile.core –业务层,实现所有客户端中的首要工作逻辑

│ ├─code

│ ├─commit

│ ├─gist

│ ├─issue

│ ├─ref

│ ├─repo

│ ├─search

│ └─user

├─com.github.mobile.persistence –数据持久化层

├─com.github.mobile.sync –同步音讯层(不确定是不是那几个效用)

├─com.github.mobile.ui –界面层

│ ├─code

│ ├─comment

│ ├─commit

│ ├─gist

│ ├─issue

│ ├─ref

│ ├─repo

│ ├─search

│ └─user

└─com.github.mobile.util –实用工具层

点评:github的开源客户端很强烈地实现了UI和作业逻辑的诀别。相比较好玩的是,github项目中绝非独立一个adapter层,而是径直放在了UI层。业务逻辑被大量地位于com.github.mobile.core,这一个层里面针对每一个界面都独立地树立了文本夹,界面中的业务逻辑就大量地分布在这多少个文件夹中。我备感,跟一个界面相关的工作逻辑直接汇总在一个文本夹中,而不是散落在相继不同的包中,其实挺方便的。

 

网站地图xml地图