自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

唯鹿的博客

一只努力的程序猿

  • 博客(118)
  • 资源 (11)
  • 论坛 (3)
  • 收藏
  • 关注

原创 Android开源与干货网站汇总

19.04.29更新:gradle下载地址maven依赖搜索JetBrains 插件搜索18.08.06更新:距离首次发布过去了三年了,好多都已经无法访问了,表示很伤感。。。不过也有新的诞生了,补充一下!wan android鸿洋大神维护,满满干货,工具多多。(强烈推荐)掘金、掘金酱 站如其名(强烈推荐)干货集中营 随缘更...

2015-08-10 13:27:31 5780 5

原创 JavaPoet使用攻略

JavaPoet是用于生成.java源文件的库 。通过自动生成代码,可以替代许多重复的工作。例如大名鼎鼎的Butterknife和Dagger就使用到了JavaPoet。

2021-01-18 22:06:30 1892 6

原创 聊聊获取屏幕高度这件事

说起获取屏幕高度,不知道你是如何理解这个高度范围的?是以应用显示区域高度作为屏幕高度还是手机屏幕的高度。

2020-12-22 08:00:48 27136 19

翻译 【译】迁移被废弃的Kotlin Android Extensions插件

在Kotlin 1.4.20-M2中,JetBrains废弃了Kotlin Android Extensions编译插件,推荐使用View Binding,所以我们将在本文中探讨如何迁移到View Binding。

2020-11-09 08:02:40 6900 11

翻译 【译】学习Flutter中新的Navigator和Router系统

本文解释了Flutter新的Navigator和Router API是如何工作。如果你关注Flutter的开放设计文档,你可能已经看到这些新功能被称为Navigator 2.0和Router。我们将探讨这些API如何实现对应用程序中的屏幕进行更精细的控制,以及如何使用它来解析路由。

2020-10-06 19:04:07 2116 3

原创 Flutter状态管理之Riverpod

Riverpod和Provider师出同门,都来自作者Remi,Riverpod可以被认为是Provider的重写,来实现原本不可能的功能。本篇来介绍一下Riverpod,给大家提供一个新的选择。

2020-09-03 09:17:43 2820 5

翻译 【译】正确操作Dart中的字符串

在表情符号开始主导我们的日常交流和多语言支持在商业应用中兴起之前,Dart与许多其他编程语言一样,将字符串表示为UTF-16编码单元序列。这种编码在大多数情况下都能良好运行,直到国际化程度的提高和与任何语言兼容的表情符号的引入,使得编码的固有问题变成了每个人的问题。

2020-08-16 13:23:42 1126

原创 说说Flutter中的无名英雄 —— Focus
原力计划

Focus系列的Widget及功能类在Flutter中可以说是无名英雄的存在,默默的付出但却不太为人所知。在日常开发使用中也不太会用到它,这是为什么呢?带着这个问题我们开始今天的内容。

2020-07-06 09:48:24 2565

原创 玩玩Flutter Web —— 实现高德地图插件
原力计划

去年写了一个功能简单的高德地图插件给flutter_deer使用,当时支持了Android与iOS两端。本篇记录Web端实现过程。

2020-06-01 09:02:32 2090 4

原创 Flutter性能优化实践 —— UI篇
原力计划

本篇集中整理了deer在UI流畅上的优化细节,以实践为主,源码为辅。分享出来,希望对你有所启发和帮助。

2020-05-11 08:24:54 3102 5

原创 Windows下Scrapy的环境搭建

头一次在Windows系统上装Scrapy,折腾了一会时间,此篇记录一下。

2020-04-24 09:36:58 601

原创 玩玩Flutter的拖拽——实现一款万能遥控器
原力计划

前阵子突然想到两年前写过的一篇博客:玩玩Android的拖拽——实现一款万能遥控器,就想着用Flutter来复刻一下。顺便练习一下Flutter里的拖拽Widget。

2020-04-01 08:31:52 2242 3

原创 说说Flutter中最熟悉的陌生人 —— Key
原力计划

Key在Flutter的源码中无处不在,但是我们日常中确不怎么使用它。有点像是“最熟悉的陌生人”,今天就来说说这个“陌生人”,揭开它神秘的面纱。

2020-03-09 09:05:19 2719

原创 Android 10 适配攻略
原力计划

