跟我一起开发商业级IM(1)——技术选型及协议定义 Java 编程技术

跟我一起开发商业级IM(1)——技术选型及协议定义

终于可以开始写这个系列的文章了,本系列文章预计将分为 13 篇,由于IM涉及的知识点稍复杂,所以每个知识点都会单独用一篇文章来阐述,尽量讲透彻,方便大家理解。 灵魂拷问 为什么需要写这个系列的文章呢? 可能大家会问,有了之前的 NettyChat 和 开源一个自用的Android IM库,基于Netty+TCP+Protobuf实现 ,为什么还需要写这个系列的文章呢?主要是因...
阅读全文
聊聊 Android 开发的现状和思考 Java 编程技术

聊聊 Android 开发的现状和思考

最近和一些跳槽的 “老 Androd” 闲(mo)聊(yu)后颇有感触,从事 Android 开发这么多年,大家都开始重新思考未来的发展,或多或少都在为职业生涯的“瓶颈”而烦恼,都有一种“待不住”的情绪在心头徘徊。 回想这六年里 Android 开发的发展历程,现如今的 Android 已经拥有了成熟的开发体系,技术框架也是经历了一代一代的更新: HttpClient、V...
阅读全文
聊聊 Android 开发的现状和思考 Java 编程技术

聊聊 Android 开发的现状和思考

最近和一些跳槽的 “老 Androd” 闲(mo)聊(yu)后颇有感触,从事 Android 开发这么多年,大家都开始重新思考未来的发展,或多或少都在为职业生涯的“瓶颈”而烦恼,都有一种“待不住”的情绪在心头徘徊。 回想这六年里 Android 开发的发展历程,现如今的 Android 已经拥有了成熟的开发体系,技术框架也是经历了一代一代的更新: HttpClient 、 Vol...
阅读全文
深入探索编译插桩技术(二、AspectJ) Java 编程技术

深入探索编译插桩技术(二、AspectJ)

前言 成为一名优秀的Android开发,需要一份完备的 知识体系 ,在这里,让我们一起成长为自己所想的那样~。 现如今,编译插桩技术已经深入 Android 开发中的各个领域,而 AOP 技术正是一种高效实现插桩的模式,它的出现正好给处于黑暗中的我们带来了光明,极大地解决了传统开发过程中的一些痛点,而 AspectJ 作为一套基于 Java 语言面向切面的扩展设计规范,能够赋予我们新...
阅读全文
Gradle之自定义插件 Java 编程技术

Gradle之自定义插件

Gradle之自定义插件 前面两篇了解了Gradle的基础知识,最终目的就是为了自己能写出Gradle插件来解决现实项目中的问题。现在Gradle自定义插件用的越来越广泛,插件化,热修复,性能优化,指标检测,多渠道打包等等都会用到Gradle插件。 自定义Gradle插件的方式有三种,代码都差不多,都是必须实现 Plugin<T> 这个接口,然后实现接口中的 apply 方法...
阅读全文
如何在 Android 中完成一个 APT 项目的开发? Java 编程技术

如何在 Android 中完成一个 APT 项目的开发?

本文字数: 3790 字 预计阅读时间: 25分钟 APT(Annotation Processing Tool)即注解处理器,是一种处理注解的工具。 APT在编译时期扫描处理源代码中的注解,开发中可以根据注解,利用APT自动生成Java代码,减少冗余的代码和手动的代码输入过程,提升了编码效率,同时使源代码看起来更清晰简洁,可读性提升。 目前,很多第三方开...
阅读全文
Android官方架构组件Paging-Ex:列表状态的响应式管理 编程技术 软件架构

Android官方架构组件Paging-Ex:列表状态的响应式管理

Paging 是 Google 在2018年I/O大会上推出的适用于 Android 原生开发的分页库,随着越来越多的开发者着手使用 Paging ,越来越多的问题暴露出来,最直接的一个问题是: 如何管理列表额外的状态? 这样的需求随处可见,比如 侧滑删除 、 为评论点赞 等等: 本文将阐述:如何管理 Paging 分页列表的 状态 ,为何这样设计,以及设计的过程。 列表...
阅读全文
sonar android上的实践 Java 编程技术

sonar android上的实践

1.2 下载好sonarqube后,解压打开bin目录,启动相应OS目录下的StartSonar,本方案系统是windows 所以启动位置在E:/sonarqube-7.5/bin/windows-x86-64/StartSonar 启动完成之后可以直接访问http://localhost:9000 或者http://127.0.0.1:9000 ,以管理员身份登录可以安装中文插件,以及其他代码扫...
阅读全文
用生命周期规范组件化流程 Java 编程技术

用生命周期规范组件化流程

demo 有空会在 github 上更新,欢迎关注 。demo 怎么做:一条commit对应一条规范。所以不会很快,可以先 star 收藏以便查阅。 本文是在我重构 个人项目时光猫(欢迎体验) 的时候,边组件化边记录下来的。期中踩了很多坑,也不断思考优雅的解决方案。因为是个人项目,所以可以随便浪,可以毫无保留地公布细节,应该还是有指导意义的。 一开始我是按最流行的组件化方案...
阅读全文
手把手写一个Clean(+mvp+rxjava)架构的Demo Java 编程技术

手把手写一个Clean(+mvp+rxjava)架构的Demo

前段时间在天星群中有朋友说到了clean架构。刚好在最近的项目里面我在搭建框架的时候用到了clean,所以在这里就把搭建过程在这里描述一下。Demo在文章末尾。本文侧重于clean的搭建,mvp+rxjava的部分,不做介绍。 (咦?我听到有人在问什么是天星群。既然你诚心诚意的发问了,那我就给你们透露一下。天星是一群Android开发者闲的没事干搞的一个博客团队,这是团队博客地址:点这里,这...
阅读全文
Environment Switcher 原理解析 Java 编程技术

Environment Switcher 原理解析

Environment Switcher是一个运用 Java 注解、APT、反射、混淆等原理来一键切换环境的工具。 Environment Switcher 已经正式发布一周了,本周随着 Environment Switcher 1.4 的发布,在这里为大家奉上 Environment Switcher 的原理解析。 如果你还不了解 Environment Switcher,建议先...
阅读全文
挤需体验三番钟,里造会干我一样,爱象节款混淆 Java 编程技术

挤需体验三番钟,里造会干我一样,爱象节款混淆

FreeProGuard 为方便广大 Android 开发者们今后防混淆配置,很久之前便有打算做这个免混淆库了,只是拖到最近才有空来实现该库,该库利用了 consumerProguardFiles 来传递 aar 中的防混淆配置到主工程中,所以依赖了该库后常用的主流三方库便不再需要开发者们手动配置了,当然,有些友善的库已采用了该方式,我也希望更多的开源库使用该方式从而省去开发者配置防...
阅读全文
Loading...