Android
文章平均质量分 93
唯鹿
Android、Flutter
展开
-
AspectJ在Android 中的使用攻略
AOP(aspect-oriented programming),指的是面向切面编程。而AspectJ是实现AOP的其中一款框架,内部通过处理字节码实现代码注入。AspectJ从2001年发展至今,已经非常成熟稳定,同时还包含使用简单的优点。集成AspectJ使用插件gradle-android-aspectj-plugin这种方式接入简单。但是此插件截止目前已经一年多没有维护了,考虑到AGP的兼容性,害怕以后无法使用。这里就不推荐了。(如果哪天更新了,当我没说。。。)常规的Gradle 配原创 2021-06-24 08:25:17 · 6227 阅读 · 6 评论 -
Android 注解处理器使用攻略
上一篇写了JavaPoet使用攻略,了解了JavaPoet用法。那么我们就可以结合今天的Annotation Processing Tool(APT)来自定义注解处理器。注解处理器简单解释就是收集我们标记的注解,处理注解上提供的信息。原创 2021-02-18 10:53:12 · 6939 阅读 · 4 评论 -
JavaPoet使用攻略
JavaPoet是用于生成.java源文件的库 。通过自动生成代码,可以替代许多重复的工作。例如大名鼎鼎的Butterknife和Dagger就使用到了JavaPoet。原创 2021-01-18 22:06:30 · 3865 阅读 · 8 评论 -
【译】迁移被废弃的Kotlin Android Extensions插件
在Kotlin 1.4.20-M2中,JetBrains废弃了Kotlin Android Extensions编译插件,推荐使用View Binding,所以我们将在本文中探讨如何迁移到View Binding。翻译 2020-11-09 08:02:40 · 31051 阅读 · 19 评论 -
RecyclerView库中的遗珠
1.SortedList顾名思义就是排序列表,它适用于列表有序且不重复的场景。并且SortedList会帮助你比较数据的差异,定向刷新数据。而不是简单粗暴的notifyDataSetChanged()。我想到了一个场景,在选择城市页面,我们都需要根据拼音首字母来排序。我们来使用SortedList来实现一下。City对象:public class City { priva...原创 2018-10-22 17:58:31 · 3838 阅读 · 2 评论 -
感受LiveData 与 ViewModel结合之美
LiveData与ViewModel都是Android官方架构组件(Android Architecture Components)之一。1.前言虽说这篇是说LiveData与ViewModel,但是或多或少都有涉及另外一个组件:Lifecycles 。它们连同Room都是在17年谷歌IO大会推出的,当时还是预览版,大致17年底时推出了正式版。到今年的IO大会过后,又增加了许多新成员。...原创 2018-06-19 13:48:19 · 54556 阅读 · 9 评论 -
玩玩Andoid的拖拽——实现一款万能遥控器
本文已授权微信公众号:鸿洋(hongyangAndroid)原创首发。 这是模仿乐视遥控App中添加万能遥控器的交互效果,实现效果如下:感觉是不是有点小炫酷与小复杂,其实整个实现大致分为三部分:绘制手机实现拖动修正位置1.绘制手机这部分其实都是自定义View的基础。仔细观察手机的组成,无非就是圆角矩形、圆、线、矩形组成。首先在onMeasure中计算手...原创 2018-03-07 09:29:24 · 10005 阅读 · 9 评论 -
Android开源与干货网站汇总
19.04.29更新:gradle下载地址maven依赖搜索JetBrains 插件搜索18.08.06更新:距离首次发布过去了三年了,好多都已经无法访问了,表示很伤感。。。不过也有新的诞生了,补充一下!wan android鸿洋大神维护,满满干货,工具多多。(强烈推荐)掘金、掘金酱 站如其名(强烈推荐)干货集中营 随缘更...原创 2015-08-10 13:27:31 · 6739 阅读 · 6 评论 -
安卓实现扫一扫识别数字
本文已授权微信公众号:鸿洋(hongyangAndroid)原创首发。 公司业务需求,需要做手机号码的识别。所以有了此篇文章,现在就将实现过程分享给大家。1.准备工作首先实现识别数字等字符,我们要知道需要采用OCR (Optical Character Recognition,光学字符识别)来实现。而tesseract是非常不错的开源OCR工具,但是要在Android中直接...原创 2017-09-13 10:59:09 · 43072 阅读 · 69 评论 -
使用gradle集成360加固
360加固我想大家并不陌生,使用起来也比较简单。只要下载它的加固助手上传我们打包签名好的APK文件就可以完成加固。但我们是否可以让他更加的便捷呢?答案是肯定的。1.准备首先我们下载360加固助手。这里我使用Windows版来说明。解压后我们将jiagu文件夹放到我们项目的根目录中。因为360加固支持命令行方式加固,并且提供了详细的命令操作。因此我们可以使用sh脚本来...原创 2017-07-10 16:33:20 · 6674 阅读 · 9 评论 -
史上最全WebView使用,附送Html5Activity一份
关于WebView使用很全面的一篇文章,分享给大家。转载 2017-05-11 22:34:16 · 8866 阅读 · 6 评论 -
ChangeTabLayout实现过程
ChangeTabLayout是我模仿乐视LIVE App主界面的TabLayout效果实现的,希望大家多多支持。原创 2017-04-01 10:14:30 · 5657 阅读 · 2 评论 -
一些小效果的实现
这篇可能是今年的最后一篇博客,时间真是飞快。。。话说今年还是比较忙的,没有去年分享的内容多。但是自己始终坚持至少一月分享一篇。生怕长时间不写了,就懒惰了。原创 2016-12-18 11:48:25 · 4817 阅读 · 10 评论 -
ListView多选操作模式详解
原文链接:点击打开链接这篇文章我们将详细的介绍如何实现ListView的多选操作,文中将会纠正在使用ListViewCHOICE_MODE_MULTIPLE或者CHOICE_MODE_MULTIPLE_MODAL时容易犯的错误,以及CHOICE_MODE_MULTIPLE与CHOICE_MODE_MULTIPLE_MODAL的区别。最后我们将给出一个demo来演示两种多选操作的实现转载 2015-10-30 14:58:04 · 5646 阅读 · 0 评论 -
InstaMaterial - eclipse 版(学习总结)
MaterialDesign 是谷歌推出的全新设计语言,在学习中我找到了Github上比较经典的一个项目,但是此项目是Studio版本的,本人有时也在用eclipse,所以导了一下,共需要的人学习。原项目链接:点击打开链接eclipse版下载链接:点击打开链接项目效果:原创 2015-08-28 17:31:03 · 986 阅读 · 0 评论