自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

gengqiquan的博客

分享是一种精神,不是一种义务

  • 博客(41)
  • 资源 (2)
  • 收藏
  • 关注

翻译 kotlin函数

infix标记法在以下情况下,也可以使用中缀符号调用函数:它们是成员函数或扩展函数-它们只有一个参数它们用infix关键字标记// Define extension to Intinfix fun Int.shl(x: Int): Int { ...}// call extension function using infix notation1 shl 2// is the...

2019-02-27 17:47:02 864

原创 用代理获取startActivityForResult结果

尊重他人的劳动成果,转载请标明出处:http://blog.csdn.net/gengqiquan/article/details/74331845, 本文出自:【gengqiquan的博客】之前RxActivityResult 这个库和RX绑定太深,好多人其实并不喜欢RX的方式,而且引入RX也容易导致开发者乱用,如果不能很好的进行内存管理的话会导致内存泄露。考虑到界面回传的业务场景中对值的ao...

2018-11-14 10:31:47 868

原创 Hook OKhttp3模拟服务端响应请求返回mock数据

一个hook 流行网络请求库OKhttp3的一种模拟服务端响应请求返回数据的库,方便只有文档而没有发布测试服务器的时候进行开发和调试

2017-09-28 09:43:32 5986 2

原创 android生成分享长图并且添加全图水印

长图一般是ScrollView和ListView。我们需要取得这两个控件的完整显示的图片。原理很简单,搞一张和控件长宽一致的画布(就是创建一个高宽相等的bitmap)。然后调用控件的draw方法把自己画到画布上去。

2017-03-25 17:05:17 11212 10

原创 RefreshLayout让你半小时以内完成一个列表界面

尊重他人的劳动成果,转载请标明出处:http://blog.csdn.net/gengqiquan/article/details/52757393, 本文出自:【gengqiquan的博客】之前写过一篇博文 如何写一个通用的列表控件讲到绝大多数项目总都会有各种形形色色的列表界面,但其实这些界面的区别就在于列表子项的布局不同和点击事件的响应不同而已,然而每次有个新的列表界面从适配器到Activity

2016-12-02 11:15:11 14225

原创 2017--年终总结

年前需求完毕,静等休假,做个总结和规划。资深工程师任重而道远,非技术积累可以独撑,还需要天时地利人和,当前公司用户量级还是太少。产生的问题较少,经验的积累完全取决于产品的脑洞。年初还一个月保证1至2篇博客产出,后来注入了个对象,再后来CSDN动荡导致各种问题,搞得人就不想写博客了。也就零零散散写写写。写了很多依赖库,基本出于自用,算是自己的一种积累吧,以后方便新项目的快速搭建。暂时不知道...

2018-02-08 11:03:24 577

原创 React-Native 知识点小结

要按官方文档操作,不要瞎百度,瞎按博客操作使用(react-native init 你的项目名字 –version 0.44.3 )生成对应版本的项目,不同版本有差异,初学者容易掉某明奇妙的坑里

2017-11-03 15:17:55 2654

原创 cocoapods安装与报错处理

安装好Ruby环境 。ruby -v //检查版本sudo gem update –system //更新版本安装cocoapods(需要翻墙) ,所以先切换成taobao的国内镜像网址gem sources –remove https://rubygems.org/gem sources -a http://ruby.taobao.org/gem sources -l //验证是否切

2017-08-09 15:23:43 581

原创 告别onActivityResult ,用代理实现Rx方式获取startActivityForResult结果

要想完全告别onActivityResult(),有两种方案1、使用进程注入的方式hook系统的activity数据发送,这种方案比较复杂,用到ndk知识,需要在源码下编译应用,不适合大部分人。2、利用代理进行跳转事件转发代理和 onActivityResult()事件代理接收后再通知委托者。

2017-07-04 15:57:06 37191 7

原创 自定义注解并进行动态解析

尊重他人的劳动成果,转载请标明出处:http://blog.csdn.net/gengqiquan/article/details/70230597, 本文出自:【gengqiquan的博客】前两篇博客我们唠了Java支持基本的注解以及Android Support Annotations库提供的静态检查类型的注解 今天我们来唠唠怎么自定义动态注解,并且实现一个控件自动绑定功能(老版本butter

2017-04-18 17:22:43 5312

原创 Support Annotations注解介绍以及自定义注解代替枚举

Android支持Java默认的那些注解,同时通过Support Annotations也额外提供了很多注解,了解并熟练使用这些注解能够让你的代码更加严谨,结构更加清晰、架构更易维护

2017-04-15 17:33:06 5464

原创 Java 注解那些事儿

