<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[uis]]></title><description><![CDATA[android开发]]></description><link>https://blog.youkuaiyun.com/guy_guy</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; guy_guy]]></copyright><item><title><![CDATA[Android Handler机制核心浅析]]></title><link>https://blog.youkuaiyun.com/guy_guy/article/details/115358698</link><guid>https://blog.youkuaiyun.com/guy_guy/article/details/115358698</guid><author>guy_guy</author><pubDate>Wed, 31 Mar 2021 20:11:50 +0800</pubDate><description><![CDATA[1.简要概述

Handler负责发送Message到MessageQueue,Looper负责从MessageQueue取消息，最后消费者在Handler.handleMessage(Message msg)函数消费。

2.屏障消息

Handler提供了静态方法构造一个异步消息 public static Handler createAsync(@NonNull Looper looper)，看MessageQueue中next()中如何处理


                Message pre]]></description><category></category></item><item><title><![CDATA[Android单元测试之排序算法(冒泡 选择 插入 合并 快速 堆 Shell)]]></title><link>https://blog.youkuaiyun.com/guy_guy/article/details/115308228</link><guid>https://blog.youkuaiyun.com/guy_guy/article/details/115308228</guid><author>guy_guy</author><pubDate>Mon, 29 Mar 2021 18:52:24 +0800</pubDate><description><![CDATA[基于算法导论 实现


public class ExampleUnitTest {
    @Test
    public void addition_isCorrect() throws Exception {
        assertEquals(4, 2 + 2);
    }

    @Test
    public void sort() throws Exception {
        bubbleSort();
        selectSort();
        inse]]></description><category></category></item><item><title><![CDATA[Android注解组件化方案]]></title><link>https://blog.youkuaiyun.com/guy_guy/article/details/103961639</link><guid>https://blog.youkuaiyun.com/guy_guy/article/details/103961639</guid><author>guy_guy</author><pubDate>Mon, 13 Jan 2020 17:46:54 +0800</pubDate><description><![CDATA[注解组件化方案：https://github.com/luiing/Assignor

目前市面上的组件化方案原理：scheme，代码注入Aop，代码生成等；

本方案利用注解处理器生成代码，优点是简单便捷，集成方便；

原理：注解Test.class为abc，在注解处理器运行时生成一个java源文件abcGenerate.java，里面包含了被注解类的无参对象Object abc=new Tes...]]></description><category></category></item><item><title><![CDATA[Android兼容性问题汇总]]></title><link>https://blog.youkuaiyun.com/guy_guy/article/details/103507918</link><guid>https://blog.youkuaiyun.com/guy_guy/article/details/103507918</guid><author>guy_guy</author><pubDate>Thu, 12 Dec 2019 14:10:16 +0800</pubDate><description><![CDATA[Android兼容性问题汇总

1.RecyclerView viewholder有EditText点击输入法有下一时引发crash问题
给EditTest设置一个点击事件即刻，如果多个EditTest连续排列，给最后一个设置即可

2.androidO安装应用权限处理


&lt;uses-permission android:name="android.permission.REQUEST_I...]]></description><category></category></item><item><title><![CDATA[RecyclerView吸顶终极方案Adsorbent]]></title><link>https://blog.youkuaiyun.com/guy_guy/article/details/91045826</link><guid>https://blog.youkuaiyun.com/guy_guy/article/details/91045826</guid><author>guy_guy</author><pubDate>Thu, 06 Jun 2019 16:23:30 +0800</pubDate><description><![CDATA[吸顶终极方案github地址:Adsorbent


1. Single RecyclerView：简单模式
【利用RecyclerView.OnScrollListener监听滑动位置，吸顶View被 ViewHolder和Activity复用】

2. Double RecyclerView：RecyclerView嵌套RecyclerView
【事件分发，吸顶View是个单独ViewHol...]]></description><category></category></item><item><title><![CDATA[Android4.4以下SSL handshake aborted: ssl=0x7a806cd0: I/O error during system call, Connection reset by]]></title><link>https://blog.youkuaiyun.com/guy_guy/article/details/84636789</link><guid>https://blog.youkuaiyun.com/guy_guy/article/details/84636789</guid><author>guy_guy</author><pubDate>Thu, 29 Nov 2018 17:32:53 +0800</pubDate><description><![CDATA[https://stackoverflow.com/questions/30538640/javax-net-ssl-sslexception-read-error-ssl-0x9524b800-i-o-error-during-system

android javax.net.ssl.SSLException: SSL handshake aborted: ssl=0x7a806cd0: I/...]]></description><category></category></item><item><title><![CDATA[RecyclerView.Adapter异步数据自动排序优化之GroupAdapter]]></title><link>https://blog.youkuaiyun.com/guy_guy/article/details/84575773</link><guid>https://blog.youkuaiyun.com/guy_guy/article/details/84575773</guid><author>guy_guy</author><pubDate>Wed, 28 Nov 2018 01:33:13 +0800</pubDate><description><![CDATA[Github:  GroupAdapter

项目出发点：由于一个RecyclerView加载了多个接口数据，为了提高显示效率,遇到下列问题：