相比较去年的写的Android 9适配,这次Android 10的内容有点多。没想到写了我整整两天,吐血中。。。

2020-02-26 11:20:52 10739 4

原创 SAF(Storage Access Framework)使用攻略

漫长的假期,在家整理了一下Android 10的适配内容。因为适配篇的篇幅问题,就将这一部本单独出来,也先放出来。

2020-02-08 13:19:53 4117 1

原创 说说Flutter中的Semantics

Flutter中的Widget实在是太多了,很容易忽略很多实用的Widget。那么我个人很喜欢Flutter官方在YouTube上的Flutter Widget of the Week 系列视频。真的是可以发现宝藏,比如今天的主角Semantics。

2020-01-06 14:58:25 4839 1

原创 说说Flutter中的RepaintBoundary

一个懒洋洋的下午,偶然间看到了这篇Flutter 踩坑记录, 作者的问题引起了我的好奇。

2019-12-09 09:34:42 6489 7

原创 Android单元测试(十):内容更新篇

距离我上一次写单元测试的内容已经是一年半以前了,在这期间有个别的内容随着相关库的升级也已经过时了。避免“误人子弟”,我对之前的Demo进行一下升级,本文就是相关内容的记录。

2019-11-11 09:28:12 2428 1

原创 Flutter适配深色模式(DarkMode)

也不知道写点什么,本来想写写Flutter的集成测试。因为前一阵子给flutter_deer写了一套,不过感觉也没啥,写不了几句话就放弃了。那就写写最近在做的事情。没错,就是文章标题提到的适配深色模式(DarkMode),也可以说是实现夜间模式的功能。

2019-10-14 08:15:55 4791

原创 Flutter开发中的一些Tips(三)

距离flutter_deer开源快3个月了,目前为止收获了1600+的Star,感谢大家的对此项目的认可支持。今天继续分享一些我在Flutter开发中遇到的问题希望对你有所帮助。本篇的所有例子,都在我开源的flutter_deer中。

2019-09-09 10:07:38 3684 15

原创 Android 9.0 适配指南

又到了我一年一度写Android适配文章的时间,本身这篇应该会早几个月发出来,但是前两三个月主要忙于Flutter的项目,所以这篇文章才姗姗来迟。不过毕竟是9.0的适配,还不算太晚哈!1.前言从去年开始就有消息说,应用上架或者更新要求TargetSdkVersion最低要为26以上,也就是最低也要适配到8.0。那么今年来也都逐步地开始落实。比如下图的小米应用商店公告:包括从8月份开始在...

2019-08-05 22:24:32 13006 4

原创 Flutter 动画曲线Curves 效果一览

Curves中一共38中动画曲线,我将文档中提供的MP4转为了GIF。方便大家使用动画时查找使用。...

2019-07-16 08:57:04 7378 8

原创 Flutter开发中的一些Tips(二)

接着上篇 Flutter开发中的一些Tips,今天再分享一些我遇到的问题,希望“引以为戒”。本篇的所有例子,都在我开源的flutter_deer中。希望Star、Fork支持,有问题可以Issue。附上链接:https://github.com/simplezhli/flutter_deer1. setState() called after dispose()这个是我偶然在控制台发现的...

2019-07-11 09:28:37 6965 7

原创 Flutter开发中的一些Tips

学习Flutter也有二个多月了,所以分享一下自己在实践中遇到的问题及心得。希望对你有所帮助!1.防止溢出异常异常大致如下:A RenderFlex overflowed by 22 pixels on the bottom.导致的原因就是在水平或者垂直方向上的内容超过了父部件的大小。一般来说我们的页面不存在这样的问题,因为根据页面的设计,事先可以预料到是否超出。不过要注意到有输入法弹出...

2019-06-12 21:17:51 11569 23

原创 Android 开发高手课 温故知新篇

Mac终端:pip command not found安装pip是python的包管理工具,在Python2.7的安装包中,easy_install.py是默认安装的,而pip需要我们手动安装sudo easy_install pipsudo pip install enumsudo pip install enum34https://github.com/facebook/redex...

2019-05-13 21:22:40 1633 2

原创 Android 9.0中的新功能 - PrecomputedText