尊重他人的劳动成果,转载请标明出处:http://blog.csdn.net/gengqiquan/article/details/53782194, 本文出自:【gengqiquan的博客】今日无事,应狒狒之邀,写一篇详细的关于注解的文章。注解一般有如下几种作用生成文档,这是大家最常见的也是Java最早提供的注解功能。比如看源码的时候方法注释上面的 @see @param @return 等等;

2017-04-15 14:41:16 2844 2

原创 ScrollView嵌套GridView、ListView的那些事儿

尊重他人的劳动成果,转载请标明出处:http://blog.csdn.net/gengqiquan/article/details/53782194, 本文出自:【gengqiquan的博客】在android开发中,经常有一些UI需要进行固定style的动态布局,然而由于现在的UI都喜欢把一个界面拉的很长,所以我们很多情况下需要使用ScrollView来嵌套列表控件来实现UI。这样就导致了很多不顺心

2017-02-13 10:45:49 3819 2

原创 2016-年终总结

今天回家进入休假模式,2016年可以算结束了。回顾这一年,对比当初设定的年终目标,基本上可以说是都完成了终究成为了一个名副其实的Android高级开发工程师,在资深的道路上小跑起来 :-D拖了大半年的写博客这件事也自新公司安定下来后开始有条不紊的进行了十月份定目标开始花了一个多月达成了成为博客专家的目标在Jcenter上发布了四个依赖库,三个功能库,一个控件库,其实本来是2017年的部分目标

2017-01-24 11:18:50 3773 4

原创 LoginUtil一句代码实现各种登录验证前置操作

