自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

chanzhu的博客

每一行代码,一个故事

  • 博客(236)
  • 资源 (4)
  • 收藏
  • 关注

原创 用RxJava实现事件总线(Event Bus)

事件总线可以使各组件之间的通信变得简单,深度解耦! 目前大多数开发者使用EventBus或者Otto作为事件总线通信库,对于RxJava使用者来说,RxJava也可以轻松实现事件总线,因为它们都依据于观察者模式。不多说,上代码/*** RxBus* Created by YoKeyword on 2015/6/17.*/public class RxBus { private st

2017-04-07 15:00:28 520

原创 [深入RxBus]:支持Sticky事件

在实际环境中,你会发现RxBus还是有一些问题的。你需要RxBus支持Sticky功能。你会发现在你订阅了某个事件后,在后续接收到该事件时,处理的过程中发生了异常,你可能会发现后续的事件都接收不到了!我将分2篇文章分别给出其方案,这篇介绍如何实现Sticky,另外一篇介绍RxBus中的异常处理方案:深入RxBus:[异常处理]什么是Sticky事件?在Android开发中,Sticky事件只指事件消

2017-04-07 14:55:20 1543

原创 [深入RxBus]:异常处理

在实际环境中,你会发现RxBus还是有一些问题的。你需要RxBus支持Sticky功能。 你会发现在你订阅了某个事件后,在后续接收到该事件时,处理的过程中发生了异常,你可能会发现后续的事件都接收不到了!异常处理在使用RxBus过程中,你会发现你订阅了某个事件后,在后续接收到该事件时,如果处理的过程中发生了异常,你会发现后续的事件再也接收不到了,除非你重新订阅!原因在于RxJava的事件序列机制,一个

2017-04-07 14:39:09 1363

原创 Retrofit2.0与RXJava2.0最新结合:

retrofit的基本配置跟之前的没有多少改变,可以看一下这篇文章: 需要的jar包: retrofit2.0的基本配置与缓存return new Retrofit.Builder() .addConverterFactory(GsonConverterFactory.create()) .addCallAdapterFactory(RxJava

2017-04-06 15:42:50 1997

原创 Hadoop

说web,来来去去apache ,nginx,tomcat,SSH,也不教你们实现一个http协议的server说数据库,扯半天全是er图,关系,也不告诉你们数据存储的原理,以至于一群人写sql就像念咒语一样。说语言,都快撕逼了,面向对象,面向切面,什么OOP,IOC,跨平台 跨语言。也没教你们实现一个简单的编译器。到了大数据,言必称hadoop,hbase,storm ,spark。

2017-03-28 14:47:11 513

原创 React Native应用部署/热更新-CodePush最新集成总结(新)

React Native的出现为移动开发领域带来了两大革命性的创新:整合了移动端APP的开发,不仅缩短了APP的开发时间,也提高了APP的开发效率。为移动APP动态更新提供了基础。本文将向大家分享React Natvie应用部署/动态更新方面的内容。React Native支持大家用React Native技术开发APP,并打包生成一个APP。在动态更新方面React Na

2017-03-21 17:15:27 1584

原创 我的RxJava源码解读笔记

我的RxJava源码解读笔记     RxJava是一个用于处理异步任务的库,本篇文章我将把我在学习RxJava源码时的分析思路记载下来,一方面用来加强记忆,另一方面可以供大家参考。首先梳理一下RxJav主要功能的工作流程,然后通过源码了解其工作原理,最后介绍一下RxJava的实战用法使用流程简述首先,RxJava这个东西相信大家一定不会陌生,我在学习过程中看到的这两篇文章:

2016-11-14 12:38:37 4743 3

转载 我的开源视音频项目汇总

本文汇总一下自己视音频编解码学习方面的开源项目。这些开源项目大体上可以分成专业领域程序,FFmpeg示例程序,FFmpeg移植程序,多媒体项目示例程序,视音频编解码原理学习工程几个类别。这些类别的详细含义如下所列。专业领域程序:一些有专业性质的程序。FFmpeg示例程序:FFmpeg的类库的各种示例程序。FFmpeg移植程序:FFmpeg项目中移植到Windows的VC平台下的程序。多媒体

2016-09-05 22:45:45 841

原创 Linux环境ffmpeg以及相应解码器安装

1. 首先安装系统编译环境yum install -y automake autoconf libtool gcc gcc-c++ #CentOS2. 编译所需源码包2.1 - yasm汇编器,新版本的ffmpeg增加了汇编代码wget http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gzt

2016-09-05 22:41:11 3741

原创 Android的多媒体框架OpenCore(PacketVideo)

分为几个阶段:     1、整个Android的多媒体框架OpenCore     2、Player和Author的详细介绍     2、OpenCore和Android其他部分的集成第一部分 OpenCore概述     OpenCore的另外一个常用的称呼是PacketVideo,它是Android的多媒体核心。在防站的过程中,PacketVideo是一家公司的名称

2016-09-05 21:54:43 1026

原创 Rxjava详解

这篇文章的目的有两个: 1. 给对 RxJava 感兴趣的人一些入门的指引 2. 给正在使用 RxJava 但仍然心存疑惑的人一些更深入的解析· RxJava 到底是什么· RxJava 好在哪· API 介绍和原理简析o 1. 概念:扩展的观察者模式o 观察者模式o RxJava 的观察者模式o 2. 基本实现o 1) 创建 Observero 2) 创建 O

