在路由框架之前,我们先了解什么是APT,并实践ButterKnife绑定findById的小功能。为什么先要讲解apt,因为路由的实现apt是核心的代码.看下面链接 APT 实践。本文项目地址为什么需要路由我们知道路由就是实现页面的跳转,然而Android原生已经支持app页面间的跳转。一般来说我们会这样写:Intent intent = new Intent(this, MainActivity
本地广播LocalBroadcastManager说到组件通信第一个肯定想到广播BroadcastReceiver,但是这里要说的是一个更优的选择---本地广播LocalBroadcastManager;优点:只在app内传播, 信息不会泄露,也不会被别人的广播干扰, 且比全局广播更高效;缺点:但是本地广播传输消息时将一切都交给系统负责,无法干预传输中的步骤;使用观察者模式使用demo:clas
Android 组件化开发是一种将一个大型的Android应用拆分成多个独立的模块,方便团队协作与维护的开发模式。在组件化开发中,不同模块之间需要进行通信。除了使用ARouter这种常见的路由框架,我们还可以通过EventBus、BroadcastReceiver等方式来实现组件通信。 **EventBus** EventBus是一款轻量级的事件总线框架,可以简化组件通信的实现。使用Eve
原创 2024-04-09 03:25:43
136阅读
    Android四大组件:Activity,Service,Broadcast,ContentProvider。下面主要介绍Activity之间的通信,Activity和Fragment之间的通信,Activity和Service之间的通信,以及ContentProvider使用。组件之间利用广播,EventBus等第三方框架进行通信这里不做介绍。一、
转载 2023-06-27 20:26:34
252阅读
Android 组件化实现一、介绍  将一个app分成多个模块,每个模块都是一个组件(Module),开发的过程中我们可以让这些组件相互依赖或者单独调试部分组件等,但是最终发布的时候是将这些组件合并统一成一个apk,这就是组件化开发。组件化开发中认为组件作为系统的一部分,是可独立运行的服务。   优点:一个复杂的系统由一个个组件集合而成,不同的组合可以构建出不同的系统。每个组件有独立的版本,可独立
转载 2023-07-25 22:52:03
175阅读
比如前端一个小的UI组件类似Android开发中的自定义UI,可以叫做组件,但是显然在移动开发中我们不会认为是一个组件,在前端中组件的集合叫做组件库或者UI组件库,比如AntD,elementUI等安卓也有UI组件库,比如QMUI等Android开发中,我们依赖了很多module,组件和模块我认为可以统一但是也可以细分首先实现方式上他们并没有什么区别,都是通过module依赖实现的如果非要区分,可
转载 6月前
27阅读
前言:组件化是安卓目前很流行的一门技术,其目的是避免复杂的业务逻辑交织到一起,相互影响。通过解耦,让每个子项目都是一个独立的工程,即使其余模块出现问题,也不会影响这个子模块的运行。一.为什么要实现通用接口实现类的解耦我们首先抛出第一个问题,什么要实现通用接口实现类的解耦?不解耦可以吗?既然这样,那我们先来看一下如果不实用APT解耦,我们该怎么做?举一个现实的场景:应用启动时,各个模块需要初始化。首
转载 2023-10-12 17:38:06
173阅读
我写这篇文章的初衷就是由上而下,希望别人在阅读的过程中能够觉得“组件化原来也就是这几个东西”的感觉。
原创 2018-09-13 10:15:22
10000+阅读
网上组件化的文章很多,但大多数文章都从底层的细枝末节开始讲述,由下而上给人一种这门技术“博大精深”望而生畏的感觉。而我写这篇文章的初衷就是由上而下,希望别人在阅读的过程中能够觉得“组件化原来也就是这几个东西”的感觉。 我们通常情况下会有一个core的libary模块和一个app…
简介ARouter是阿里开源的路由组件,是 Android 平台中对页面、服务提供路由功能的中间件,常被用来进行组件化通讯。功能介绍支持直接解析标准URL进行跳转,并自动注入参数到目标页面中支持多模块工程使用支持添加多个拦截器,自定义拦截顺序支持依赖注入,可单独作为依赖注入框架使用支持InstantRun支持MultiDex(Google方案)映射关系按组分类、多级管理,按需初始化支持用户指定全局
转载 2023-08-04 11:33:37
74阅读
什么是组件化开发?个人理解是一种高内聚低耦合的开发模式。在移动开发里,它将一个大功能整体进行拆分,分别进行单独调试,最后再合并打包 我向大家极力推荐使用组件化。因为无论你使用的是何种语言,开发的是什么项目,都有可能面对项目迭代中的各种高度耦合,而且随着开发人员数量的增多或者人员的调度,这种问题会越来越严重。最后在开发过程中,你就不得不在各个模块间跳来跳去,再加上AS本身编译速度那么慢,岂是一个呵呵
转载 2024-06-17 22:22:43
70阅读
在一个项目之中,会由多个 Activity 程序所组成,那么此时,这么多个 Activity 程序之间就需要进行通讯,而这之间的通讯就依靠 IntentActivity 程序支持的 IntentNo.方法 描述 1Public void startActivity(Intent intent)启动一个 Activity ,并通过 Intent2Public void startActivityFo
5、组件通信5.1    Activity        Activity是Android系统中最重要的也是最基本的组件。每一个Activity可以通过布局文件、Java程序或者两者相结合的方式来绘制用户界面。一个应用程序通常由多个Activity组成,它们之间通过组件通信技术形
转载 2023-10-12 17:37:56
123阅读
在开发大型 Android 应用时,模块间的数据通信经常是一个不可避免的挑战,尤其是当使用像 ARouter 这样的路由框架时。ARouter 提供了简单的路由框架,使得模块间的跳转和数据传递变得更加便利。但在不同模块之间进行数据通信的过程也需要一定的理解和设计。 ### 背景定位 随着 Android 技术的不断发展,模块化架构在项目开发中的应用越来越广泛。这使得团队可以并行开发不同的模块,
ARouter原理概述:一、路由表生成:编译时注解加上注解处理器生成路由表二、路由表加载:LogisticsCenter通过反射加载这些路由信息表。ARouter 是阿里开源的一款帮助 Android APP 进行组件化改造的路由框架,可以实现在同一个项目中互不依赖的的模块的 Activity 之间跳转。ARouter 的路由、参数和拦截器都是用注解来标注的。注解在 Retrofit、Dagger
ARouter的使用步骤第一步 添加依賴因为ARouter在各个模块都会用到,因此可以在ModuleBase 里面添加依赖。api 'com.alibaba:arouter-api:1.4.0'第二步 引入注解处理器ARouter 使用了编译时注解,这里需要在各个子模块引入处理器。annotationProcessor 'com.alibaba:arouter-compiler:1.2.1' 
转载 2023-11-08 21:28:08
132阅读
ARouter 简介一个用于帮助 Android App 进行组件化改造的框架 —— 支持模块间的路由、通信、解耦。组件化或者模块化开发模式,已逐渐成为热浪的形式,使用这些模式可以让我们程序更容易的扩展、更方便的维护。更快捷的同步开发与更简单的单独调试,而ARouter的出现就是让组件间、模块间是实现完全的独立。ARouter是:阿里巴巴自研路由框架,主要解决组件间、模块间的界面跳转 问题。是AR
转载 2023-08-04 11:37:26
1152阅读
相关角色:ARouter:负责提供客户端使用的Api接口,采用了门面模式,实际上内部委托给了_ARouter去处理 _ARouter:路由中心控制器,负责控制整个路由的流程,通过Postcard中的信息导航客户端到目标地址(启动某个Activity或者获取某个服务的实现等) LogisticsCenter:后勤中心,负责注册路由信息到Warehouse和根据path或者Postcard到数据仓库中
转载 2023-09-28 15:15:16
112阅读
一、原理浅析在同一个模块类的页面可以相互持有引用从而实现页面跳转的功能,在不同模块间的跳转则可以使用ARouter路由框架解决。从A界面跳转到B界面的过程进行分析大致分为四个过程。1、注册 B界面将类的信息以k-v的形式向ARouter注册。2、查询A界面发起跳转请求,通过key查询到ARouter中注册的类信息,并将跳转信息(跳转传递的参数、跳转动画信息等)传递至ARouter。3、结合ARou
转载 2024-02-18 19:53:31
174阅读
android基本组件Activity一个activity是一个显示界面,可以显示并处理用户的事件。activity之间通过intent进行通信每个activity需要在AndroidManifest.xml中声明 Service一个无界面的后台进程。startService()启动的服务,生命周期与其调用者无关,只要没人杀则永生。bindService()启动的服务,生命周期与调用者相
  • 1
  • 2
  • 3
  • 4
  • 5