<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[han_han_1的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/han_han_1</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; han_han_1]]></copyright><item><title><![CDATA[【备忘】最通俗易懂的关于RecyclerView原理的介绍]]></title><link>https://blog.youkuaiyun.com/han_han_1/article/details/104487785</link><guid>https://blog.youkuaiyun.com/han_han_1/article/details/104487785</guid><author>han_han_1</author><pubDate>Mon, 24 Feb 2020 22:55:54 +0800</pubDate><description><![CDATA[图解 RecyclerView 的缓存机制
]]></description><category></category></item><item><title><![CDATA[Java Programming Tutorial Java Native Interface (JNI)]]></title><link>https://blog.youkuaiyun.com/han_han_1/article/details/104081217</link><guid>https://blog.youkuaiyun.com/han_han_1/article/details/104081217</guid><author>han_han_1</author><pubDate>Fri, 24 Jan 2020 17:45:04 +0800</pubDate><description><![CDATA[https://www3.ntu.edu.sg/home/ehchua/programming/java/JavaNativeInterface.html

Java Programming Tutorial

Java Native Interface (JNI)

1.Introduction

At times, it is necessary to use native (non-Ja...]]></description><category></category></item><item><title><![CDATA[【备忘】MAC环境编译ffmpeg4.2.2]]></title><link>https://blog.youkuaiyun.com/han_han_1/article/details/103990649</link><guid>https://blog.youkuaiyun.com/han_han_1/article/details/103990649</guid><author>han_han_1</author><pubDate>Wed, 15 Jan 2020 15:46:33 +0800</pubDate><description><![CDATA[1、创建一个文件比如build_for_andorid.sh, 复制粘贴下面的内容


#!/bin/bash
#这里修改的是最低支持的android sdk版本（r20版本ndk中armv8a、x86_64最低支持21，armv7a、x86最低支持16）
API=29
# NDK的路径，根据自己的安装位置进行设置
export NDK=/Users/XXX/Library/Android/sd...]]></description><category></category></item><item><title><![CDATA[一个综合使用 Kotlin协程（Coroutine）+ JetPacket（ViewModel、LiveData、 Paging、Navigation） 的实战练习项目]]></title><link>https://blog.youkuaiyun.com/han_han_1/article/details/103350215</link><guid>https://blog.youkuaiyun.com/han_han_1/article/details/103350215</guid><author>han_han_1</author><pubDate>Mon, 02 Dec 2019 15:53:47 +0800</pubDate><description><![CDATA[Kotlin协程（Coroutine） + JetPacket（ViewModel、LiveData、 Paging、Navigation）的实战练习，采用Google MVVM架构实现简单新闻客户端

项目地址：https://github.com/averyzhong/NewsPlus

感谢免费的网络新闻api接口：http://showdoc.dagoogle.cn/index.php/6...]]></description><category></category></item><item><title><![CDATA[TCP 为什么三次握手而不是两次握手（正解版）]]></title><link>https://blog.youkuaiyun.com/han_han_1/article/details/100893696</link><guid>https://blog.youkuaiyun.com/han_han_1/article/details/100893696</guid><author>han_han_1</author><pubDate>Mon, 16 Sep 2019 16:58:59 +0800</pubDate><description><![CDATA[参考文章

Why do we need a 3-way handshake? Why not just 2-way

大部分网络博客的错误解读

首先需要声明的是， 百度搜索到的大部分网络博客关于这个问题的解答都是不清晰或者不准确的。 讨论这个问题的大部分博客都会引用《计算机网络》的内容：

防止已失效的连接请求又传送到服务器端，因而产生错误
不幸的是， 这种解释是不准确的， TCP 采用三次握...]]></description><category></category></item><item><title><![CDATA[AspectJ-gradle-plugin-for-android:轻松让Android项目快速具备面向切面编程（Aspect Oriented Programming）的能力]]></title><link>https://blog.youkuaiyun.com/han_han_1/article/details/98589819</link><guid>https://blog.youkuaiyun.com/han_han_1/article/details/98589819</guid><author>han_han_1</author><pubDate>Tue, 06 Aug 2019 10:08:00 +0800</pubDate><description><![CDATA[想在Android中使用AspectJ进行面向切面的编程，集成步骤还是比较繁琐的。那能不能有个方便、简单、快捷方式呢？答案是可定的。

AspectJ-gradle-plugin-for-android是一个Gradle插件，它可以快速将AspectJ集成到Android应用程序中。只要你使用这个插件，你的项目将立即具备AOP（面向方面编程）的能力。

项目地址：https://github.co...]]></description><category></category></item><item><title><![CDATA[基于Hadoop HDFS文件系统的SFTP服务（hdfs-over-sftp）]]></title><link>https://blog.youkuaiyun.com/han_han_1/article/details/88804605</link><guid>https://blog.youkuaiyun.com/han_han_1/article/details/88804605</guid><author>han_han_1</author><pubDate>Mon, 25 Mar 2019 20:02:24 +0800</pubDate><description><![CDATA[hdfs-over-sftp

