APT:annotationProcessor的二三事
简介 当我们使用ROOM、Butterknife等的时候,我们都需要使用到注解,然后相应的三方框架就会在编译期为我们生成对应的代码,为我们生成代码的工具就称为注解处理器(annotation processing)。本篇博客就来介绍如何使用annotation proce...
简介 当我们使用ROOM、Butterknife等的时候,我们都需要使用到注解,然后相应的三方框架就会在编译期为我们生成对应的代码,为我们生成代码的工具就称为注解处理器(annotation processing)。本篇博客就来介绍如何使用annotation proce...
前言 JavaPoet,顾名思义是Java诗人,可以用来为我们生成模板代码,通过Java代码去生成Java代码,是不是觉得很神奇,本篇博客主要介绍其基础使用,更多信息可以查看其Github简介以及本文的附录部分。 引入 implementation 'com.square...
当我们的应用想在Android 8.0, API level 26上面发送一个通知的时候,我们必须要给通知设置一个Channel,比如如果我们做一个IM,我们可以将用户的消息通知设置为一个Channel,将系统的其他推送设置为另一个Channel,这样用户就可以选...
前言 在Java中,我们如果需要提供一个模块给其他人或模块调用,往往是将所有的功能抽取为一个接口,然后其他人通过接口去访问服务,形式为接口->实现类,但是如果我们想在每次使用接口提供的服务之前,进行一些判断,就需要在中间...
前言 我们在github或者gitlab上面新建自己的代码仓库的时候,如果我们新建的代码仓库为空,则会有一些命令提示我们将本地仓库与远程仓库相绑定,下面就来介绍下这几个命令。 初始化本地git仓库 git config --global user.name "chenbi...
有关RxJava/RxAndroid订阅者回调时机的研究,以及一些使用场景以及使用中需要注意的东西。
前言 最新MIUI9出来啦,不得不说交互动效做的真心不赖,本篇介绍的就是如何为列表实现拖动排序功能,也就是仿照MIUI的信息助手的设置里面的功能,效果图如下,长按可以拖动排序也可以滑动删除,由于使用的RecycleView,想做成支付宝那...
前言 在我日常开发过程中有几款插件极大的提高了我的开发效率,所以这里分享给大家同时也是自己的一种记录啦,免得以后自己重新查找这些插件。 GsonFormat 说明:将Json一键转换为Java对象。 使用:快捷键alt+S 或者 菜单Code->Gene...
前言 今天来了一个新需求需要面对不同的用户使用不同的图标以及欢迎界面,应用内部是一样的,如果每次都手动替换icon以及欢迎界面,无疑是很不程序员的做法,刚巧今早在wanandroid看到了一篇关于如何动态更新应用图标的博文,很受启发...
前言 Android 从 N(SDK >= 24) 开始不允许以 file:// 的方式通过 Intent 在两个 App 之间分享文件,取而代之的是通过 FileProvider 生成 content://Uri 。如果在 Android N 以上的版本继续使用 file:// 的方式分享文件,则系统会直...