2016-09-05 13:13:03 976

原创 RxJava处理网络连接失败和timer()、interval()、delay()之间的区别

前言才学RxJava的时候还是挺困惑的,感觉有特别多的对『时间』的操作符,比如timer()、interval()、delay()、defer()等等……总之功能太强大,直接吓跑了一群初学者。身边有朋友这样跟我说: RxJava为了省点代码,把逻辑弄这么复杂,看着都晕了,我宁愿多写点 if-else 我只能回复:用RxJava逻辑肯定是变简单了,一旦用上手了,再也离不开了。

2016-09-05 10:48:59 1353

原创 ijkplayer的实现流程

ijkplayer阅读学习笔记之从代码上看播放流程看了很久的ijkplayer的视频播放,其实还是没有怎么看懂,只是个人浅浅的笔记关键部分就是联网获取数据那部分,还没有搞定其实从用户点击一个已有地址的网络视频开始,从源码分析播放流程。1.        // init player  加载native底层库        Ij

2016-09-05 10:31:59 8800

原创 Retrofit2.0强力架构

Retrofit2.0+RxJava+RxAndroid——强强联合的网络请求框架最近看了很多关于Retrofit和Rxjava的文档介绍。终于在弄清Rxjava后顺利的弄懂了Retrofit。网上有很多人都介绍了它们的联合使用,但是我看过之后理解不是太好。可能我太笨。 不过,今天写这篇博客的目的就是想来说说它们之间如何使用以及使用的时候遇到的坑。这两者的关系并不大,但是联合在一起

2016-09-03 12:27:27 1216

原创 Solr7.4.0+IK Analyzer7.5.0

配置IK分词到github的ik官方下载ik分词器,并解压出来,加到/opt/modules/solr7/tomcat-solr/webapps/solr/WEB-INF/lib  在/opt/modules/solr7/tomcat-solr/webapps/solr/WEB-INF/目录下新建一个classes目录,加入官方所说的配置文件  修改/opt/mod...

2018-10-24 08:51:46 976

原创 CentOS下Solr7.4.0安装部署到Tomcat

操作系统:CentOS7.5 64位Solr版本:Solr7.4.0Tomcat版本:apache-tomcat-8.5.4JDK版本:java version "1.8.0_191"部署第一步:下载安装包下载Solr7.4.0:wget http://mirrors.hust.edu.cn/apache/lucene/solr/7.4.0/solr-7.4.0.tgz...

2018-10-23 15:10:45 498

原创 SpringMVC 逆向工程的创建 mybatis-generator:generate -e

首先创建maven项目: 配置IDEA相关依赖和插件:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" x...

2018-09-07 14:49:48 1278

原创 Mysql 8.0 1251 client does no support authentic的错误解决方式

报错弹框:mysqlclient命令:USE mysql; ALTER USER ‘root’@’localhost’ IDENTIFIED WITH mysql_native_password BY ‘mysql’; FLUSH PRIVILEGES;解决方式:1.查看用户信息select host,user,plugin,authentication_strin...

2018-09-06 09:50:39 6605

原创 android studio3.0之后,butterknife的重新定义依赖方式

