Gradle依赖本地缓存的那些事
前言 如果我们将模块放在远程仓库比如maven的时候,在Android Studio中使用Gradle依赖是非常方便的,比如 implementation 'com.liulishuo.okdownload:okdownload:1.0.5' 这样我们就将okdown1.0.5添加到自己的项目中,但是我们在官方还...
前言 如果我们将模块放在远程仓库比如maven的时候,在Android Studio中使用Gradle依赖是非常方便的,比如 implementation 'com.liulishuo.okdownload:okdownload:1.0.5' 这样我们就将okdown1.0.5添加到自己的项目中,但是我们在官方还...
前言 在以前的博客中介绍了如何使用Java的注解处理器,不过由于最近使用到了Kotlin,所以这里纪录一下Kotlin中怎么使用注解处理器,在Java中我们使用的annotationProcessor,但是在Kotlin中需要使用kapt, 即 Kotlin annotation proce...
Anko Anko是一个Kotlin编写的为了快速/易懂的开发Android的库,一共有四个部分,分别为Commons,Layouts,SQLite,Coroutines Commons:简单的使用Toast、Intent、Dialog等 Layouts:可以动态编写Android布局 SQLite:SQlite封装 Corouti...
签名 在Android反编译的那些事[工具篇]中我介绍了下如何使用jarsigner对apk进行签名。不过这种签名仅对于v1签名有效,v2签名,我们则需要使用Google提供的apksigner.jar 工具 jarsigner是JDK提供的针对jar包签名的通用工具, 位于JDK/...
前言 在很多时候,我们在序列化/反序列化 json对象的时候,需要排除部份字段,比如用户相关的json,对于密码等,我们就不应该序列化提供出去,这时候就有必要进行下处理了。 使用@Expose注解 我们可以先看看@Expose的定义,如果我们想...
基础使用 ripple一般分为有边界以及无边界的,不过一般来说,我们不会使用无边界的,本篇博客主要介绍如何使用ripple。本文主要内容来自_江南一点雨。 有界ripple 我们只需要给控件设置如下代码即可,这样在5.0及以上就是ripple效果,...
概述 在Android 4.3 (API level 18)中,Android为我们提供了低功耗蓝牙的支持,最近很火的可穿戴设备的主要通信方式就是低功耗蓝牙。与传统蓝牙相比,其最主要的目的就是更低的功耗用于支持用户使用可穿戴设备,本篇博客主要介绍关于...
简介 当我们使用ROOM、Butterknife等的时候,我们都需要使用到注解,然后相应的三方框架就会在编译期为我们生成对应的代码,为我们生成代码的工具就称为注解处理器(annotation processing)。本篇博客就来介绍如何使用annotation proce...
前言 JavaPoet,顾名思义是Java诗人,可以用来为我们生成模板代码,通过Java代码去生成Java代码,是不是觉得很神奇,本篇博客主要介绍其基础使用,更多信息可以查看其Github简介以及本文的附录部分。 引入 implementation 'com.square...
当我们的应用想在Android 8.0, API level 26上面发送一个通知的时候,我们必须要给通知设置一个Channel,比如如果我们做一个IM,我们可以将用户的消息通知设置为一个Channel,将系统的其他推送设置为另一个Channel,这样用户就可以选...