自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

唯鹿的博客

一只努力的程序猿

  • 博客(162)
  • 资源 (11)
  • 收藏
  • 关注

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

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

2018-05-15 13:01:28 5957 5

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

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

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

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

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

2018-03-07 09:29:24 10005 9

原创 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 5673 1

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

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

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

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

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

2018-01-06 16:21:48 8855

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

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

2017-12-23 20:27:24 23239 11

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

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

2017-12-04 15:22:56 14530 10

原创 Android单元测试(三):PowerMock框架的使用

之前的两篇文章分别说到了 JUnit 与 Mockito ,一个主要用于断言,一个用于模拟我们的非测试类。今天说一说PowerMock ,它拓展了Mockito框架,从而支持了mock static方法、private方法、final方法与类等等。(这里八卦一下,为什么 Mockito 不自己支持 private 方法?有兴趣的自行查看原因)1.PowerMock选择PowerMoc

2017-11-19 11:29:55 16758 16

原创 Android单元测试(二):Mockito框架的使用

在实际的单元测试中,我们测试的类之间会有或多或少的耦合,导致我们无法顺利的进行测试,这时我们就可以使用Mockito,Mockito库能够Mock(我喜欢理解为模拟)对象,替换我们原先依赖的真实对象,这样我们就可以避免外部的影响,只测试本类,得到更准确的结果。当然它的功能不仅仅只是这些,例如TDD(测试驱动开发)也是一大亮点,下面我在详细说明。1.Mockito介绍使用时在buil...

2017-11-05 15:57:38 19877 10

原创 Android单元测试(一):JUnit框架的使用

1.前言网上有许多关于单元测试的好处,这里我就不去说了。我写单元测试的理由很简单粗暴,就是图一个方便。如果你想早点写完下班,那么你就需要掌握单元测试。

2017-10-15 19:47:57 45958 19

原创 安卓实现扫一扫识别数字

本文已授权微信公众号:鸿洋(hongyangAndroid)原创首发。 公司业务需求,需要做手机号码的识别。所以有了此篇文章,现在就将实现过程分享给大家。1.准备工作首先实现识别数字等字符,我们要知道需要采用OCR (Optical Character Recognition,光学字符识别)来实现。而tesseract是非常不错的开源OCR工具,但是要在Android中直接...

2017-09-13 10:59:09 43072 69

原创 Android 7.0脱坑指南

这篇文章所写的前三个问题是自己现实遇到的,后三个是收集来的没有验证,作为记录以备不时之需。

2017-08-19 10:26:08 19490 5

原创 使用gradle集成360加固

360加固我想大家并不陌生,使用起来也比较简单。只要下载它的加固助手上传我们打包签名好的APK文件就可以完成加固。但我们是否可以让他更加的便捷呢?答案是肯定的。1.准备首先我们下载360加固助手。这里我使用Windows版来说明。解压后我们将jiagu文件夹放到我们项目的根目录中。因为360加固支持命令行方式加固,并且提供了详细的命令操作。因此我们可以使用sh脚本来...

2017-07-10 16:33:20 6674 9

原创 Dagger2与AndroidInjector

使用过Dagger开发Android应用的小伙伴会知道我们会在Activity或Fragment的生命周期方法中执行成员注入。比如这样:

2017-06-11 15:12:29 15880 4

转载 史上最全WebView使用,附送Html5Activity一份

关于WebView使用很全面的一篇文章,分享给大家。

2017-05-11 22:34:16 8866 6

原创 ChangeTabLayout实现过程

ChangeTabLayout是我模仿乐视LIVE App主界面的TabLayout效果实现的,希望大家多多支持。

2017-04-01 10:14:30 5657 2

转载 RecyclerView局部刷新爬坑之路

前几天看到的一篇文章,感觉和我的爬坑经历很像,感觉相见恨晚,所以转载一下。原文地址:安卓易学,爬坑不易—腾讯老司机的RecyclerView局部刷新爬坑之路

2017-03-23 22:44:30 6141 6

原创 说一说开源许可协议

1.作用1 首先协议保护了我们的合法权利。保证这些软件不被一些商业机构或个人窃取。2 通过协议内容,使用者了解自身拥有的权限。可以方便使用。所以使用开源协议真的是利人利己。如果我们没有添加协议,那么默认是你保留所有权力,不允许任何人复制,分发或创建衍生作品。

