唯鹿的博客

一只努力的程序猿

排序:
默认
按更新时间
按访问量

Android开源与干货网站汇总

开源代码  几乎每天都有更新 23code  更新的不是特别频繁,但还是不错 开源项目  这个是Github上比较经典的 MaterialDesign  这个MaterialDesign比较多的开源项目 eoe  eoe论坛 安卓巴士论坛

2015-08-10 13:27:31

阅读数:3898

评论数:4

感受LiveData 与 ViewModel结合之美

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

2018-06-19 13:48:19

阅读数:928

评论数:0

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

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

2018-05-15 13:01:28

阅读数:401

评论数:0

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

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

2018-04-14 16:05:52

阅读数:849

评论数:1

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

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

2018-03-07 09:29:24

阅读数:1996

评论数:4

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

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

2018-02-07 10:39:01

阅读数:731

评论数:0

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

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

2018-01-27 22:39:49

阅读数:1301

评论数:2

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

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

2018-01-06 16:21:48

阅读数:1186

评论数:0

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

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

2017-12-23 20:27:24

阅读数:3580

评论数:0

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

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

2017-12-04 15:22:56

阅读数:1515

评论数:0

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

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

2017-11-19 11:29:55

阅读数:1896

评论数:4

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

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

2017-11-05 15:57:38

阅读数:2503

评论数:0

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

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

2017-10-15 19:47:57

阅读数:5855

评论数:16

安卓实现扫一扫识别数字