一句代码进行登录 LoginUtil.doActionNeedLogin(this, () -> { //do something need login });完整的示例项目地址https://github.com/gengqiquan/LoginUtil使用方式doActionNeedLogin检查是否登录登录直接执行操作,未登录跳转登录,登录后继续执行操作

2016-12-21 11:21:10 8045 1

原创 Android中webview与JS交互、互调方法

对于试水的功能,一般公司都会采用H5的方式来开发,可以用很少的资源与很短的项目工期来完成。 但许多情况下,H5页面会需要一些原生持有的一些如用户信息之类的数据,一些交互也需要调用原生的,如toast之类要保持同一个手机风格一致的交互行为。这个时候就需要能够让JS主动调用原生的方法来进行操作或者获取数据。或者是原生调用JS的方法在H5加载的时候传递一些参数。对于原生调用JS的方法我们需要实现一个We

2016-11-22 17:05:13 11096 6

原创 从零开始实现图片加载特效之黑白照片、倒影图片、图片蒙版

然后上篇博客[ 从零开始实现一个网络图片加载框架:加载特效(一)](http://blog.csdn.net/gengqiquan/article/details/53161853)分别介绍渐变加载和圆角图片了两种加载特效的实现方式,今天我们来一起实现其他三种蒙版特效,分别为倒影特效,灰度照片,遮罩特效

2016-11-15 10:27:04 11875

原创 从零开始实现图片加载特效之渐变加载、圆角图片

有时候图片直接显示过于生硬,这个时候我们就需要给加载图片的过程加上特效,比如渐变显示。有时候我们需要图片加圆角

2016-11-14 18:04:15 9516

原创 Android录制手机屏幕视频生成GIF图片教程

无图无真相,在我们日常的网络交流中往往需要给交流对象提供直观的显示,而视频是一个很好的方式,但是视频需要播放器,还需要当做文件进行对点传输,并不是很方便。想CSDN这样的博客网站也并不支持在博客里放视频这种方式,

2016-11-08 10:25:16 5558 2

原创 从零开始实现一个网络图片加载框架

项目使用 Picasso的时候发现一些问题,列表大量快速滑动的时候容易内存过高而崩溃。快速滑动有卡顿。仔细看了下源码。发现Picasso的解析是没有做线程池限制处理的。大量解析容易导致内存来不及释放而崩溃。于是自己写了一个支持内存缓存和本地文件缓存的网络图片加载框架

2016-11-07 11:35:56 11743 1

原创 RxJava实战:变换操作符map的使用姿势及技巧

map变换操作符的作用是把每一个(T类型的)Observable通过一些列代码变换成另外一种(R类型的)Observable也就是图上的把圆圈变成三角。Observable就是流,把他当做一种结构,这种结构具有类型, 这种类型可以应用rx操作。然后实际进行RX操作的时候操作的其实是对应的类型的对象。

2016-10-21 11:08:47 3938

原创 自定义view基础:TypedArray(属性样式)

就控件的布局生成方式而言,相对于Java代码中new的方式,大多数人更喜欢XML布局文件中直接写,这也是Android推荐的一种方式,将view的样式与具体逻辑分离。一些常用系统控件的属性样式赋值相信大家已经很熟悉了,但有时候系统控件不能满足我们的需求的时候就需要开发者来自己定义符合的控件了,这个时候怎么让自己写的控件可以像系统控件一样在XML布局中设置呢?本篇博客就来为大家介绍TypedArray

2016-10-13 15:31:28 3310

原创 Retrofit源码解析:RxJavaCallAdapterFactory

上篇博客Retrofit源码解析我们讲到了retrofit所采用的注解方法会交由ServiceMethod的callAdapter 去进行层层解析,然后交由OkHttpCall 去执行具体的请求 并且这个callAdapter 是可以设置的使用rxjava的用户一般会设置RxJavaCallAdapterFactory.create())而如果用户如果不设置的话,retrofit会默认创建一个。创建

2016-10-11 10:25:30 9926

原创 Retrofit源码解析

既然是好的框架,我们当然要拿来用,但同时也应该去了解框架的优点和好的设计思想。本篇博客就带大家来一起走进Retrofit源码的世界,来看一看当前最好的网络框架的内心灵魂是如何美妙吧。Retrofit 独树一帜的把请求采用了接口,方法和注解参数(parameter annotations)来声明式定义一个请求应该如何被创建的方式。 如果你已经使用过它了,你应该记得他的实例创建是这样的

2016-10-10 15:54:26 3211

原创 小话设计模式:Builder模式

有一天,一个屌丝程序员捡到了一盏神灯,恩,我擦了个擦,冒出了个灯神。灯神:我可以满足你一个愿望,说吧,你要啥子? 屌丝程序员立马:我艹,碉堡了! 然后就听蹦的一声,灯神说:你的愿望完成了!就剩下屌丝程序员捂着裆部在那里抽搐。嘛!开玩笑的,作为一个屌丝程序员,最缺什么?玩笑!当然是妹子啊。 灯神,先来一打妹子,啥?一打给不了?那 就给一个吧,恩,要一米六以上,36D,圆脸,披肩长发,细腰瘦腿,微

2016-10-09 10:50:46 3038

原创 如何写一个通用的列表控件

每次有个新的列表界面从适配器到Activity都需要写很多代码。作为一个懒人, 一直想把这些重复的工作给去掉,要做到这点,我们的控件需要有以下的功能1支持下拉刷新2支持适配器抽象3支持切换没有数据界面图片和文字(一般都会有个图片和提示文字)4支持切换加载失败界面,且点击自动重试(有的项目是点击按钮,有的是直接点击失败界面)5支持加载更多

2016-10-08 15:59:08 5215

原创 一个简单的自定义Dialog

项目中会有各种各样的dialog弹窗,每个都拿布局去写很烦,以前写过一个多配置的dialog框架,没带到新公司,没事的时候写了一个简洁版的。 支持有无标题,支持替换内容View。支持只显示确定按钮,支持修改按钮文字颜色。支持普通的点击事件,支持背景调暗,总之是一些基本的dialog功能

2016-09-21 15:28:08 5790 1

原创 Retrofit自定义Converter之StringConverterFactory

之前写过一篇 浅谈Retrofit封装-让框架更加简洁易用 里面采用的是GsonConverterFactory对于retrofit的返回类型是只能有 具体对象、jsonObject、jsonArray这三种。由于服务器返回的基础数据格式不固定,所以封装请求类的时候每个请求方式都要封装两个方法,而retrofit又必须添加一种解析器,本人对代码有洁癖,抽时间写了个StringConverterFac

2016-09-08 17:11:16 30381 5

原创 浅谈Retrofit封装-让框架更加简洁易用

尊重他人的劳动成果,转载请标明出处:http://blog.csdn.net/gengqiquan/article/details/52329259, 本文出自:【gengqiquan的博客】不知不觉在在这家公司快三个月了,刚接手项目的时候是真的被里面的代码恶心到了,网络请求用的原生的httpURLconnection。这本来什么,关键是根本就没有进行任何封装。activity里面充斥着大量的han

2016-08-26 15:55:05 64915 14

原创 Androidstudio使用lambda表达式教程

Java8出来有段时间了,一直对lambda蠢蠢欲动。但是由于Android缺少SDK的支持,一直不能如愿使用。如今SDK24版本出来了。添加了对Java8的支持,终于可以使用了。特此给大家分享下接入Java教程。教程基于Androidstudio。首先要做的是更新Android的SDK至24。然后下载JDK1.8,安装,配置好环境变量。 更改项目中的jdk引用,如下图 在project的b

2016-08-26 14:37:06 7380

原创 写给同事的EventBus使用指南(二)

写给同事的EventBus使用指南(一) 里面介绍了EventBus的简单用法。这篇我们讲EventBus的线程切换和响应优先级设置以及粘性事件。 EventBus的强大当然不仅仅是替代下广播和 startActivityForResult, EventBus还提供了线程切换以及注册方法的相应顺序设置 先来看线程切换,怎么设置? 如上图,通过在注解里面指定threadMode,我们可以看到有四

2016-08-15 11:50:27 8734

原创 写给同事的EventBus使用指南(一)

EventBus好处不用多说,直接告诉大家怎么使用好了

2016-08-15 10:31:11 18013 2

原创 okhttp之自定义Interceptor:缓存拦截器

如何在服务端不支持的情况下为retrofit添加缓存,如何在服务端不支持的情况下为okhttp添加缓存,既然改变不了服务端,就改变自己吧

2016-08-13 17:41:49 22033 16

原创 okhttp之自定义Interceptor:请求失败切换IP重试拦截器

经过一段时间的挣扎,终于把新公司项目的网络框架换成了retrofit,由于项目是有失败重试和重定向需求的,所以需要在新的网络框架上增加这个功能,大家都知道retrofit的网络请求部分是基于okhttp的。这个时候可爱的Interceptor设计就提现出他的好处了,不需要修改其他的代码,直接增加一个拦截器就OK了实现一个拦截器继承Interceptorpublic class RetryAndCha

2016-08-13 17:12:51 14007 6

原创 一句代码实现登录判断操作

绝大部分app中都会有登录功能,许多操作在进行前我们需要去判断用户是否登录,已登录的情况下才允许继续去执行操作。一般有以下两种情况1.判断是否登录。已登录直接执行操作。没有登录跳转登录界面,用户操作后返回之前界面,此时需要再次进行判断是否已经完成了登录(用户可能直接直接返回或者取消登录操作),如果登录成功了就执行操作,没有就什么都不做 2。判断是否登录,已登录直接执行操作,没有登录跳转登录界面,用

2016-07-11 16:12:36 12487 2

原创 关于app的几个核心功能的设计想法

关于app的几个核心功能的设计想法最近想自己做一款app,考虑到自己以前做过的那么多app里都有一些不满意或者设计不好的地方。经过各种资料的查阅并结合自己的经验,整理出一些想法。由于是抱着吐槽的想法去写的(有槽点才需要改变不是么?)。所以话语会很口语化,大家看看就好,有啥不同想法或者本人写的不好的地方,欢迎留言指出关于注册我想,注册可不可以这样,如果用户没注册,他想下单,不管是网页还是应用,跳出注

2016-07-11 10:15:03 15746 4

原创 自定义View:仿ios开关按钮控件

尊重他人的劳动成果,转载请标明出处:http://blog.csdn.net/gengqiquan/article/details/51699976, 本文出自:【gengqiquan的博客】 新项目有个提醒开关这么个功能,UI给的图当然是按ios来的,当然了,设计妹子考虑到了安卓的处境,给了两个背景图来切换,不过使用起来怎么看都不完美,很僵硬的感觉,作为一个有追求有审美的开发者,当然不能忍

2016-06-17 15:00:33 4496 3

原创 球形水波百分比控件

[转载请注明出处,尊重他人劳动成果http://blog.csdn.net/gengqiquan/article/details/51577185]本博客主要介绍的是一个球形水波的百分比控件,市面上有各种形形色色的百分比控件,我一直觉得水波是最炫的,UI给了我这个机会,然而网上搜了一大堆,不是太复杂,代码太多(反正我是调不出效果来),就是有瑕疵的,所以只好自己写了,这里开源出来,方便大家。有什么问题

2016-06-03 10:49:28 8689 1

原创 打造RecyclerView的通用适配器

打造RecyclerView的通用适配器 SDK的5.0版本出来已经N久了,可以说是已经经过许多人的检验了,里面的新控件不能说是非常完美,但也是非常好用了,其中最让我喜爱的就是RecyclerView了,可以完美替代ListView和GridView(除了添加headerview和footview了,网上有许多解决方式。这个下面会以一种简单的方式顺带解决,肯定为大家省心),而且可以代码动态切换

2016-02-29 10:29:02 3851

原创 android仿新版UC首页,上滑隐藏顶部轮播图,支持单个栏目下拉刷新,左右滑动切换

本博客由gengqiquan原创,转载请注明出处http://blog.csdn.net/gengqiquan/article/details/50542334尊重他人的技术劳动成果,谢谢 UI妹子是个喜欢看各种软件的妹子,这不,最近看上了UC的首页,于是把我们的应用也改成了这样的风格,本着不重复造轮子的原则,网上百度了一大堆,全特么没有用。好吧,不重复造轮子不代表自己不去制造轮子,现在我们来

2016-01-19 14:31:25 15499 13

上滑隐藏下滑显示控件

android仿新版UC首页,上滑隐藏顶部轮播图,支持单个栏目下拉刷新,左右滑动切换

2017-07-06

万能adapter基于Java8的封装.zip

万能adapter基于Java8的封装.zip

2016-08-26

空空如也

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

TA关注的人

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