从很多网站看到新的依赖方式,我都没有成功!各种各样的坑,在此我希望后面的人不要再入这样的坑,github上面的指导配置也是有问题的,现在我将我的配置方式分享个大家:第一步:直接获取butter knife插件:第二步:获取依赖:很简单的两步走,最后我们就可以直接使用了:...

2018-07-13 09:11:34 427

原创 Mysql问题only_full_group_by

select * from fruits GROUP BY s_id,f_name;

2018-07-04 15:23:05 288

原创 android studio 3.0 快速配置NDK开发

1.创建一个支持C/C++的Android项目2.配置环境:1>下载需要的ndk环境2>指定ndk位置3>输出的so文件类型环境配置完之后,我们紧接着要关键的步骤3.创建native方法,调用方法;4.根据native方法编辑h文件,一般来说h文件需要开发人员编写,但是我们可以根据studio偷偷懒:我们Build -> Make Project一下,我们会发现在/JniT...

2018-06-29 11:19:53 334

原创 SpringMVc绑定POJO失败的问题

在前端表单向后端控制器传参数的过程中,采用debug后发现pojo的属性值都是默认值,或null或0.0;在网上查了很多资料,呼声比较高的是po类没有get set方法,以及前端jsp页面包含 enctype="multipart/form-data" ,二进制传输会使pojo绑定为null,废话不多说看我的错误原因吧:看debug控制台通过HttpServletRequest获取的pojo确实是...

2018-04-20 16:11:57 1696

原创 Android多媒体--MediaCodec 中文API文档

Android多媒体--MediaCodec 中文API文档*由于工作需要,需要利用MediaCodec实现Playback及Transcode等功能,故在学习过程中翻译了Google官方的MediaCodec API文档,由于作者水平限制,文中难免有错误和不恰当之处,望批评指正。*转载请注明出处:http://www.cnblogs.com/roger-yu/从API 16开始,

2018-01-29 12:40:29 669

原创 popupwindow弹出的editTextView