本文已授权微信公众号:鸿洋(hongyangAndroid)原创首发。 公司业务需求,需要做手机号码的识别。所以有了此篇文章,现在就将实现过程分享给大家。 1.准备工作 首先实现识别数字等字符,我们要知道需要采用OCR (Optical Character Recognitio...

2017-09-13 10:59:09

阅读数:11417

评论数:44

Android 7.0脱坑指南

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

2017-08-19 10:26:08

阅读数:3167

评论数:4

使用gradle集成360加固

360加固我想大家并不陌生,使用起来也比较简单。只要下载它的加固助手上传我们打包签名好的APK文件就可以完成加固。但我们是否可以让他更加的便捷呢?答案是肯定的。 1.准备 首先我们下载360加固助手。这里我使用Windows版来说明。 解压后我们将jiagu文件夹放到我们项目...

2017-07-10 16:33:20

阅读数:1943

评论数:9

Dagger2与AndroidInjector

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

2017-06-11 15:12:29

阅读数:5072

评论数:1

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

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

2017-05-11 22:34:16

阅读数:4270

评论数:6

ChangeTabLayout实现过程

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

2017-04-01 10:14:30

阅读数:2154

评论数:2

RecyclerView局部刷新爬坑之路

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

2017-03-23 22:44:30

阅读数:2866

评论数:6

说一说开源许可协议

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

2017-02-21 16:13:11

阅读数:1714

评论数:0

一些RxBinding使用场景

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

2017-01-21 15:09:21

阅读数:9890

评论数:4

一些小效果的实现

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

2016-12-18 11:48:25

阅读数:3376

评论数:10

一些你可能需要的okhttp实现

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

2016-11-16 15:16:26

阅读数:6776

评论数:3

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

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

2016-10-19 21:50:45

阅读数:7802

评论数:59

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

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

2016-09-25 12:49:21

阅读数:3457

评论数:5

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

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

2016-08-27 14:21:04

阅读数:1415

评论数:0

谈谈Android 6.0 的动态权限管理

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

2016-07-24 12:53:09

阅读数:11540

评论数:3

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

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

2016-06-29 22:59:24

阅读数:7535

评论数:2

关于RxJava防抖操作

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

2016-05-18 10:41:41

阅读数:14134

评论数:4

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

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

2016-04-30 11:22:23

阅读数:12132

评论数:1

Retrofit结合RxJava使用说明

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

2016-03-19 19:55:05

阅读数:2218

评论数:8

当 Dagger2 应用在 MVP 框架中

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

2016-02-01 10:09:29

阅读数:1905

评论数:1

Dagger2使用攻略

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

2016-01-29 11:19:09

阅读数:4672

评论数:4

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

第二十六章、MVP应用构架模式1.MVP介绍 MVP模式是MVC模式的一个演化版本,MVP全称Model-View-Presenter。目前MVP在Android应用开发中越来越重要了。 在Android中,业务逻辑和数据存取是紧紧耦合的,很多缺乏经验的开发者很可能会将各种各样的业务逻辑塞进某...

2016-01-27 08:58:31

阅读数:6025

评论数:10

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

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

2016-01-25 09:01:13

阅读数:2874

评论数:5

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

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

2016-01-22 09:09:47

阅读数:2346

评论数:1

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

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

2016-01-20 09:04:58

阅读数:2029

评论数:3

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

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

2016-01-18 09:21:30

阅读数:2095

评论数:1

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

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

2016-01-16 11:31:47

阅读数:1867

评论数:1

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

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

2016-01-14 09:17:58

阅读数:2171

评论数:1

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

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

2016-01-12 09:09:13

阅读数:1808

评论数:1

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

第十八章、代理模式 代理模式也称委托模式,是结构型设计模式之一。是应用广泛的模式之一。 1.定义为其他对象提供一种代理以控制对这个对象的访问。2.使用场景当无法或不想直接访问某个对象或访问某个对象存在困难时可以通过一个代理对象来间接访问,为了保证客户端使用的透明性,

2016-01-10 17:05:14

阅读数:1971

评论数:1

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

第十七章、中介者模式 中介者模式也称为调解者模式或调停者模式,是一种行为型模式。 1.定义中介者模式包装了一系列对象相互作用的方式,使得这些对象不必相互明显作用。从而使它们可以松散耦合。当某些对象之间的作用发生改变时,不会立即影响其他的一些对象之间的作用。保证这些作用可以彼此独立的变化。

2016-01-08 08:56:39

阅读数:2291

评论数:1

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

第十六章、访问者模式 访问者模式是一种行为型模式,它是23种设计模式中最复杂的一个,虽然使用频率不高,但是并不代表可以忽略,在合适的地方,它会带来意想不到的灵活性。访问者模式,顾名思义使用了这个模式后就可以在不修改已有程序结构的前提下,通过添加额外的“访问者”来完成对已有代码功能的提升。

2016-01-06 09:20:36

阅读数:3533

评论数:3

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

第十五章、模板方法模式 模板方法模式是结构最简单的行为型设计模式,也是所有模式中最为常见的几个模式之一,是基于继承的代码复用的基本技术。在其结构中只存在父类与子类之间的继承关系。

2016-01-04 11:01:50

阅读数:2154

评论数:2

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

第十四章、迭代器模式 迭代器模式,又叫做游标模式,是行为型设计模式之一。我们知道对容器对象的访问必然会涉及遍历算法,我们可以将遍历的方法封装在容器中,或者不提供遍历方法,让使用容器的人自己去实现去吧。这两种情况好像都能够解决问题。

2016-01-02 08:14:07

阅读数:2289

评论数:1

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

第十三章、备忘录模式 备忘录模式是一种行为模式,该模式用于保存对象当前的状态,并且在之后可以再次恢复到此状态,有点像是我们平常说的”后悔药”。 1.定义在不破坏封闭的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,这样,以后就可将该对象恢复到原先保存的状态。

2015-12-30 09:28:08

阅读数:2182

评论数:2

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

第十二章、观察者模式 观察者模式是一个使用率非常高的模式,它最常用在GUI系统、订阅–发布系统。因为这个模式的一个重要作用就是解耦,将被观察者和观察者解耦,使得它们之间的依赖性更小,甚至做到毫无依赖。

2015-12-28 09:00:38

阅读数:2782

评论数:4

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

第十一章、命令模式 命令模式是行为型模式之一。总体来说并不难理解,只是比较繁琐,他会将简单的调用关系解耦成多个部分,增加类的复杂度,但是即便如此,命令模式的结构依然清晰。

2015-12-25 09:28:40

阅读数:2621

评论数:1

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