Android开源项目分包方式学习(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库GreenDroid)

├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,这个层里面针对每一个界面都单独地建立了文件夹,界面中的业务逻辑就大量地分布在这些文件夹中。我感觉,跟一个界面相关的业务逻辑直接集中在一个文件夹中,而不是分散在各个不同的包中,其实挺方便的。

 

 

文中涉及的开源项目

eoe android客户端

github Android客户端

oschina android 客户端

作者:kissazi2 
出处:http://www.cnblogs.com/kissazi2/ 
本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

转载:http://www.cnblogs.com/kissazi2/p/3516439.html

时间: 2024-09-04 09:36:43

Android开源项目分包方式学习(eoe、oschina、github)的相关文章

GitHub上史上最全的Android开源项目分类汇总

今天在看博客的时候,无意中发现了 @Trinea在GitHub上的一个项目 Android开源项目分类汇总,由于类容太多了,我没有一个个完整地看完,但是里面介绍的开源项目都非常有参考价值,包括很炫的界面特效设计.个性化控件.工具库.优秀的Android开源项目.开发测试工具.优秀个人和团体等.可以这样说,每一位Andorid开发人员都能从中找到一个或多个适用自己项目的解决方案,消化吸收并加以利用,可以为自己的APP增色不少.文章最后还列出了部分国外著名Android开发者的信息,包括GitHub

【Android】GitHub Android 开源项目汇总

参考网址:http://blog.csdn.net/ithomer/article/details/8882236 GitHub 上的开源项目不胜枚举,越来越多的开源项目正在迁移到GitHub平台上.基于不要重复造轮子的原则,了解当下比较流行的Android与iOS开源项目很是必要.利用这些项目,有时能够让你达到事半功倍的效果. 1. ActionBarSherlock(推荐) ActionBarSherlock应该算得上是GitHub上最火的Android开源项目了,它是一个独立的库,通过一个

Android开源项目第一篇——个性化控件(View)篇

本文为那些不错的Android开源项目第一篇--个性化控件(View)篇,主要介绍Android上那些不错个性化的View,包括ListView.ActionBar.Menu.ViewPager.Gallery.GridView.ImageView.ProgressBar及其他如Dialog.Toast.EditText.TableView.Activity Animation等等. 本文中你可以找到那些精美App中各种有特性的View,如Gmail的左滑出菜单.Google plus的卡片式L

Android开源项目第三篇——优秀项目篇

本文为那些不错的Android开源项目第三篇--优秀项目篇,主要介绍那些还不错的完整Android项目. 记录的项目主要依据是项目有意思或项目分层规范比较好. Linux 项目地址:https://github.com/torvalds/linux Android 项目地址:https://android.googlesource.com/或https://github.com/android 以上两个项目,不解释   (1) ZXing 二维码扫描工具 项目地址:https://github.

Android开源项目--工具库篇

本文为那些不错的Android开源项目--开发工具库篇,主要介绍常用的开发库,包括依赖注入框架.图片缓存.网络相关.数据库ORM建模.Android公共库.Android 高版本向低版本兼容.多媒体相关及其他.   最新内容请访问AndroidOpenProject@Github,欢迎Star和Fork. 对你有帮助的话,去知乎点个赞让更多人了解:Android 优秀开源项目及特效推荐.   Android开源项目系列汇总已完成,包括: Android开源项目第一篇--个性化控件(View)篇A

Android开源项目第二篇——工具库篇

Android开源项目第二篇--工具库篇 本文为那些不错的Android开源项目第二篇--开发工具库篇,主要介绍常用的开发库,包括依赖注入框架.图片缓存.网络相关.数据库ORM建模.Android公共库.Android 高版本向低版本兼容.多媒体相关及其他.   最新内容请访问AndroidOpenProject@Github,欢迎Star和Fork.   Android开源项目系列汇总已完成,包括: Android开源项目第一篇--个性化控件(View)篇Android开源项目第二篇--工具库

最火的Android开源项目整理

一.代码库   1.from  代码家 整理比较好的源码连接   *************************************************************************************************************************************************************************** http://blog.zhan-dui.com/?page_id=60   感谢 "代码

android开源项目下载地址

FBReaderJ FBReaderJ用于Android平台的电子书阅读器,它支持多种电子书籍格式包括:oeb.ePub和fb2.此外还支持直接读取zip.tar和gzip等压缩文档. 项目地址:http://www.fbreader.org/FBReaderJ/ 源码地址:http://www.fbreader.org/files/android/FBReaderJ-sources-1.2.6.zip FBReaderJ-sources-1.2.6.zip (1.95 MB, 下载次数: 85

Android开源项目PullToRefresh下拉刷新功能详解2_Android

先看看效果图: 这里介绍的是PullToRefreshGridView的使用方法,和之前的PullToRefreshListView方法如出一辙,因为这个开源项目模块化很棒,所以很容易实现.等于说我们可以按照之前使用控件的方式来操作,不用考虑其他的问题.  思路:  1.写布局文件,放入可以下拉刷新的控件  2.找到下拉刷新的控件,设置监听器,并且在刷新方法中开启一个异步任务来操作  3.通过这个下拉刷新控件的getRefreshableView()方法来得到GridView对象,按照正常的操作