androidkit是我从大三开始做的一个项目,本来是打算做成工具包的,后来在毕业设计的促成下,决定把它做成一个android快速开发框架。目前稳定的构架如下:
如上图,一共分为六大模块:cache(缓存模块), db(数据封装的模块),http(HTTP请求模块),uibind(UI绑定模块),uilibs(UI库模块),utils(工具库模块)。
目前做得较完整的是http(有些功能待继续增加),uibind(完善稳定),utils(大量工具类)。
目前计划:
1.完成cache模块。
2.完善http模块(此模块包含两部分,一部分是提供静态方法的Http类及相关类,另一部分是async包里的内容,主要参考自国外的一个androido异步http框架,打算把它修改得有更好的扩展性)。
3.完成对sqlite3的封装,即完成orm部分。
4.封装一些实用且较常用的ui库。
目前各模块耦合度还是较低的,其他模块有些会依赖utils模块,但是除了utils模块之外,其他五个模块相互独立,可以各自与utils包打包成一个独立使用的jar包。
此篇仅为个人日志,亦框架计划。
另外,还盼路过的程序员哥哥姐姐们,多多指教,批评指正都接受。
最后附上一段个人思考:这是不是在重复造轮子?
对于android开发框架,说实话,我是去年10月份左右才了解到,通过开源中国了解到afinal的框架。但是第一次兴致冲冲地想去使用它的ui绑定功能时,却沮丧地发现自己用不了,因为它需要继承FinalActivity类,而我正好使用到百度地图,那时候的百度地图的版本是需要继承百度的MapActivity的。最后我决定自己实现ui绑定功能。于是用了一个上午的时间去完成了这个ui绑定的基本功能,并因此错过了校园招聘会。
也就是从这个时候开始,我才打算把自己原先在做的androidkit(顾名思义,你也应该知道我原来只是打算做成一个让开发更方便的工具包)再进行扩展,不再只是提供工具类,而是加上更多的内容。
后来就是忙于找工作和实习了。框架也没再继续做,整体的架构也挺乱的,虽然在开源中国2012年的受欢迎开源项目中因地理位置的关系获得了200票的支持。
而后,是在一些不认识的人和学校老师的支持下,决定继续完善它。于是重构,划分结构如上面所述。
后来,陆陆续续发现还有一些框架也在做类似的功能。比如国外有一个人写了一个注解框架(不是androidannotation),同样是做了UI绑定的功能。但是功能与我的uibind包提供的功能几乎一样,同样不需要继承,只需要静态方法调用即可进行绑定控件、事件、资源。
后来发现了另一个框架thinkandroid,但是下载下来之后发现其中的异步http模块也只是参考自上面所提到的android异步http框架,并没有我想要的扩展性(只支持File, String, Json, byte等一些类型)。而afinal也只是做了图片的缓存,并且是缓存到journal文件中(使用高版本的LruDiskCache类),而我想要的是有对象缓存,也有文件缓存。有些图片直接存为文件就好了,像qq客户端那样。那时候接触的afinal对数据库的操作也还是不支持事务的。
许多大大小小的问题积累下来,更加促成我去完成自己的androidkit的想法。因为我做的虽是与上面提到的相仿的,但是使用下来却会是不同的。这个世界不乏轮子,但是有些人可能需要摩托车轮,有些人需要自行车轮,而同样的自行车轮,也有不同的大小,精细之分。不要害怕重复造轮子,才是开源欣欣向上的原因。
个人牢骚,有点废话了。
- 大小: 10.9 KB
分享到:
相关推荐
- **Android SDK**:开发者使用Android Software Development Kit (SDK) 进行开发,包含API库、工具和系统图像,用于构建、测试和调试应用。 - **Activity和Intent**:Activity是Android应用的基本组件,用于与...
【标题】"安卓Android源码——rokon_lib_2-0-3.zip"涉及的知识点主要集中在Android系统开发和第三方库的使用上。这个压缩包很可能是rokon库的一个版本,rokon是一个专为Android平台设计的游戏开发框架,用于简化游戏...
通过对Spaceassault项目的源码分析,我们可以学习到Android应用开发的多个方面,包括游戏开发的特殊技巧、性能优化策略以及如何利用Android框架进行高效编程。这不仅有助于提升个人技能,也为今后的项目开发提供了...
1. **Android SDK和NDK**:SDK(Software Development Kit)是Android应用开发的基础,提供了编译、调试和部署应用所需的工具。NDK(Native Development Kit)则允许开发者使用C/C++编写高性能的原生代码,尤其是在...
【标题解析】 "安卓Android源码——手机铃声软件源代码.rar" ...通过深入研究这个项目源码,开发者可以学习到Android应用开发的多个方面,包括音频处理、UI设计、系统集成等,同时也能提升对Android框架和组件的理解。
综上所述,"Android源码——DocumentViewer(PDF阅读器)"项目涵盖了Android应用开发的多个方面,包括Android框架、第三方库集成、UI设计、文件操作、用户交互、性能优化等,是学习Android开发特别是PDF阅读器实现的...
5. **应用程序框架**:Android框架层包括Intent、BroadcastReceiver、Service、ContentProvider、Activity Manager等组件,它们是构建Android应用的核心。深入理解框架层,可以更好地设计和实现复杂的系统级服务。 ...
"安卓Android源码——Protips.rar"这个压缩包很可能包含了关于Android源码的一些实用技巧和指南,帮助开发者更好地理解和利用Android系统的底层机制。尽管无法直接查看压缩包的具体内容,但我们可以基于Android源码...
1. **Android SDK**: 开发此应用的基础是Android Software Development Kit (SDK),它提供了构建Android应用所需的所有工具和技术文档。 2. **音频处理API**: 应用能播放音乐,意味着它会使用Android的MediaPlayer...
【安卓Android源码——酒店管理】是一个典型的移动应用开发项目,主要针对的是使用Android平台的设备,例如智能手机和平板电脑。这个源码提供了一个酒店管理系统的基础框架,可以帮助开发者理解和学习如何在Android...
2. **Android SDK**:开发Android应用需要Android Software Development Kit,包含了Android API、构建工具和调试工具。 3. **Kotlin/Java编程**:作为Android开发的主要语言,Kotlin现在更为推荐,但早期的项目...
1. **Android SDK与开发环境**:开发Android应用首先需要安装Android Software Development Kit (SDK),它提供了编译、调试和运行应用所需的工具。Android Studio是官方推荐的集成开发环境(IDE),它集成了SDK管理...
Android游戏开发主要依赖于Android SDK(Software Development Kit),它包含了一系列工具和API,帮助开发者创建、调试和发布Android应用。在这个项目中,开发者可能使用了Java语言,因为它是Android开发的标准语言...
本项目中的“安卓Android源码——基于SDL、FFmpeg的android播放器源码.zip”是一个示例,它展示了如何利用这两个库在Android设备上实现音视频播放功能。 **SDL(Simple DirectMedia Layer)** 是一个跨平台的开发库...
1. **Android SDK**:开发MIUI指南针应用需要Android Software Development Kit (SDK),它提供了开发环境、工具和库,帮助开发者创建、调试和发布Android应用。 2. **传感器API**:指南针应用依赖于Android的传感器...
【安卓Android源码——安卓Android 4.4.2 简单的人品测试】 在深入探讨这个主题之前,我们首先要理解的是,Android是一个开源的操作系统,由谷歌公司主导开发并广泛应用于智能手机和平板电脑。Android 4.4.2(Kit...
【标题】中的“安卓Android源码——Android应用源码之手机控制电脑wirelesskeyboard1.4(手机端源码)”表明这是一个关于Android操作系统应用程序的源代码,具体来说,它是一个实现手机作为无线键盘功能的应用,允许...
1. **Dalvik/ART**:Dalvik是早期Android使用的虚拟机,而ART(Android RunTime)在KitKat版本后成为默认选项。它们负责字节码的解释执行和优化。 2. **System Server**:Android系统服务器,负责初始化系统服务,...
在开发这个应用时,开发者需要使用Android Software Development Kit (SDK),包括Java编程语言和Android Studio集成开发环境。开发者可能利用Android Studio中的模拟器或真实设备进行测试和调试。 2. **网络通信**...
这个压缩包“安卓Android源码——基于SDL、FFmpeg的播放器源码.zip”包含了一个使用这两个库实现的视频播放器的源代码。以下是对这些知识点的详细说明: 1. **SDL (Simple DirectMedia Layer)**: SDL是一个跨平台的...