2017-02-21 16:13:11 3479

原创 一些RxBinding使用场景

1.首先RxBinding是对Android View事件的扩展,它使得你可以对View事件使用RxJava的各种操作。2.提供了与RxJava一致的回调,使得代码简洁明了。尤其是页面中充斥着大量的监听事

2017-01-21 15:09:21 16848 4

原创 一些小效果的实现

这篇可能是今年的最后一篇博客,时间真是飞快。。。话说今年还是比较忙的,没有去年分享的内容多。但是自己始终坚持至少一月分享一篇。生怕长时间不写了,就懒惰了。

2016-12-18 11:48:25 4817 10

原创 一些你可能需要的okhttp实现

本文已授权微信公众号:鸿洋(hongyangAndroid)原创首发。今天分享一些我在项目中使用到的okhttp实现,由简至难。(以下内容均在okhttp3.4.1下正常使用)

2016-11-16 15:16:26 9506 3

原创 一些你需要知道的布局优化技巧

转载请注明出处:http://blog.csdn.net/qq_17766199/article/details/52863741今天分享一些layout布局书写中的一些技巧,希望看过之后你也一样可以写出性价比高的布局。我个人的目标是用最少的View写出一样效果的布局。

2016-10-19 21:50:45 12144 62

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

写这篇文章属于脑中一闪的一个念头,是想着把自己做项目中遇到的一些奇怪问题和解决办法分享出来。因为是现想,所以想到一个在更新一个吧。可能有理解错误的地方,望指出。1.App的首次安装。问题描述:在我们安装完成一个app时,在安装界面直接点击打开。我们进入了app的首页,这时我们按home键返回桌面,再点击应用图标,会发现没有直接进入首页,而是先进入了app的闪屏页,在进入首页。重...

2016-09-25 12:49:21 5974 5

转载 使用Picasso加载图片的内存优化实践

我来简单对比一下常用的图片加载库Picasso、Glide、Fresco。(不要问我UIL,因为作者已经不维护了,不推荐使用了。但是他的设计思想值得每个人学习!)

2016-08-27 14:21:04 2280

原创 谈谈Android 6.0 的动态权限管理

