Android之轮子开发

Android开发需要提高自己的技术水平,造轮子搭框架是比较好的方法。

关于Architecture,其他语言中有很多比较著名的框架。

PHP中有thinkPHP 或者Laravel;
Java中有Spring IOC、Spring MVC\Struts2、Mybatis\Hibernate;
.net中有microsoft enterprise library.

在安卓中,可以通过下面一句话理解:

"Architecture is About Intent, not Frameworks."

Android开发并没有什么通用框架,应用框架完全是从业务中提取出来的,框架提供的只是一个思维。

开发中需要熟悉哪些场合需要使用什么框架,同时,在开发中肯定会用比如RxJava EventBus Glide等优秀的库。

我们自己造轮子可以有很多选择:

图片加载\缓存的库

需要有效的避免OOM
推送

手机端NDK保持一个socket并且发送心跳
ViewInject

类似butterknife一样的东西

-----------------------------------------------------分割线-----------------------------------------------------

###可以参考学习的开源框架

####网络

* [okhttp](square/okhttp · GitHub)

* [android-async-http](loopj/android-async-http · GitHub)

####事件总线

* [otto](square/otto · GitHub)

* [EventBus](greenrobot/EventBus · GitHub)

####依赖注入

* [Dagger](square/dagger · GitHub)

* [RoboGuice](roboguice/roboguice · GitHub)

* [ButterKnife](JakeWharton/butterknife · GitHub)

####图片

* [Fresco](facebook/fresco · GitHub)

* [Glide](bumptech/glide · GitHub)

* [picasso](square/picasso · GitHub)

####数据库

* [greenDao](greenrobot/greenDAO · GitHub)

* [ormlite](j256/ormlite-android · GitHub)

* [LitePal](LitePalFramework/LitePal · GitHub)

####响应式编程

* [RxJava](ReactiveX/RxJava · GitHub)

* [RxAndroid](ReactiveX/RxAndroid: RxJava bindings for An...)

####日志输出

* [logger](orhanobut/logger: Simple, pretty and powerf...)

* [android-CLog](liaohuqiu/android-CLog)

* [KLog](ZhaoKaiQiang/KLog · GitHub)

* [LogUtils](pengwei1024/LogUtils · GitHub)

####崩溃统计平台

* [腾讯bugly](腾讯Bugly - Android Crash(崩溃)_iOS Crash(崩溃)_ANR_卡顿)

* [Crittercism](Crittercism - Developer Home)

* [Crashlytics](The most powerful, yet lightest weight crash reporting solution for iOS and Android developers.)

###架构设计

这个肯定得了解下MVC,MVP,MVVM还有设计模式这些,这里有几个开源项目推荐下

#####philm

Movie collection and information app for Android.

Github地址:chrisbanes/philm: Movie collection and info...

#####SimpleNews

基于Material Design和MVP的新闻客户端

Github地址:GitHub - liuling07/SimpleNews: 基于Material Design和MVP的新闻客户端

#####GankDaily

A application show technical information every working days, use MVP pattern.

Github地址:maoruibin/GankDaily

#####SimplifyReader

Github地址:GitHub - SkillCollege/SimplifyReader: 一款基于Google Material Design设计开发的Android客户端,包括新闻简读,图片浏览,视频爽看 ,音乐轻听以及二维码扫描五个子模块。项目采取的是MVP架构开发,由于还是摸索阶段,可能不是很规范。但基本上应该是这么个套路,至少我个人认为是这样的~恩,就是这样的!

#####NBAPlus

Github地址:SilenceDut/NBAPlus · GitHub

#####PhotoNoter

Github地址:yydcdut/PhotoNoter

#####Meizhi

Github地址:drakeet/Meizhi: gank.io unofficial client, RxJava & Retrofit

###其他

#####leakcanary

检查内存泄露

Github地址:GitHub - square/leakcanary: A memory leak detection library for Android and Java.

#####DebugDrawer

Android Debug Drawer for faster development

Github地址:palaima/DebugDrawer · GitHub

#####ViewServer

Local server for Android's HierarchyViewer

Github地址:romainguy/ViewServer · GitHub

#####AndroidWiFiADB

IntelliJ/AndroidStudio plugin which provides a button to connect your Android device over WiFi to install, run and debug your applications without a USB connected.

Github地址:https://github.com/pedrovgs/AndroidWiFiADB

####PS:开源框架虽然好用,但最好要了解框架存在的一些bug和坑,遇到问题可以自己造轮子解决,也可以给作者提issue,一般这些有名的框架,作者都会很积极的回答。推荐下[Android-Dev-Favorites](GitHub - ruijun/Android-Dev-Favorites: The repository is Android development favorites, It used to collect the knowledge of Android Development.),里面收集了Android开发的干货。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值