PrecomputedText如字面意义一样,是用来预先计算文本的。它的诞生也是因为计算文本是一个耗时操作,它需要根据字号、字体、样式、换行等去计算,并且这个计算时间随着文字数量的增加而增加。

2019-04-15 08:29:56 2391

原创 Android 开发高手课 课后练习(22,27,ASM)

Chapter22尝试使用facebook redex库来优化我们的安装包。准备工作首先是下载redex:git clone https://github.com/facebook/redex.gitcd redex接着安装:autoreconf -ivf && ./configure &amp

2019-03-14 21:44:06 1466 6

原创 Android 开发高手课 课后练习(6 ~ 8,12,17,19)

接着上篇 Android 开发高手课 课后练习(1 ~ 5),今天练习6,7,8,12,16这五节内容,相比1至5轻松了很多。Chapter06该项目展示了使用 PLTHook 技术来获取 Atrace 的日志,可以学习到systrace的一些底层机制没有什么问题,项目直接可以运行起来。运行项目后点击开启 Atrace 日志,然后就可以在Logcat 日志中查看到捕获的日志,类似如下:...

2019-02-18 20:17:13 2274 8

原创 Android 开发高手课 课后练习(1 ~ 5)

Chapter01例子里集成了Breakpad 来获取发生 native crash 时候的系统信息和线程堆栈信息。直接运行项目,按照README.md的步骤操作就行。使用例子中提供的 tools/mac/minidump_stackwalker 工具来根据minidump 文件生成堆栈跟踪log,得到的crashLog.txt文件如下:在这里插入代码片Chapter02该例...

2019-01-05 21:00:56 5198 8

原创 安卓开发中遇到的奇奇怪怪的问题(三)

https://github.com/dstmath/HWFramework/blob/master/Honor5C-7.0/src/main/java/java/lang/Daemons.javahttps://github.com/dstmath/HWFramework/blob/master/P9-8.0/src/main/java/java/lang/Daemons.javahttps...

2018-12-10 08:48:19 5354 8

原创 记一次Glide的错误配置

1.问题我们知道Glide默认使用的是HttpUrlConnection的方式请求网络获取图片,具体实现参见HttpUrlFetcher 类。而OkHttp的出现就是用于替代HttpUrlConnection和HttpClient,它的高效与强大我就不多说了,官方文档如下:OkHttp 是一个底层网络库(相较于 Cronet 或 Volley 而言),尽管它也包含了 SPDY 的支持。Ok...

2018-11-11 18:03:17 2579

原创 RecyclerView库中的遗珠

