Android组件化-组件间通信BRouter

Android组件化开发项目中,一个很大的问题就是解耦之后组件间的通信,Activity/Fragment的跳转切换、组件间数据传递、数据共享等,可以通过广播Broadcast、EventBus等决绝部分问题,不过多数实践证明Broadcast和EventBus随着业务扩张,会使数据传递、代码调用变得难以追踪。阿里的ARouter也是一个用于解决组件间通信的框架,支持跨模块页面跳转、跨模块API调用、通过URL映射到模块内部、拦截跳转、支持注解等,简单易用。

个人觉得ARouter功能比较丰富,也感觉有些重量级,包括gradle工程文件配置、注解URL与代码耦合,我曾经接触过一个团队,他们组内非常抵触注解开发,因为他们觉得注解开发方便但会使代码变得难以追踪。加上小小的造轮子热情,组件化开发中我没有引入ARouter,而是手写了一套路由框架BRouter,这个框架很大程度上借鉴了SRouter

Readmore

Android组件化-基础框架搭建

安卓组件化开发是老生常谈的问题,基础的模块化开发教程很多,本系列教程展现从零开始,到整个系统搭建的过程,设计项目组件化结构、MVP设计模式、组件间通信路由框架、WebSocket网络交互基础库的设计、推送服务基础库的设计、UI统一风格基础库的设计、数据库交互基础库的设计、以及业务相关的实际应用场景问题。

Readmore

java-basic

Java 基础语法应用

Readmore

Enum with String

java 中 Enum包含String类型的值可以有很好的应用,定义ErrorCode以及在数据库交互中都很方便。

Readmore

Javascript学习笔记

前端开发中 js 常用操作

Readmore

Mock.js

前端开发经常会遇见后端接口延期的情况,这个时候我们需要给自己造接口和数据。方法有很多种,最近接触到mockjs

Readmore

Android Sqlite

SQLite是android的内置数据库,App开发中应用比较广泛,常见有三种使用场景,原生SQL基于SQLiteDatabase接口、ORM框架、ContentProvider+LoaderManager.

Readmore

安卓源码-保持屏幕旋转角度

frameworks/base/services/core/java/com/android/server/wm/WindowManagerService.java

Readmore

String StringBuilder 和 StringBuffer

java中String, StringBuilder和StringBuffer都是常用的类型,熟悉它们各自的特性,可提高程序的健壮性和执行效率。

Readmore

NDK开发-JNI加密

java.lang.UnsatisfiedLinkError: No implementation found for java.lang.String cn.edu.zstu.sdmp.ble.controller.BleController.encode(java.lang.String) (tried Java_cn_edu_zstu_sdmp_ble_controller_BleController_encode and Java_cn_edu_zstu_sdmp_ble_controller_BleController_encode__Ljava_lang_String_2)

Readmore