`
貌似掉线
  • 浏览: 256879 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

androidkit——Android开发框架

阅读更多
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
0
1
分享到:
评论
6 楼 貌似掉线 2014-05-23  
hyc_willie 写道
关注着你的框架,希望能见到它的发布

目前托管在github.最近在抽时间重整,到时候版本号也会从新算起,包名会有改变。原来的包名用的是在学校的团队的注册的域名,现在自己有注册了一个自己的域名。
5 楼 hyc_willie 2014-05-06  
关注着你的框架,希望能见到它的发布
4 楼 貌似掉线 2013-08-03  
xiaozhi6156 写道
你 那个博客地址是什么?

哪个博客?
3 楼 xiaozhi6156 2013-07-02  
你 那个博客地址是什么?
2 楼 貌似掉线 2013-06-18  
superhj1987 写道
支持继续做下去,如果有需要帮忙的地方可以找我啊

嗯嗯,,谢谢支持。希望多多指教。
1 楼 superhj1987 2013-06-18  
支持继续做下去,如果有需要帮忙的地方可以找我啊

相关推荐

Global site tag (gtag.js) - Google Analytics