hdfs-over-sftp是一个基于Hadoop HDFS文件系统的SFTP服务，可通过SFTP访问和操作HDFS文件系统的目录和文件，该项目构建于Apache sshd项目之上。

项目地址：https://github.com/averyzhong/hdfs-over-sftp
...]]></description><category></category></item><item><title><![CDATA[MAC Spark no snappyjava in java.library.path]]></title><link>https://blog.youkuaiyun.com/han_han_1/article/details/87868497</link><guid>https://blog.youkuaiyun.com/han_han_1/article/details/87868497</guid><author>han_han_1</author><pubDate>Thu, 21 Feb 2019 21:04:54 +0800</pubDate><description><![CDATA[软件版本：

Mac：10.12.1，Spark：1.6.0-cdh5.7.3，JDK：1.7.0_79 ; IDEA：14；

问题描述：
在Mac上运行Spark程序时（采用local 生成SparkContext的方式，具体参考：https://github.com/fansy1990/Spark_MLlib_Algorithm_1.6.0/blob/master/src/test/scal...]]></description><category></category></item><item><title><![CDATA[Android外挂多字幕开源库（Subtitle for Android）]]></title><link>https://blog.youkuaiyun.com/han_han_1/article/details/86747472</link><guid>https://blog.youkuaiyun.com/han_han_1/article/details/86747472</guid><author>han_han_1</author><pubDate>Sat, 02 Feb 2019 09:43:17 +0800</pubDate><description><![CDATA[Subtitle For Android 是一个Android平台视频播放多字幕支持库，几乎支持所有的Android版本，可以在需要外挂字幕中的项目集成。支持的字幕格式有：.SRT、.SCC、.ASS、.STL、.TTML格式的字幕文件。集成方式简单，可几行代码就可以使你的播放器支持外挂做字幕的支持。

项目地址：https://github.com/averyzhong/SubtitleForA...]]></description><category></category></item><item><title><![CDATA[面向切面编程在android中的应用（Aspect Oriented Programming in android）]]></title><link>https://blog.youkuaiyun.com/han_han_1/article/details/79612687</link><guid>https://blog.youkuaiyun.com/han_han_1/article/details/79612687</guid><author>han_han_1</author><pubDate>Mon, 19 Mar 2018 15:46:28 +0800</pubDate><description><![CDATA[面向切面编程在android中的应用Aspect Oriented Programming in android projectAspect Oriented Programming in android project背景什么是AOP？（来自网络，一搜一大把）AOP中的一些概念 （来自网络，一搜一大把）什么是AspectJ？如何在Android中使用AspectJ？项目根目录下的build.gr...]]></description><category></category></item><item><title><![CDATA[Android根据上下文对象Context找到对应的Activity]]></title><link>https://blog.youkuaiyun.com/han_han_1/article/details/79612453</link><guid>https://blog.youkuaiyun.com/han_han_1/article/details/79612453</guid><author>han_han_1</author><pubDate>Mon, 19 Mar 2018 15:37:36 +0800</pubDate><description><![CDATA[Android根据上下文对象Context找到对应的Activity：    @Nullable
    public static Activity findActivity(Context context) {
        if (context instanceof Activity) {
            return (Activity) context;
        }
...]]></description><category></category></item><item><title><![CDATA[Android代码中运行shell命令]]></title><link>https://blog.youkuaiyun.com/han_han_1/article/details/79556733</link><guid>https://blog.youkuaiyun.com/han_han_1/article/details/79556733</guid><author>han_han_1</author><pubDate>Wed, 14 Mar 2018 16:38:33 +0800</pubDate><description><![CDATA[/**
 * Android shell 命令执行器，支持无限个命令串型执行（需要有root权限！！）
 * &amp;lt;p&amp;gt;
 * &amp;lt;p&amp;gt;
 * HOW TO USE?
 * Example:修改开机启动动画。把/sdcard/Download目录下的bootanimation.zip文件拷贝到
 * /system/media目录下并修改bootanimation.zip的权限为...]]></description><category></category></item><item><title><![CDATA[关于JavaScript 的 async/await]]></title><link>https://blog.youkuaiyun.com/han_han_1/article/details/77648337</link><guid>https://blog.youkuaiyun.com/han_han_1/article/details/77648337</guid><author>han_han_1</author><pubDate>Mon, 28 Aug 2017 14:25:16 +0800</pubDate><description><![CDATA[原文：http://blog.youkuaiyun.com/hj7jay/article/details/61191416

版权声明：本文为博主原创文章，未经博主允许不得转载。




目录(?)[+]




