Anriku Blog

In me the tiger sniffs the rose

聊聊Gradle插件

Gradle插件构建

相信作为一个Android开发者,对Gradle这个强大的构建工具一定不陌生。Gradle插件是Gradle作为优秀的构建工具很大的一个特点。在Android中不同的模块下看到的apply plugin:xxx表达式就是插件的使用。一直都是使用别人的插件,今天我们就自己动手来实现一下简单的插件。 为什么要使用Gradle插件? Gradle插件主要的作用是可以实现代码的构建代码的重用。 ...

ThreadLocal完全解析

ThreadLocal

熟悉Android消息机制的话,对ThreadLocal这个类应该都不陌生。Android消息机制中的Looper就是通过ThrealLocal来实现为每个线程建立一个独立Looper的。 简单的Demo public class ThreadLocalTest { public static void main(String[] args) { ThreadL...

Java AOP利剑之ASM,真正程度上的AOP

ASM的基本使用

在前面有一篇博客中讲了如何通过Java的动态代理来实现AOP编程。之前也讲过其实动态代理并不能算代码层面的AOP编程,其实质是在运行时动态生成一个类然后以静态代理的方式来实现AOP编程的。 今天要讲的ASM是直接通过对代码进行修改没有使用代理来进行AOP编程的。 ASM简介 这篇博客主要是将如何使用ASM来实现AOP的,ASM不是重点,因此ASM在这里就只做一些简单的介绍。 ASM是...

扫描线填充算法就这么简单

扫描线填充算法

今天给大家分享一下计算机图形学中,扫描线填充算法。 题目主要有下面一些限制: 有一个画板,这个画板有一定的宽高限制 画板有一些封闭图形 然后在画板随机取一点,将这点所在封闭图形或者是在所有封闭图形外画板内的区域进行填充。 这里画板的颜色就取白色,画笔的颜色就取黑色。 程序思路 在此题中,主要的难点在于图形填充。我使用了图形学中的扫描线填充算法来进行实现。主要的思路就...

Java AOP利剑之动态代理,从不一样的角度编程

Java静态代理和动态代理以及AOP编程

看了下日期才发现我是真的好久没写博客。最近几个月来实习发现好好沉淀写博客的时间都少了。其实想了想还是时间管理上有问题,于是乎立下了一个大大的Flag,以后每周更新一两篇博客。废话就不多说了。 正题上来,今天主要想搞清楚两件事: 动态代理和静态代理的区别、优缺点。 使用动态代理实现AOP编程。 整体代码结构 整个场景是一个通过国外电脑作为VPN代理上网的场景。这里主要把...

没开发板做Linux嵌入式开发?虚拟机搞定一切!

使用Qemu搭建zImage以及uImage启动的vexpress-a9 Linux虚拟机

在做嵌入式开发的过程中很多也许都会用到开发版。那么可以不那么麻烦吗?我只是想稍微学一下嵌入式相关的知识就需要买一个开发板。这篇blog将会教你如何通过Qemu来搭建虚拟的开发环境。 这里我使用的是VirtulBox虚拟机;Linux版本为Ubuntu 18.04.1 LTS。 文件结构 下面是构建完成的文件结构图: 首先用户目录下建立了一个vexpress-a9目录作为工作...

Mac使用XAMPP搭建web服务器、FTP服务器

服务器搭建

搭建web服务器作为这次的一个课程作业要完成。于是借此机会就随便记录一下Mac使用XMAPP搭建服务器的过程了。 XAMPP下载、安装 XAMPP介绍这里就不多说了。看这篇博客的应该都很清楚。 去这里将XAMPP下载下来 其中需要注意带vm和不带vm的区别。这里我们选择不带vm的。也就是在本机上进行操作。 下载完一路next安装好。 XAMPP目录总览 安装好后的XAMPP...

Android大量数据加载—Paging的使用

Android Paging的使用

Paging主要是用来结合RecyclerView进行使用的。它的作用是能够逐渐地、优雅地加载所需要加载的数据。也就是一种分页方案。 Paging每次只会加载总数据的一小部分。因此它有下面的两个优点: 数据加载要求更小的带宽以及更少的系统资源。 在资源发生改变的情况下,app依然能够很快的做出响应。 Paging主要的类介绍 PagedList 这个类是用来存储加载的数...

Android使用动画进行Fragment、Activity的切换

Android使用动画进行Fragment、Activity的切换

我们知道有些Fragment、Activity的跳转花时间比较长。这时候通过给跳转加上一些动画效果可以让用户感受不到这样等待,给用户很好的应用体验。个人觉得PayPal的动画效果就做得蛮好的。 给Fragment的转换添加动画 这里就难得想例子了。直接吧官方给的例子修改的一下进行讲解(官方的例子是一个用翻转动画实现Fragment切切换的例子): 先定义好四个Animator。分别是:...

Android使用Transition来更改布局

Android Transition的使用

前面讲了属性动画。这篇博客将会给大家分享一下如何使用Transition来进行布局的更改。当然Transition也是基于属性动画的。 Transition的特点 当布局更改后通过Transition可以实现布局的过渡动画。 它有如下的特点: Group-level animations:可以对一个View层级下的所有View应用一个或多个动画效果 Built-in ani...