自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

唯鹿的博客

一只努力的程序猿

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

19.04.29更新: gradle下载地址 maven依赖搜索 JetBrains 插件搜索 18.08.06更新: 距离首次发布过去了三年了,好多都已经无法访问了,表示很伤感。。。不过也有新的诞生了,补充一下! wan android鸿洋大神维护,满满干货,工具多多...

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

原创 Flutter状态管理之Riverpod

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

2020-09-03 09:17:43 1963 2

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

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

2020-08-16 13:23:42 759 0

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

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

2020-07-06 09:48:24 2217 0

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

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

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

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

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

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

原创 Windows下Scrapy的环境搭建

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

2020-04-24 09:36:58 508 0

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

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

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

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

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

2020-03-09 09:05:19 2112 0

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

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

2020-02-26 11:20:52 9380 3

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

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

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

原创 说说Flutter中的Semantics

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

2020-01-06 14:58:25 3555 0

原创 说说Flutter中的RepaintBoundary

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

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

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

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

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

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

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

2019-10-14 08:15:55 4042 0

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

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

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

原创 Android 9.0 适配指南

又到了我一年一度写Android适配文章的时间,本身这篇应该会早几个月发出来,但是前两三个月主要忙于Flutter的项目,所以这篇文章才姗姗来迟。不过毕竟是9.0的适配,还不算太晚哈! 1.前言 从去年开始就有消息说,应用上架或者更新要求TargetSdkVersion最低要为26以上,也...

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

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

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

2019-07-16 08:57:04 5737 6

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

接着上篇 Flutter开发中的一些Tips,今天再分享一些我遇到的问题,希望“引以为戒”。本篇的所有例子,都在我开源的flutter_deer中。希望Star、Fork支持,有问题可以Issue。附上链接:https://github.com/simplezhli/flutter_deer ...

2019-07-11 09:28:37 6125 6

原创 Flutter开发中的一些Tips

学习Flutter也有二个多月了,所以分享一下自己在实践中遇到的问题及心得。希望对你有所帮助! 1.防止溢出异常 异常大致如下: A RenderFlex overflowed by 22 pixels on the bottom. 导致的原因就是在水平或者垂直方向上的内容超过了父部件...

2019-06-12 21:17:51 9506 15

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

Mac终端:pip command not found 安装 pip是python的包管理工具,在Python2.7的安装包中,easy_install.py是默认安装的,而pip需要我们手动安装 sudo easy_install pip sudo pip install enum s...

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

原创 Android 9.0中的新功能 - PrecomputedText

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

2019-04-15 08:29:56 2266 0

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

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

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

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

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

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

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

Chapter01 例子里集成了Breakpad 来获取发生 native crash 时候的系统信息和线程堆栈信息。 直接运行项目,按照README.md的步骤操作就行。 使用例子中提供的 tools/mac/minidump_stackwalker 工具来根据minidump 文...

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

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

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

2018-12-10 08:48:19 4767 7

原创 记一次Glide的错误配置

1.问题 我们知道Glide默认使用的是HttpUrlConnection的方式请求网络获取图片,具体实现参见HttpUrlFetcher 类。 而OkHttp的出现就是用于替代HttpUrlConnection和HttpClient,它的高效与强大我就不多说了,官方文档如下: OkHttp 是...

2018-11-11 18:03:17 2083 0

原创 RecyclerView库中的遗珠

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

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

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

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

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

原创 AndroidX了解一下

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

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

原创 Android 8.0适配指北

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

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

原创 感受LiveData 与 ViewModel结合之美

LiveData与ViewModel都是Android官方架构组件(Android Architecture Components)之一。 1.前言 虽说这篇是说LiveData与ViewModel,但是或多或少都有涉及另外一个组件:Lifecycles 。它们连同Room都是在17年谷歌...

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

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

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

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

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

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

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

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

本文已授权微信公众号:鸿洋(hongyangAndroid)原创首发。 这是模仿乐视遥控App中添加万能遥控器的交互效果,实现效果如下: 感觉是不是有点小炫酷与小复杂,其实整个实现大致分为三部分: 绘制手机 实现拖动 修正位置 1.绘制手机 这部分其实都是自定义Vie...

2018-03-07 09:29:24 6663 6

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

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

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

原创 Android单元测试(七):MVP与单元测试

本篇介绍如何对MVP架构的项目进行单元测试。会用到之前六篇文章中所介绍的内容,算是学以致用了。本文中我没具体说明的地方前几篇文中一定会有的。希望大家可以循序渐进。 对于MVP网上也有很多变种,各有千秋,但是万变不离其宗。本篇采用的MVP是《Android源码设计模式解析与实战》这本书中介绍的一...

2018-01-27 22:39:49 7799 2

原创 Android单元测试(六):RxJava测试

随着响应式编程RxJava这几年的火热,大家在项目中也会常常使用。RxJava提供了大量的操作符,让我们的代码显得更简洁,对于线程的切换也更加自如。那么当我们写单元测试时,如何方便的测试RxJava呢?这就是本篇的内容。

2018-01-06 16:21:48 6685 0

原创 Android单元测试(五):网络接口测试

在平日的开发中,我们用后台写好给我们接口去获取数据。虽然我们有一些请求接口的工具,可以快速的拿到返回数据。但是在一些异常情况的处理上就不太方便了。

2017-12-23 20:27:24 18068 17

原创 Android单元测试(四):Robolectric框架的使用

学习了前三篇有关单元测试的内容,你会发现好像和Android没有什么关系,都是Java。因为文章中的例子并没有使用到Android中所特有的组件和方法。

2017-12-04 15:22:56 8961 9

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