随着 Node 7 的发布，越来越多的人开始研究据说是异步编程终级解决方案的 async/await。我第一次看到这组关键字并不是在 JavaScript 语言里，而是在
]]></description><category></category></item><item><title><![CDATA[Android业务组件化之现状分析与探讨]]></title><link>https://blog.youkuaiyun.com/han_han_1/article/details/54176547</link><guid>https://blog.youkuaiyun.com/han_han_1/article/details/54176547</guid><author>han_han_1</author><pubDate>Sat, 07 Jan 2017 17:38:40 +0800</pubDate><description><![CDATA[从个人经历来说的话，从事APP开发这么多年来，所接触的APP的体积变得越来越大，业务的也变得越来越复杂，总来来说只有一句话：这是一个APP臃肿的时代！所以为了告别APP臃肿的时代，让我们进入一个U盘时代，每个业务模块都是一个具备独立运行的U盘，插在哪里都可以完美运行，这就是推进业务组件化的初衷也是一个美好的愿景。]]></description><category></category></item><item><title><![CDATA[Android 打造形形色色的进度条 实现可以如此简单]]></title><link>https://blog.youkuaiyun.com/han_han_1/article/details/53183781</link><guid>https://blog.youkuaiyun.com/han_han_1/article/details/53183781</guid><author>han_han_1</author><pubDate>Wed, 16 Nov 2016 10:18:48 +0800</pubDate><description><![CDATA[转载请标明出处：http://blog.youkuaiyun.com/lmj623565791/article/details/43371299 ，本文出自：【张鸿洋的博客】

1、概述

最近需要用进度条，秉着不重复造轮子的原则，上github上搜索了一番，看了几个觉得比较好看的ProgressBar，比如：daimajia的等。简单看了下代码，基本都是继承自View，彻彻底底的自定义了一个进度条。]]></description><category></category></item><item><title><![CDATA[【备忘】Android音乐播放服务]]></title><link>https://blog.youkuaiyun.com/han_han_1/article/details/52861337</link><guid>https://blog.youkuaiyun.com/han_han_1/article/details/52861337</guid><author>han_han_1</author><pubDate>Wed, 19 Oct 2016 17:12:53 +0800</pubDate><description><![CDATA[public class MusicService extends Service
		implements OnPreparedListener, OnSeekCompleteListener, OnCompletionListener,
		OnErrorListener, OnBufferingUpdateListener {

	private static final String TA]]></description><category></category></item><item><title><![CDATA[在 Win7/Win8下使用 VirtualBOX虚拟机安装 OS X 10.11 El Capitan 及 Xcode 7.0]]></title><link>https://blog.youkuaiyun.com/han_han_1/article/details/52555008</link><guid>https://blog.youkuaiyun.com/han_han_1/article/details/52555008</guid><author>han_han_1</author><pubDate>Fri, 16 Sep 2016 12:54:21 +0800</pubDate><description><![CDATA[在 Win 7或8 下使用 VirtualBOX 虚拟机安装 OS X 10.11 El Capitan 及 Xcode 7.0

来源：http://bbs.feng.com/read-htm-tid-9908410.html   ( OS X and Xcode 7.0 请参考本链接)
http://www.wikigain.com/install-mac-os-x-el-capitan]]></description><category></category></item><item><title><![CDATA[ReactiveX/RxJava文档中文版]]></title><link>https://blog.youkuaiyun.com/han_han_1/article/details/52232144</link><guid>https://blog.youkuaiyun.com/han_han_1/article/details/52232144</guid><author>han_han_1</author><pubDate>Wed, 17 Aug 2016 16:31:30 +0800</pubDate><description><![CDATA[ReactiveX/RxJava文档中文版


项目地址：https://github.com/mcxiaoke/RxDocs，欢迎Star和帮忙改进。
有任何意见或建议，到这里提出 Create New Issue
阅读地址

ReactiveX文档中文翻译PDF/ePub/Mobi格式下载
说明

大部分是翻译自 ReactiveX.io 和 RxJava Wiki，修正了]]></description><category></category></item><item><title><![CDATA[可以添加头部和尾部View并且支持setOnItemClickListener和滑到底部自动加载更多的RecyclerView]]></title><link>https://blog.youkuaiyun.com/han_han_1/article/details/51802459</link><guid>https://blog.youkuaiyun.com/han_han_1/article/details/51802459</guid><author>han_han_1</author><pubDate>Fri, 01 Jul 2016 16:26:42 +0800</pubDate><description><![CDATA[以下是对RecyclerView的功能扩展，使其具备通ListView一样的功能，能添加头部和尾部View并且支持setOnItemClickListener和滑到底部自动加载更多的RecylerView


代码如下
/**
 * 支持添加头部View 、尾部View 、
 * 设置item单击和长按事件和上拉加载
 * 更多的RecyclerView
 *
 */
public cla]]></description><category></category></item><item><title><![CDATA[支持setOnItemClickListener的RecyclerView]]></title><link>https://blog.youkuaiyun.com/han_han_1/article/details/51732872</link><guid>https://blog.youkuaiyun.com/han_han_1/article/details/51732872</guid><author>han_han_1</author><pubDate>Wed, 22 Jun 2016 11:21:27 +0800</pubDate><description><![CDATA[RecyclerView没有提供像ListView一样的setOnItemClickListener，那么想要让RecyclerView也提供一个setOnItemClickListener方法，那我们就只有自己来实现]]></description><category></category></item></channel></rss>