我的新书《Android App开发入门与实战》**已于2020年8月由人民邮电出版社出版,欢迎购买。点击进入详情
**
文章目录
-
1.简介
-
2.项目地址
-
3.sdk功能
-
4.app功能
-
5.主要版本修订日志
-
6.引用的第三方库
-
7.SDK引用的开源框架
-
8.使用ARabbit的项目
欢迎加入Android开发交流QQ群:
==============================================================
提供App开发的接口,使开发者只关心App的业务实现,不用再关心具体功能实现,比如网络请求、图片加载、对话框、缓存等,也不用再为内存泄漏担心。
4.0.0版本进一步精简代码,淘汰了一些老旧的技术栈,全面向kotlin技术栈和jetpack技术栈靠齐;
ARabbit名字的含义:A代表Android,Rabbit是兔子的意思,象征着速度快,和本项目的初衷匹配:快速开发。
================================================================
https://github.com/ddnosh/ARabbit
sdk引用代码:
implementation ‘com.androidwind:arabbit:4.0.0’
=================================================================
- module: 功能模块;
1.1 exception: 异常处理;
1.2 glide:图片模块glide的封装;
1.3 retrofit:网络模块retrofit的功能封装,包括exception和ssl;
1.4 rxbus:使用rxbus替换eventbus;
1.5 rxjava:rxjava部分功能封装;
- mvvm
2.1 livedata:增强版livedata
- ui:UI模块
3.1 adapter:单一布局和多布局;
3.2 base:提供activity和fragment基类;
3.3 dialog:提供基于dialog和dialogfragment的对话框;
3.5 multipleviewstatus:不同页面状态支持;
3.5 view:常用view控件支持;
3.6 webview:提供一个加载webview的activity;
- util:提供一些常用的Util工具类;
4.1 handler:防泄漏Handler;
4.2 immersion:沉浸式状态栏;
4.3 manager:存放管理类;
=================================================================
app主要是sdk一些功能的演示。
-
MVVM架构(简化版,只有View + ViewModel,通过CompositeDisposable解决RxJava内存泄漏问题);
-
改进型LiveData,保证LiveData不丢失,LiveData在激活时回调,没有内存泄漏,SingleLiveData保证只被调用一次;
-
Coroutine,Kotlin协程代码实例;
-
网络连接(retrofit + okhttp,rxjava通过rxlifecycle绑定生命周期,RxJava异常处理)
-
加载图片:Glide
-
自定义各种Dialog
-
viewBinding的使用方法
====================================================================
- 4.0.0
-
去除butterknife(使用kotlin自带)、去除viewbinding(放在app工程中)、去除eventbus(使用rxbus替换)、去除老旧的屏幕适配方案(可使用头条的)
-
使用jetpack的viewmodels和coroutines等
-
进一步明确rxjava+rxlifecycle+rxbus搭配、viewmodel+livedata搭配的技术栈
-
更改包名
-
3.1.0版本改名,完善App工程实例;
-
3.0.0版本改用Kotlin;
-
2.2.0版本支持AndroidX;
-
2.1.0版本剥离强制引用的一些第三方库;
-
2.0.0版本更改包名为com.androidwind.androidquick;
-
1.0.0版本初次提交;
===================================================================
implementation “org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version”
api rootProject.ext.dependencies.values()
//rxjava2
api “io.reactivex.rxjava2:rxjava:2.2.21”
api “io.reactivex.rxjava2:rxandroid:2.1.1”
如何做好面试突击,规划学习方向?
面试题集可以帮助你查漏补缺,有方向有针对性的学习,为之后进大厂做准备。但是如果你仅仅是看一遍,而不去学习和深究。那么这份面试题对你的帮助会很有限。最终还是要靠资深技术水平说话。
网上学习 Android的资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。建议先制定学习计划,根据学习计划把知识点关联起来,形成一个系统化的知识体系。
学习方向很容易规划,但是如果只通过碎片化的学习,对自己的提升是很慢的。
我搜集整理过这几年字节跳动,以及腾讯,阿里,华为,小米等公司的面试题,把面试的要求和技术点梳理成一份大而全的“ Android架构师”面试 Xmind(实际上比预期多花了不少精力),包含知识脉络 + 分支细节。
在搭建这些技术框架的时候,还整理了系统的高级进阶教程,会比自己碎片化学习效果强太多。
网上学习 Android的资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。希望这份系统化的技术体系对大家有一个方向参考。
《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》,点击传送门,即可获取!
cess=image/format,png)
网上学习 Android的资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。希望这份系统化的技术体系对大家有一个方向参考。
《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》,点击传送门,即可获取!