EasyRouter

Project Url: Xiasm/EasyRouter
Introduction: 如何一步步实现一个类似 ARouter 的 Android 路由框架,实现不同 module 的相互跳转,跟着我来实现就可以了。
More: Author   ReportBugs   
Tags:

简介

路由在项目中用了很长一段时间了,一直用的 ARouter,很早的时候,我就把 ARouter 里里外外研究了一番,可以说里面干货多多,但时间长了就有些记不住了,甚至一些技术点都记的混淆了。 于是便萌生了写一篇技术博客的想法,后来又觉着干巴巴的写一篇文章不足以让我认识的更深刻,就想着可否按照 ARouter 的思想自己实现一个简单的路由框架呢?
后来,在我不断地学习推动以及参考众多资料的情况下,耗费了几个月的业余时间,终于完成了这个项目。

这个项目对你有什么帮助?

通常看来,我要理解 ARouter,就要去读 ARouter 的源码,这当然是不错的方法,但需要花费很多的时间去理解源码,而这个项目能给你的好处是一步步有条理的指导你如何去设计路由框架、一些技术点的作用及为什么要用这些技术等等,并且重点放在讲解,直到最后设计出来一款自己的路由框架,所以说呢,干货多多,简要列举几点:

  • 首先,你可以学习到如何搭建组件化架构

  • 其次,你可以学习到 apt、javapoet 等框架开发利器

  • 再者,你可以手动实现自己的依赖注入框架

  • 最后,像 instantrun 处理、框架设计等等

项目理解推荐

既然你来了,我想我们的目的很明确,就是要从根本上理解路由。所以我推荐大家把 demo clone 下来在电脑上跑一遍,然后边浏览 WIKI 的文档边读代码,这样才能快速的理解设计的思想。

文档指导,点击跳转 wiki

目录:

一、从组件化引入路由设计需要满足的条件

二、通过 Route 注解去探究如何实现路由跳转

三、利用 apt 和 javapoet 生成路由映射文件

四、框架的设计

五、框架的初始化

六、实现路由跳转

七、为什么需要依赖注入

八、Activity 的属性注入

联系我

email:xiasem@163.com & devxiasm@gmail.com
微信:xsm0824mn003

Apps
About Me
GitHub: Trinea
Facebook: Dev Tools