自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(535)
  • 收藏
  • 关注

转载 Java反射——Type接口详解

Type的简介java.lang.reflect.Type接口及其相关接口用于描述java中用到的所有类型,是Java的反射中很重要的组成部分。在API文档中,Type接口的说明如下:Type 是 Java 编程语言中所有类型的公共高级接口。它们包括原始类型、参数化类型、数组类型、类型变...

2019-09-02 17:20:00 440

转载 Retrofit源码解析三——对接口方法参数注解的处理

private @Nullable ParameterHandler<?> parseParameter( int p, Type parameterType, @Nullable Annotation[] annotations, boolean allowCon...

2019-09-02 17:17:00 446

转载 Retrofit源码解析二——对接口方法注解的处理

首先看到Utils.validateServiceInterface(service);来检查传入的参数,参数必须是一个无继承的interface。然后eagerlyValidateMethods(service)是什么鬼?private void eagerlyValidateMethod...

2019-09-02 16:49:00 563

转载 Retrofit源码解析一——从create方法切入

Retrofit源码解析OKHTTP的基本认识创建OkHttpClient,OkHttpClient负责实际请求的发送,并且可以对他配置超时时间、网络代理、缓存等。创建RequestHeader和RequestBody。创建Request。由OkHttpClient发送reques...

2019-09-02 16:44:00 242

转载 Android文件存放

关于文件存储位置的api 做过文件相关管理的同学应该都曾经被android众多的文件api搞得一片混乱过,现在来理一理. 我把应用操作的文件存储位置分为三个部分: 应用内部存储私有文件目录 应用外部存储私有文件目录 公有目录 我们有两种api去获取这三个部分的存...

2019-08-01 10:15:00 176

转载 如何开发一款高性能的gradle transform

前言 对于java开发者来说,大家好像都比较喜欢在编译期间搞事儿,比如为了做到AOP编程,大家都喜欢利用字节码生成技术,常用的有无痕埋点,方法耗时统计等等。那么Android中具体是如何做到这些的呢?所谓字节码插桩技术,其实就是修改已经编译的class文件,往里面添加自己的字节码,然后打包...

2019-07-23 09:48:00 188

转载 Android 单元测试和 UI 测试初步实践

Android 测试简介 对于大多数 Android 商业项目,基本都是处于高速迭代的开发阶段,这个阶段不仅仅是对项目的开发效率,也对项目的产品质量提出了更高的要求。 通常大型项目都是通过黑盒测试等方式来提供质量相关的保障,但同时笔者认为也需要 Android 端的单元测试以及能自动在 ...

2019-07-23 09:45:00 174

转载 Retrofit2应对各种奇葩接口的方法

最近这一年半,实在是大开眼界了,面对各种奇葩的接口,在紧凑的开发周期下,没有时间细想如何去面对,好在最近稍微清闲了,就把遇到的各种奇葩接口整理了一下,自己手写Spring去模拟这些接口,然后尝试用Retrofit一一破解,终于被我摸出了一些门道。Post请求上传Json首先说明一点,用...

2019-07-19 13:34:00 460

转载 特地来试试OSC客户端的markdown解析

特地来试试OSC客户端的markdown解析-[x] 在客户端上怎么显示呢?System.out.println("Hello world!");狗子姓名川普安培 ...

2019-06-14 20:51:00 133

转载 Android修改默认浏览器为其他浏览器

[java]view plaincopy publicclassMainActivityextendsActivity{ privatestaticfinalStringTAG="MainActivity"; ...

2019-06-06 15:26:00 536

转载 Android扫一扫:zxing的集成与优化

0. 最近项目里需要实现二维码的扫描功能,扫描两个二维码然后得到数据进行绑定。目前比较常见的二维码扫描库就是zxing和zbar了,zxing是google官方的开源项目,有专门的维护,java编写。zbar使用C语言写的,而且github上多年没有代码提交了,所以我决定选用zxing。 ...

2019-02-12 15:25:00 395

转载 Mac 10.14 编译Android 8.1源码及刷入nexus 6p

环境准备官网 描述得已经相当清楚了 ,这里稍微总结一下:创建区分大小写的磁盘映像mac系统默认是不区分大小写的,所以我们需要创建一个区分大小写的文件系统hdiutil create -type SPARSE -fs 'Case-sensitive Journaled HFS+' -si...

2019-01-18 09:59:00 406

转载 Android Classloader机制

传统Jvm java虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制。 类的生命周期 类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括:加载(Loading)、...

2019-01-18 09:57:00 129

转载 Android-图片的选择,裁剪,压缩,适配高版本

趁着国庆有时间我们来聊一聊最常用的选取用户图片一系列的功能,go! 效果展示 效果展示链接 1.图片的选取 拍照 我们之前设置拍照保存的文件地址的Uri,都是直接Intent.putExtra(MediaStore.EXTRA_OUTPUT,文件保存的Uri路径),但是7.0之后,...

2019-01-18 09:52:00 205

转载 PopupWindow 使用详解(一) 中文API 文档 赠送 ListPopupWindow 中文 API

笔者数了数枕巾脱落的头发,发现了 Android 开发常用的类似于弹窗的悬浮窗口 大概是 PopupWindow 和 dialog。之前有还算具体的写过关于 dialog 以及自定义 dialog 甚至是 dialogActivity 的相关笔记,即:Android 系统原生dialog使用、...

2019-01-08 09:52:00 252

转载 PopupWindow 使用详解(二) Popwindow 制作常见花哨效果

帝都几日降温,终于被撂倒了。but 只要一息尚存就得不断进步!于是,写出 《PopupWindow 使用详解》的第二篇 笔记,先奉上 第一篇链接:《PopupWindow 使用详解(一) 中文API 文档 赠送 ListPopupWindow 中文 API》。下面给大家展示一下制作的效果gi...

2019-01-08 09:49:00 420

转载 Android 如何优雅地实现@人功能?

最近有个需求:评论@人。网上已经有一些文章分享了类似功能实现逻辑,但是几乎都是扩展EditText类,这种实现方式肯定不能进入我的首发阵容。你以为是因为它不符合面向对象六大原则?错,只因为它不够优雅!不够优雅!不够优雅! 那么,只有饮水机代码怎么办?当然是 read the fuki...

2018-12-12 09:54:00 846

转载 Android粒子篇之Bitmap像素级操作

零、前言 1.粒子效果的核心有三个点:收集粒子、更改粒子、显示粒子 2.Bitmap的可以获取像素,从而得到每个像素的颜色值 3.可以通过粒子拼合一张图片,并对粒子操作完成很多意想不到的效果 4.本项目源码见文尾捷文规范第一条,文件为BitmapSplitView.java ...

2018-11-22 10:15:00 333

转载 手把手教你在Linux服务器上为Android项目配置Jenkins

Android配置Jekins流程与填坑一、所需环境jdktomcatgitgradleAndroidSDK二、各种配置https://www.jianshu.com/p/38b2e17ced73三、构建时出现问题https://www.jianshu.com/p/92...

2018-11-15 17:35:00 177

转载 Android开发 - 获取系统输入法高度的正确姿势

问题与解决 在Android应用的开发中,有一些需求需要我们获取到输入法的高度,但是官方的API并没有提供类似的方法,所以我们需要自己来实现。 查阅了网上很多资料,试过以后都不理想。 比如有的方法通过监听布局的变化来计算输入法的高度,这种方式在Activity的配置中配置为"andro...

2018-11-01 10:39:00 234

转载 Kotlin Android Extensions使用指南

Kotlin Android Extensions是Kotlin团队开发的一个插件,目的是让我们在开发过程中更少的编写代码。目前包括了视图绑定的功能。 几种绑定视图方式对比 xml文件如下 <?xml version="1.0" encoding="utf-8"?&gt...

2018-10-29 10:05:00 207

转载 Dialog/DialogFragment宽度高度修改/全屏,自定义样式

其实Dialog, DialogFragment, Activity 能看到的界面,都是基于Window显示的; 也就是修改样式, 都是在修改window的样式; 所以,本质上方法都是一样的,唯一不同的就是获取window对象的方法不一样; Dialog 通过, getWindow() ...

2018-10-25 19:20:00 440

转载 Android 自定义构建类型 BuildType

最近接触到自定义构建类型 BuildType,发现这一块有些地方稍不注意的话会被绕进去浪费点时间,既然我这边已经花费时间了,如果正好你也需要接触到 BuildType,也许接下来分享的 tips 可能会帮你节省些时间。 缘起 BuildType 相信许多开发者都不陌生,很常见的一种使用场景...

2018-10-19 09:47:00 203

转载 详解单例设计模式

详解单例设计模式系统用例现在才知道,在计算机系统中,线程池、缓存、日志对象、对话框、打印机、显卡的驱动程序对象常被设计成单例。菜鸡单例写法public class MyClass { private static MyClass instance; private ...

2018-08-28 15:27:00 84

转载 【Android】TextView的文字长度测量及各种padding解析

这篇博客会讲得比较杂: TextView里各种padding的含义? 如何计算每行文字的长度? 设置android:maxLines="1"和android:singleLine="true"有什么区别? 为什么设置android:maxLines="1"时T...

2018-08-15 17:09:00 647

转载 Android自定义频道选择器、频道定制

1.频道选择器,频道定制   现在市场上的新闻软件中,绝大多数都会有频道选择器,比如腾讯新闻、网易新闻、今日头条等,频道选择器可以帮助用户定制自己想要的新闻板块,给用户更好的体验。我们的项目正好也是一个新闻类APP,为了更好的符合我们的产品,我们需要自己实现一套频道选择器,项目地址Chan...

2018-08-10 10:01:00 427

转载 Toolbar的详细介绍和自定义Toolbar

在此总结一下,Android Toolbar 控件的使用方法,争取总结的系统全面些。之前也只是停留在一些基本简单的用法,而且也不系统。希望爱学习的你能通过这篇文章,有所收获! Toolbar 的基本用法 常用的方法 xml中的设置: <android.support.v7.w...

2018-08-10 09:49:00 220

转载 Android启动页黑屏及最优解决方案

前言相信做过Android的朋友都知道,当一个APP启动时,界面会首先展示一个白屏或者黑屏,然后再进入欢迎页,稍作停留最后进入APP主页。那么这个黑屏或者白屏到底是怎么一回事呢?它的最好的解决方案应该是怎样的呢?今天我们认真的讨论一下这个小问题。 点击获取本次项目的demo历史原因当系统...

2018-08-10 09:38:00 224

转载 Android8.0后时代的后台任务JetPack-WorkManager详解

本篇文章已授权微信公众号 guolin_blog (郭霖)独家发布WorkManager详解一、回顾一下以前的做法以前我们在处理后台任务时,一般都是使用Service(含IntentService)或者线程/线程池,而Service不受页面生命周期影响,可以常驻后台,所以很适合做一些定时...

2018-08-07 10:36:00 972

转载 RxJava2的错误处理方案

最近使用retrofit2 + rxKotlin2写接口访问,想尽量平铺代码,于是就想到当借口返回的状态码为「不成功」时(比如:code != 200),就连同网络错误一起,统一在onError方法中处理。想法总是好的,但是实际中却遇到onError无法捕获异常,造成应用崩溃的问题,终于在这...

2018-07-22 16:36:00 483

转载 深入理解JAVA中的NIO 原

前言: 传统的 IO 流还是有很多缺陷的,尤其它的阻塞性加上磁盘读写本来就慢,会导致 CPU 使用效率大大降低。 所以,jdk 1.4 发布了 NIO 包,NIO 的文件读写设计颠覆了传统 IO 的设计,采用通道+缓存区使得新式的 IO 操作直接面向缓存区,并且是非阻塞的,对于效率的提升...

2018-07-11 09:22:00 80

转载 关于proguard,你需要知道的全部

proguard流程 proguard分为4个步骤: 压缩(shrink) 移除未使用的类、方法、字段等; 优化(optimize) 优化字节码、简化代码等操作; 混淆(obfuscate) 使用简短的、无意义的名称重全名类名、方法名、字段等; 预校验(preverif...

2018-07-03 13:47:00 209

转载 浅谈Android中的meta-data及其应用

前言 在日常的Android开发中,AndroidManifest中总会出现一些<meta-data>标签,或是第三方SDK配置信息,或是系统配置,不禁让人思考<meta-data>到底是什么?有什么用?怎么用?有哪些应用场景? meta-data简介 &lt...

2018-07-03 13:45:00 182

转载 线程组和 ThreadLocal

前言 在上面文章中,我们从源码的角度上解析了一下线程池,并且从其execute方法开始把线程池中的相关执行流程过了一遍。那么接下来,我们来看一个新的关于线程的知识点:线程组。 线程组 ThreadGroup 我们前面已经讲了线程池,并且我们知道线程池是为了在子线程中处理大量的任务...

2018-06-22 09:27:00 109

转载 浅谈数据结构-树

树是一种数据结构,其中一个元素可以有两个或者多个数据元素,具有一对多的特点,用树结构来存储文件。 树的概念 结点的度:子结点的个数。例如结点1中有3个子结点,结点1的度是3. 树的度:树的度等于所有结点度中度最高的值。结点最高的度为3,树的度为3. 叶子结点:度为0...

2018-06-22 09:17:00 166

转载 Android悬浮窗的实现

0. 前言   现在很多应用都使用到悬浮窗,例如微信在视频的时候,点击Home键,视频小窗口仍然会在屏幕上显示。这个功能在很多情况下都非常有用。那么今天我们就来实现一下Android悬浮窗,以及探索一下实现悬浮窗时的易错点。 1. 实现原理 1.1 悬浮窗插入接口   在实现悬浮...

2018-06-20 09:37:00 142

转载 对Android Handler Message Looper常见用法,知识点的一些总结

Android 非UI线程中是不能更新UI的,Handler是Android 提供的一套更新UI的机制,也是用来发送消息和处理消息的一套机制。 以前刚接触的Handler的时候,感觉总是很困惑,对Handler原理也是一知半解,现在对Handler常见用法,知识点总结一下。 先看一下谷歌A...

2018-06-11 10:18:00 150

转载 HashMap底层实现原理

在JDK1.6,JDK1.7中,HashMap采用位桶+链表实现,即使用链表处理冲突,同一hash值的链表都存储在一个链表里。但是当位于一个桶中的元素较多,即hash值相等的元素较多时,通过key值依次查找的效率较低。而JDK1.8中,HashMap采用位桶+链表+红黑树实现,当链表长度超过阈...

2018-06-09 23:28:00 77

转载 Java中的锁

在学习或者使用Java的过程中进程会遇到各种各样的锁的概念:公平锁、非公平锁、自旋锁、可重入锁、偏向锁、轻量级锁、重量级锁、读写锁、互斥锁等待。这里整理了Java中的各种锁,若有不足之处希望大家在下方留言探讨。公平锁和非公平锁公平锁是指多个线程在等待同一个锁时,必须按照申请锁的先后顺序来一...

2018-06-04 18:35:00 76

转载 安卓自定义View进阶-事件分发机制原理

安卓自定义View进阶-事件分发机制原理 之前讲解了很多与View绘图相关的知识,你可以在安卓自定义View教程目录中查看到这些文章,如果你理解了这些文章,那么至少2D绘图部分不是难题了,大部分的需求都能满足,但是关于View还有很多知识点,例如:让绘图更加炫酷的Paint,让Vie...

2018-05-22 11:23:00 145

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除