public void getCommentView(final Activity context, View view, final CommentResult commentResult) { liveCommentResult = commentResult; if (commentView == null) { commentView

2017-07-13 18:59:44 419

原创 Android中的EditText默认时不弹出软键盘的方法

Android中的EditText默认时不弹出软键盘的方法方法一:  在 AndroidMainfest.xml中选择哪个activity,设置windowSoftInputMode属性为 adjustUnspecified|stateHidden1 <activity android:name=".Main"2 android:label="@s

2017-07-13 09:48:10 490

原创 设置TabLayout的indicator长度

public void setIndicator(TabLayout tabs, int leftDip, int rightDip) { Class tabLayout = tabs.getClass(); Field tabStrip = null; try { tabStrip = tabLayout.getDeclaredField("mTabStr

2017-07-05 14:02:42 2039

原创 fargment重叠问题解决

一、问题描述相信大家在使用Fragment的过程中,肯定碰到过Fragment重叠的问题,重启应用就好了。然而原因是什么呢?二、原因分析首先,Android管理Fragment有两种方式,使用add、hide、show的方式和replace方式,两种方式各有优缺点。replace方式 如果使用这种方式,是可以避免重叠的问题,但是每次replace会把生命

2017-06-27 15:17:50 667

原创 expandableListView嵌套GridView

在做项目的时候,想在 ExpandableListView 中嵌套一个 GridView,在实现的过程中,遇到了不少坑,所以写篇博客记录一下,也顺便帮助下和我一样的新手。我一直觉得,再多的文字,再多的代码片段,都不如写个小 Demo 更直观,所以在以后的博客中,我都尽量用小 Demo 来讲解,也给出源码。先上一张最终效果图:打开 Android Studio,我们新

2017-06-19 10:17:08 519

原创 Android Studio混淆模板

首先要在build.gradle中开启混淆,也就是minifyEnabled true,我用的build.gradle具体如下所示:def releaseTime() { return new Date().format("yyyy.MM.dd", TimeZone.getTimeZone("UTC"))}android { .... buildTypes {

2017-06-17 22:49:48 386

原创 ListView的divider设置

android中ListView默认的分割线是填充满整个listview的宽度的,然后设计师需要的偏偏就是不填充满的状态,找了相关资料,写了个demo验证下。 当然最简单的实现方式就是用图片了,但是图片就要涉及到分辨率,那用颜色填充会比较直接。在drawable中定义我需要的分割线main_list_divider_line.xmlXml代码  

2017-06-15 12:42:11 2996

原创 Android 多个事件分发和处理

说起Android滑动冲突,是个很常见的场景,比如SliddingMenu与ListView的嵌套,要解决滑动冲突,不得不提及到View的事件分发机制。一、Touch事件传递规则分析首先,我们要知道Touch事件是包装在MotionEvent对象中的,在手指与屏幕接触过程中产生一系列事件,典型的事件有以下三种:ACTION_DOWN:手指刚接触屏幕的瞬间ACTION_UP:手指

2017-06-14 11:20:33 520

原创 Android滑动事件冲突

首先,我们假设这样一个场景:一个ViewPager里面嵌套一个ViewPager,内部滑动方向和外部滑动方向一样时,该怎么解决这一冲突呢? 针对滑动冲突这里给出两种解决方案:外部拦截法,内部拦截法。外部拦截法情景:一个ViewPager嵌套了一个Listview,一个是左右滑动,一个上下滑动。这个时候我们可以用外部拦截法,来处理冲突。在父容器ViewPager中,重写onInt

2017-06-14 10:53:31 325

原创 popWindow的应用与分析

PopupWindow使用       PopupWindow这个类用来实现一个弹出框,可以使用任意布局的View作为其内容,这个弹出框是悬浮在当前activity之上的。 PopupWindow使用Demo  这个类的使用,不再过多解释,直接上代码吧。  比如弹出框的布局:弹出框布局   Activity的布局中只有一个按钮,按下后会弹

2017-06-13 19:29:54 297

原创 解决 Android N 7.0 上 报错:android.os.FileUriExposedException

解决 Android N 上 安装Apk时报错:android.os.FileUriExposedException: file:///storage/emulated/0/Download/appName-2.3.0.apk exposed beyond app through Intent.getData()解决方法1、在AndroidManifest.xml中添加如下代码

2017-06-07 14:28:14 1155 1

原创 Android 手动显示和隐藏软键盘

1、方法一(如果输入法在窗口上已经显示,则隐藏,反之则显示)[java] view plain copy print?InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);  imm.toggleSoftInput(

2017-06-03 18:50:12 16491 2

原创 AsyncHttp请求Post请求格式

这种是可以自定义post的参数的格式的,一般使用json,详情请见(http://stackoverflow.com/questions/26842090/asynchttpclient-passed-contenttype-will-be-ignored-because-httpentity-sets-cont)举例说明 AsyncHttpClient clie

2017-06-01 16:37:49 2223

原创 Android Retrofit2&OkHttp3添加统一的请求头Header

在使用Retrofit时,有时候需要设置Set-Cookie等请求头,如果每一个url都需要,那么直接来个拦截器就好了。官方说明:OkHttp3下OkHttpClient的 List interceptors()方法,返回的是一个不可编辑的列表,如果对其进行编辑会报出UnSupportedOperationExceptionInterceptor的典型使用场景,就是对reque

2017-06-01 11:01:42 5231

原创 Manifest merger failed with multiple errors, see logs 清单文件报错解决方案

Android eclipse跟studio合并的时候出现的bugError:Execution failed for task ':startactivity:processDebugManifest'.> Manifest merger failed with multiple errors, see logs

2017-05-28 14:21:54 1562

原创 Androidstudio正确导入so文件方式

方法一: 将libs文件夹下的so文件,通过gradle配置任务编译成jar文件。 Java代码  apply plugin: 'com.android.library'     android {      compileSdkVersion rootProject.ext.compileSdkVersion      buildToolsVers

2017-05-28 08:46:12 3045

原创 Android logo图标规范

应用程序图标 (Icon)应当是一个 Alpha 通道透明的32位 PNG 图片。由于安卓设备众多,一个应用程序图标需要设计几种不同大小,如:LDPI (Low Density Screen,120 DPI),其图标大小为 36 x 36 px。MDPI (Medium Density Screen, 160 DPI),其图标大小为 48 x 48 px。HDPI (High Dens

2017-05-27 08:40:35 4456

glide_transform

glide 的叠加类

2017-06-10

Hadoop权威指南

2017-03-28

混合开发框架

2017-03-15

JS函数式编程指南

函数式编程的大门,让函数式编程变得理所当然!

2017-03-15

空空如也

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

TA关注的人

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