1.SortedList顾名思义就是排序列表,它适用于列表有序且不重复的场景。并且SortedList会帮助你比较数据的差异,定向刷新数据。而不是简单粗暴的notifyDataSetChanged()。我想到了一个场景,在选择城市页面,我们都需要根据拼音首字母来排序。我们来使用SortedList来实现一下。City对象:public class City { priva...

2018-10-22 17:58:31 2977 2

原创 AppBarLayout各版本问题探究及解决

1.AppBarLayout嵌套滑动问题前一阵将support库版本从25.4.0升级到了27.1.1后发现了这个问题。发现RecyclerView在滑动到底部后,会有近一秒的停滞,之后再去加载下一页数据。我们知道上拉加载实现方案基本都是监听滑动状态,当滑动停止时,再去加载下一页。代码基本如下:@Overridepublic void onScrollStateChanged(Recyc...

2018-09-11 17:49:04 6427 2

原创 AndroidX了解一下

1.前言我选取了几个常用依赖库,我们可以看看变化: Old build artifact AndroidX build artifact com.android.support:support-compat androidx.core:core:1.0.0+ com.android.support:appcompat-v7 androidx.appco...

2018-08-06 09:25:31 77477 18

原创 Android 8.0适配指北

又到了7月,这是我一年一度的写适配文章的时间,今年到了安卓8.0。为什么我会总会选在这个时间点,因为国内的手机升级总是慢一拍,还有好多的新特性可能也不支持。所以在没有真机的情况下,这类的适配也只是面向模拟器的适配,感觉只能是个参考,并不敢直接用到自己的项目上。不过这几年升级跟进速度是越来越快了,大概从去年底到五月基本都已经吃上奥利奥了。所以使用8.0的用户也越来越多了,适配的时机也就来了。好吧,结...

2018-07-09 09:44:43 22444 3

原创 感受LiveData 与 ViewModel结合之美

LiveData与ViewModel都是Android官方架构组件(Android Architecture Components)之一。1.前言虽说这篇是说LiveData与ViewModel,但是或多或少都有涉及另外一个组件:Lifecycles 。它们连同Room都是在17年谷歌IO大会推出的,当时还是预览版,大致17年底时推出了正式版。到今年的IO大会过后,又增加了许多新成员。...

2018-06-19 13:48:19 46546 9

原创 Android单元测试(九):查漏补缺篇

最近抽时间检查了一下年前有关单元测试的八篇博客,查漏补缺了一下。后面如果有更多关于单元测试的心得收获,也会继续补充。1.AssertJ在Android单元测试(一):JUnit框架的使用中,我们介绍了如何使用JUnit来进行断言。不多说实话JUnit使用起来还是不太友好,不是很直观。所以补充介绍一下AssertJ。 AseertJ: JAVA 流式断言器,什么是流式,常...

2018-05-15 13:01:28 4843 4

原创 安卓开发中遇到的奇奇怪怪的问题(二)

接着早前的安卓开发中遇到的奇奇怪怪的问题(一) ,再向大家分享我在项目中遇到的奇怪问题。希望对大家有帮助。1.RecyclerView自动滚动之前碰到的一个奇怪问题:RecyclerView 嵌套 RecyclerView,结果内部的RecyclerView会自动的滑动至顶部。最终找到了解决方法:RecyclerView常见问题解决方案两种解决办法:一. 内部Recyclerv...

2018-04-14 16:05:52 4337 1

原创 玩玩Andoid的拖拽——实现一款万能遥控器

本文已授权微信公众号:鸿洋(hongyangAndroid)原创首发。 这是模仿乐视遥控App中添加万能遥控器的交互效果,实现效果如下:感觉是不是有点小炫酷与小复杂,其实整个实现大致分为三部分:绘制手机实现拖动修正位置1.绘制手机这部分其实都是自定义View的基础。仔细观察手机的组成,无非就是圆角矩形、圆、线、矩形组成。首先在onMeasure中计算手...

2018-03-07 09:29:24 7070 7

原创 Android单元测试(八):Dagger与单元测试

本篇紧接着上一篇的内容,对MVP + Dagger进行单元测试。Dagger的部分可以参看 Dagger2与AndroidInjector1.相关实现代码首先添加Dagger所需的依赖:compile 'com.google.dagger:dagger:2.13'compile 'com.google.dagger:dagger-android:2.13'compile

2018-02-07 10:39:01 4750 1

Retrofit所需jar

Retrofit所需添加的jar,适用于eclipse用户

2015-11-20

拖动 Button 显示效果

拖动 Button 显示效果

2014-11-23

settings.jar

个人Android Studio的配置文件。可以在Android Studio -> File -> Import Settings 使用。

2020-03-25

curves.zip

Flutter 动画曲线Curves 效果一览。Curves中一共38中动画曲线,我将文档中提供的MP4转为了GIF。方便大家使用动画时查找使用。

2019-07-16

最新编译minidump_stackwalker文件

适用于macOS平台,里面包括测试的dmp,libcrash-lib.so,crashLog.txt文件

2019-01-05

MVP简单demo

MVP 简单demo

2016-05-10

Java设计模式demo

《Android源码设计模式解析与实战》读书笔记中demo代码。

2016-01-20

GreenDao所需jar包2.0.0

GreenDao所需jar包截至上传时间最新版2.0.0

2015-10-20

录制转GIF动态图

录制转GIF动态图(个人觉得很是好用,方便,完全免费)

2015-10-09

NDK_C调用java demo

NDK中使用C代码调用java中的方法事例demo

2015-09-24

InstaMaterial - eclipse版

MaterialDesign 中的一个叫InstaMaterial的开源项目的eclipse版。 原版github链接:https://github.com/frogermcs/InstaMaterial

2015-08-28

唯鹿的留言板

发表于 2020-01-02 最后回复 2020-01-15

博客排名异常?

发表于 2018-05-24 最后回复 2018-05-25

博客文章审核怎么这么慢?

发表于 2016-01-02 最后回复 2016-01-02

空空如也

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

TA关注的人 TA的粉丝

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