1.前言大家都知道Android 6.0的新特性之一就是应用权限的管理。也就是说凡是涉及用户隐私的权限,用户可以自己去设置管理了。然而在6.0以前,我们安装一款APP是默认同意此APP所需的所有权限(比如定位、访问通讯录),不同意就不能安装。当然,国内的一些手机厂商基于Android定制的系统中,可以实现在6.0以前关闭指定的权限。如下图:2.危险权限列表(Dangerous ...

2016-07-24 12:53:09 24725 8

转载 Retrofit2.0 完美同步Cookie实现免登录

Cookies是一种能够让网站服务器把少量数据储存到客户端的硬盘或内存,或是从客户端的硬盘读取数据的一种技术。Cookies是当你浏览某网站时,由Web服务器置于你硬盘上的一个非常小的文本文件,它可以记录你的用户ID、密码、浏览过的网页、停留的时间等信息

2016-06-29 22:59:24 9138 2

原创 关于RxJava防抖操作

在实际开发中为了防止用户手抖点开两个重复的界面,我们会做防抖处理。(这里吐槽一下微信,快速点击朋友圈就可以点开多个页面。。。)解决的老办法我就不介绍了,这里我们主要说说利用RxJava来实现。

2016-05-18 10:41:41 23162 5

转载 其实你不知道MultiDex到底有多坑

就在前几天,公司正在做的项目遇到了方法数越界的问题,当时真是醉了。想想也难怪,项目中的依赖库就有三十多个,方法数不越界才怪。所以马上上网寻找解决方法,于是找到了下面这篇文章,觉得文章讲解的很全面,所以转载过来,分享给更多的人。最后感谢作者的分享精神。

2016-04-30 11:22:23 22621 1

原创 Retrofit结合RxJava使用说明

最近也不知道博客写什么内容,大家有什么想了解的内容,也可以评论告诉我,我尽力解答。如果对Retrofit不了解可以看我之前的一篇博客:[Retrofit 2.0使用](http://blog.csdn.net/qq_17766199/article/details/49946429) ,这次的内容也是在此基础上的。

2016-03-19 19:55:05 2833 7

转载 当 Dagger2 应用在 MVP 框架中

原文链接:当 Dagger2 应用在 MVP 框架中 关于 Dagger2 自己一只想搞明白,但是从去年开始到现在,说真的,看过不少介绍 Dagger2 的文章,但自己一只云里雾里,最近打算把 Dagger2 应用到 MVP 框架中去,所以就重新翻看相关技术文章,重新学习下

2016-02-01 10:09:29 2593 1

原创 Dagger2使用攻略

Dagger2使用攻略 Dagger 2 是 Square 的 Dagger 分支,是一种依赖注入框架。目前由 Google 接手进行开发,Dagger2是使用代码自动生成和手写代码来实现依赖注入。据说在 Dagger 的基础上效率又提升了13%,并且同样功能强大

2016-01-29 11:19:09 7638 4

原创 《Android源码设计模式解析与实战》读书笔记(二十六)

第二十六章、MVP应用构架模式1.MVP介绍 MVP模式是MVC模式的一个演化版本,MVP全称Model-View-Presenter。目前MVP在Android应用开发中越来越重要了。在Android中,业务逻辑和数据存取是紧紧耦合的,很多缺乏经验的开发者很可能会将各种各样的业务逻辑塞进某个Activity、Fragment或者自定义View中,这样会使得这些组件的单个类型臃肿不堪。

2016-01-27 08:58:31 7964 9

原创 《Android源码设计模式解析与实战》读书笔记(二十五)

第二十五章、MVC的介绍与实战1.MVC的基本介绍 MVC全称是Model - View - Controller,是模型(model)-视图(view)-控制器(controller)的缩写。MVC是一种框架模式而非设计模式,GOF把MVC看作是3种设计模式:观察者模式、策略模式与组合模式的合体,而核心是观察者模式。

2016-01-25 09:01:13 3703 5

原创 《Android源码设计模式解析与实战》读书笔记(二十四)

第二十四章、桥接模式 桥接模式也称为桥梁模式,是结构型设计模式之一。桥接模式中体现了“单一职责原则”、“开闭原则”、“里氏替换原则”、“依赖倒置原则”等。同时它也是很实用的一种模式。

2016-01-22 09:09:47 3015 1

原创 《Android源码设计模式解析与实战》读书笔记(二十三)

第二十三章、外观模式 外观模式是结构型设计模式之一,它在开发中的运用频率非常高,是我们封装API的常用手段。我们经常使用的三方SDK基本都使用的外观模式,这样可以对用户屏蔽很多实现细节,降低用户使用成本

2016-01-20 09:04:58 2699 3

原创 《Android源码设计模式解析与实战》读书笔记(二十二)

第二十二章、享元模式 享元模式是结构型设计模式之一,是对对象池的一种实现。就像它的名字一样,共享对象,避免重复的创建。我们常用的String 就是使用了共享模式,所以String类型的对象创建后就不可改变,如果当两个String对象所包含的内容相同时,JVM只创建一个String对象对应这两个不同的对象引用。

2016-01-18 09:21:30 2705 1

原创 《Android源码设计模式解析与实战》读书笔记(二十一)

第二十一章、装饰模式 装饰模式也称为包装模式,是结构型设计模式之一。装饰模式是一种用于替代继承技术的一种方案。1.定义动态的给一个对象添加一些额外的职责。就增加功能来说,装饰模式相比生成子类更为灵活。

2016-01-16 11:31:47 2562 1

原创 《Android源码设计模式解析与实战》读书笔记(二十)

第二十章、适配器模式 适配器模式是结构型设计模式之一,它在我们的开发中使用率极高,比如ListView、GridView以及RecyclerView都需要使用Adapter。1.定义适配器模式把一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配无法在一起工作的两个类可以在一起工作。

2016-01-14 09:17:58 3068 1

原创 《Android源码设计模式解析与实战》读书笔记(十九)

第十九章、组合模式 组合模式也称为部分-整体模式,结构型设计模式之一。1.定义将对象组合成树形结构以表示“部分-整体”的层次结构,使得用户对单个对象和组合对象的使用具有一致性。2.使用场景(1)表示对象的部分-整体层次结构时。(2)从一个整体中能够独立出部分模块或功能的场景。

2016-01-12 09:09:13 2466 1

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

Retrofit所需jar

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

2015-11-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

拖动 Button 显示效果

拖动 Button 显示效果

2014-11-23

空空如也

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

TA关注的人

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