多个接口数据全部返回在显示并不可取，一个接口延时影响体验
	每个接口数据返回后全部重新排序，功能无法复用，逻辑处理臃肿
	在adapter内部处理，外部传入组号即可随时随地的刷新并排序数据（选定方案）
RecyclerView分组Adapter，数据异步...]]></description><category></category></item><item><title><![CDATA[侧滑弹性+加载更多ViewPager]]></title><link>https://blog.youkuaiyun.com/guy_guy/article/details/81140645</link><guid>https://blog.youkuaiyun.com/guy_guy/article/details/81140645</guid><author>guy_guy</author><pubDate>Sun, 22 Jul 2018 15:10:43 +0800</pubDate><description><![CDATA[StretchViewPager Github(Github上更新了另一种思路，处理边界和样式)

最近公司有一个ViewPager右边界拉拽进入下一个页面，看了下面这些文章android自定义ViewPager之——水平滑动弹性效果 代码太长，实现比较复杂，无法拓展拉拽刷新android viewpager 弹性效果的实现 和上一个问题一样Android自定义ViewPager:水平滑动弹性效果...]]></description><category></category></item><item><title><![CDATA[Android Gradle Plugin插件开发——进阶]]></title><link>https://blog.youkuaiyun.com/guy_guy/article/details/80914617</link><guid>https://blog.youkuaiyun.com/guy_guy/article/details/80914617</guid><author>guy_guy</author><pubDate>Wed, 04 Jul 2018 22:27:50 +0800</pubDate><description><![CDATA[1.]]></description><category></category></item><item><title><![CDATA[Android Gradle Plugin插件开发——基础]]></title><link>https://blog.youkuaiyun.com/guy_guy/article/details/80914600</link><guid>https://blog.youkuaiyun.com/guy_guy/article/details/80914600</guid><author>guy_guy</author><pubDate>Wed, 04 Jul 2018 17:16:07 +0800</pubDate><description><![CDATA[1.首先创建一个module]]></description><category></category></item><item><title><![CDATA[android开发遇到的问题]]></title><link>https://blog.youkuaiyun.com/guy_guy/article/details/49742147</link><guid>https://blog.youkuaiyun.com/guy_guy/article/details/49742147</guid><author>guy_guy</author><pubDate>Mon, 09 Nov 2015 18:15:03 +0800</pubDate><description><![CDATA[1.在4.4版本以上ui中，设置了
true
true
时候，布局会跑到状态栏，在layout布局中加上android:fitsSystemWindows=&quot;true&quot;，这样就不会了；


2.在使用httpclient的时候，传入的url中出现了空格参数，导致错误很难发现，在请求url时候，把空格进行转换
3.需要预览自定义布局，加上xmlns:app=&quot;http://schema]]></description><category></category></item><item><title><![CDATA[android判断当前应用在前台还是后台]]></title><link>https://blog.youkuaiyun.com/guy_guy/article/details/49742125</link><guid>https://blog.youkuaiyun.com/guy_guy/article/details/49742125</guid><author>guy_guy</author><pubDate>Mon, 09 Nov 2015 18:12:56 +0800</pubDate><description><![CDATA[//true forground
	private boolean isBackground(){		
		PowerManager powerManager = (PowerManager) getSystemService(POWER_SERVICE);
			if(!powerManager.isScreenOn()){
				LogUtil.print("power app is run]]></description><category></category></item><item><title><![CDATA[Java反射生成json和解析json]]></title><link>https://blog.youkuaiyun.com/guy_guy/article/details/45534767</link><guid>https://blog.youkuaiyun.com/guy_guy/article/details/45534767</guid><author>guy_guy</author><pubDate>Wed, 06 May 2015 13:29:41 +0800</pubDate><description><![CDATA[//使用例子，本文为原创，转载请说明出处
        reads是一个多重嵌套的对象，这里不贴代码出来了

        String jsonEncode=JsonUtil.jsonObject_encodeToString(reads);
        LogUtil.print(&quot;JsonEncode=&quot;+jsonEncode);
        reads=new Rea]]></description><category></category></item><item><title><![CDATA[cygwin出现sed未找到命令的时候解决办法]]></title><link>https://blog.youkuaiyun.com/guy_guy/article/details/44988009</link><guid>https://blog.youkuaiyun.com/guy_guy/article/details/44988009</guid><author>guy_guy</author><pubDate>Sat, 11 Apr 2015 01:07:58 +0800</pubDate><description><![CDATA[gcc g++ gnu gbd等等都配置好的时候，出现sed未找到.....
只能重启启动cygwin工具，在view full显示下，输入sed有2个skip，把这2个都选上（sed,sed-debuginfo）
安装好之后执行
cd $NDK/samples/hello-jni

$NDK/ndk-build
so文件就能成功编译出现了，再次分享一下]]></description><category></category></item><item><title><![CDATA[ListView中单击item弹出可输入dialog设置]]></title><link>https://blog.youkuaiyun.com/guy_guy/article/details/44602789</link><guid>https://blog.youkuaiyun.com/guy_guy/article/details/44602789</guid><author>guy_guy</author><pubDate>Tue, 24 Mar 2015 23:21:09 +0800</pubDate><description><![CDATA[android开发]]></description><category></category></item></channel></rss>