<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[billy的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/cdecde111</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; cdecde111]]></copyright><item><title><![CDATA[你怎么知道AI有没有准确理解你的提示词？]]></title><link>https://blog.youkuaiyun.com/cdecde111/article/details/162275376</link><guid>https://blog.youkuaiyun.com/cdecde111/article/details/162275376</guid><author>cdecde111</author><pubDate>Wed, 24 Jun 2026 16:09:24 +0800</pubDate><description><![CDATA[用 AI 写代码，发送完提示词之后只能干等结果？你想不想提前知道大模型怎么拆解你的需求，它脑补了什么前提，有没有曲解你的意思，接下来它会怎么做？]]></description><category></category></item><item><title><![CDATA[Flutter嵌套深？扩展函数了解一下]]></title><link>https://blog.youkuaiyun.com/cdecde111/article/details/103776750</link><guid>https://blog.youkuaiyun.com/cdecde111/article/details/103776750</guid><author>cdecde111</author><pubDate>Tue, 31 Dec 2019 08:34:44 +0800</pubDate><description><![CDATA[背景
嵌套层级深的问题让众多刚接触Flutter的同学感到困扰，它不仅是看起来让人感到不适，还非常影响编码体验。
大佬们会告诉你应该拆分自己的嵌套代码(自定义widget或者抽取build方法）来减少嵌套层级。这确实是个行之有效的方法，除此之外，还有没有别的方法呢，本文将向您介绍另一种减少嵌套层级的方法。
嵌套过深影响代码的视觉观感
这段代码演示了什么叫做：嵌套地狱
class Test exte...]]></description><category></category></item><item><title><![CDATA[Android侧滑原来可以这么优雅]]></title><link>https://blog.youkuaiyun.com/cdecde111/article/details/97817061</link><guid>https://blog.youkuaiyun.com/cdecde111/article/details/97817061</guid><author>cdecde111</author><pubDate>Tue, 30 Jul 2019 21:05:10 +0800</pubDate><description><![CDATA[前言
侧滑手势在Android App应用得非常广泛，常见的使用场景包括：滑动抽屉、侧滑删除、侧滑返回、下拉刷新以及侧滑封面等。由于这些使用场景实在是太通用了，各路大神们八仙过海各显神通，每种侧滑场景都开源出了很多非常实用的框架，让我们的业务开发便利了很多。
目前，我们需要为每种场景引入不同的侧滑框架，由于App中的侧滑场景很多，我们项目中也就需要引入多个侧滑框架，而每个框架的使用方式各有不同，需...]]></description><category></category></item><item><title><![CDATA[你见过微信侧滑返回的联动效果，但开门效果、百叶窗效果见过吗？]]></title><link>https://blog.youkuaiyun.com/cdecde111/article/details/96324090</link><guid>https://blog.youkuaiyun.com/cdecde111/article/details/96324090</guid><author>cdecde111</author><pubDate>Wed, 17 Jul 2019 16:38:36 +0800</pubDate><description><![CDATA[SmartSwipe是一个Android侧滑处理框架，它封装了对控件侧滑事件（上/下/左/右4个方向滑动的手势事件）的捕获、分发及多点交替滑动的处理，基于SmartSwipe我们可以为控件添加各种你想要的侧滑效果。
先来看看它能做些什么吧！
如果已经了解SmartSwipe的功能，只是想了解他的实现原理
可跳过第一节，直接看第二节的原理介绍

一、 用法及演示
1.1 一行代码实现全局侧滑返回
/...]]></description><category></category></item><item><title><![CDATA[我们经常用的Loading动画居然还有这种姿势]]></title><link>https://blog.youkuaiyun.com/cdecde111/article/details/88771196</link><guid>https://blog.youkuaiyun.com/cdecde111/article/details/88771196</guid><author>cdecde111</author><pubDate>Sat, 23 Mar 2019 23:45:18 +0800</pubDate><description><![CDATA[背景
Loading动画几乎每个Android App中都有。
一般在需要用户等待的场景，显示一个Loading动画可以让用户知道App正在加载数据，而不是程序卡死，从而给用户较好的使用体验。
同样的道理，当加载的数据为空时显示一个数据为空的视图、在数据加载失败时显示加载失败对应的UI并支持点击重试会比白屏的用户体验更好一些。
加载中、加载失败、空数据的UI风格，一般来说在App内的所有页面中需要...]]></description><category></category></item><item><title><![CDATA[业内首个支持渐进式组件化的开源框架]]></title><link>https://blog.youkuaiyun.com/cdecde111/article/details/80720074</link><guid>https://blog.youkuaiyun.com/cdecde111/article/details/80720074</guid><author>cdecde111</author><pubDate>Sun, 17 Jun 2018 18:16:02 +0800</pubDate><description><![CDATA[



前言

项目大了，编译慢了，开发效率低了，怎么办？ 
也许你已经知道了组件化，但项目迭代任务紧张，根本没有时间进行整体解耦，更害怕一下子改动太大导致的风险不可控，不敢大改，怎么办？

先别急着放弃，渐进式组件化了解一下



背景故事

在实行组件化改造之前，我们对业内的一些技术文章及开源库进行调研之后，发现基本上千篇一律地都是基于路由这种方案作为通信引擎来实现组件化，重要的是组件化之前得...]]></description><category></category></item><item><title><![CDATA[谁阻碍了你做组件化开发？]]></title><link>https://blog.youkuaiyun.com/cdecde111/article/details/79549027</link><guid>https://blog.youkuaiyun.com/cdecde111/article/details/79549027</guid><author>cdecde111</author><pubDate>Wed, 14 Mar 2018 01:11:53 +0800</pubDate><description><![CDATA[之前写了一篇关于总结一波安卓组件化开源方案的文章，反响还不错，很高兴能够对大家整体了解android组件化技术有所帮助。有些开发者在了解组件化开发的好处及相关开源框架后，一直难以下决心真正开始实施，停留在了解阶段或仅仅写个demo体验一把的阶段，本文将介绍一下如何用CC 框架来破解android组件化不易上手的难题]]></description><category></category></item><item><title><![CDATA[总结一波安卓组件化开源方案]]></title><link>https://blog.youkuaiyun.com/cdecde111/article/details/79322846</link><guid>https://blog.youkuaiyun.com/cdecde111/article/details/79322846</guid><author>cdecde111</author><pubDate>Tue, 13 Feb 2018 18:58:09 +0800</pubDate><description><![CDATA[摘要

为了让大家能快速对android组件化有个整体的认识，本文将从多个维度对目前网上一些有代表性的开源组件化开发方案进行对比，从而更好的区分各组件化方案的特点，快速选择适合自己使用的方案深入学习并使用，在面试中被问到时也能做到心中有数。



前言



android平台上组件化开发的概念近两年非常火热，面试中被问到的频率也很高。

目前网上关于组件化开发方案的文章、开源库比较多，让很多初学...]]></description><category></category></item><item><title><![CDATA[CC框架实践(3): 让jsBridge更优雅]]></title><link>https://blog.youkuaiyun.com/cdecde111/article/details/78949402</link><guid>https://blog.youkuaiyun.com/cdecde111/article/details/78949402</guid><author>cdecde111</author><pubDate>Tue, 02 Jan 2018 10:18:51 +0800</pubDate><description><![CDATA[在CC框架下实现更加优雅的jsBridge。jsBridge是作为js和java之间通信的桥梁，本身它的职责只是完成通信，有必要让它回归初心，只做通信桥梁而不与具体业务耦合。]]></description><category></category></item><item><title><![CDATA[CC框架实践(2)：Fragment和View的组件化]]></title><link>https://blog.youkuaiyun.com/cdecde111/article/details/78949350</link><guid>https://blog.youkuaiyun.com/cdecde111/article/details/78949350</guid><author>cdecde111</author><pubDate>Tue, 02 Jan 2018 10:15:13 +0800</pubDate><description><![CDATA[本文将介绍如何在CC框架下实现Fragment和View的组件化]]></description><category></category></item><item><title><![CDATA[CC框架实践：实现先登录再进入目标界面的功能]]></title><link>https://blog.youkuaiyun.com/cdecde111/article/details/78807147</link><guid>https://blog.youkuaiyun.com/cdecde111/article/details/78807147</guid><author>cdecde111</author><pubDate>Thu, 14 Dec 2017 21:04:37 +0800</pubDate><description><![CDATA[使用CC组件化框架实现登录状态验证，以AOP的方式实现在打开页面之前先验证用户是否登录：若已登录就执行页面跳转；若未登录则打开登录页面，登录成功后才跳转到目标页面。]]></description><category></category></item><item><title><![CDATA[教你打造一个Android组件化开发框架]]></title><link>https://blog.youkuaiyun.com/cdecde111/article/details/78705386</link><guid>https://blog.youkuaiyun.com/cdecde111/article/details/78705386</guid><author>cdecde111</author><pubDate>Sun, 03 Dec 2017 23:21:51 +0800</pubDate><description><![CDATA[无需注解，支持任意功能调用&amp;回调的android组件化开发框架。兼容同步&amp;异步调用及同步&amp;异步实现，并做到调用方式和实现方式解耦。]]></description><category></category></item><item><title><![CDATA[android发布maven报错:Could not write to file '*****/build/poms/pom-default.xml']]></title><link>https://blog.youkuaiyun.com/cdecde111/article/details/78116488</link><guid>https://blog.youkuaiyun.com/cdecde111/article/details/78116488</guid><author>cdecde111</author><pubDate>Wed, 27 Sep 2017 19:52:39 +0800</pubDate><description><![CDATA[Could not write to file '/Users/billy/Documents/.../build/poms/pom-default.xml'.]]></description><category></category></item><item><title><![CDATA[一种更高效的组件自动注册方案(android组件化开发)]]></title><link>https://blog.youkuaiyun.com/cdecde111/article/details/78074692</link><guid>https://blog.youkuaiyun.com/cdecde111/article/details/78074692</guid><author>cdecde111</author><pubDate>Sun, 24 Sep 2017 01:18:26 +0800</pubDate><description><![CDATA[在编译时，扫描即将打包到apk中的所有类，将所有组件类收集起来，通过修改字节码的方式生成注册代码到组件管理类中，从而实现编译时自动注册的功能，不用再关心项目中有哪些组件类了。
	特点：不需要注解，不会增加新的类；性能高，不需要反射，运行时直接调用组件的构造方法；能扫描到所有类，不会出现遗漏；支持分级按需加载功能的实现；]]></description><category></category></item><item><title><![CDATA[零代码侵入给app添加应用外debug工具]]></title><link>https://blog.youkuaiyun.com/cdecde111/article/details/72845803</link><guid>https://blog.youkuaiyun.com/cdecde111/article/details/72845803</guid><author>cdecde111</author><pubDate>Fri, 02 Jun 2017 16:47:53 +0800</pubDate><description><![CDATA[写在前面程序员在日常开发工作过程中，经常需要临时配合服务端查网络请求报文以排查问题。 
一般在这种情况下，我们会将手机连接到开发电脑上打开发包运行来查看logcat。 
这种方式费时费力，而且一旦身边没有电脑或电脑上没有对应的开发环境，此工作将无法进行。 
另外，开发人员的手机上一般安装的都是测试环境app，要排查生产环境的问题也要重新打包。之前的做法为了解决这个问题，之前曾将此类debug相关逻辑]]></description><category></category></item><item><title><![CDATA[java基础数据类型自动装箱的缓存]]></title><link>https://blog.youkuaiyun.com/cdecde111/article/details/60583372</link><guid>https://blog.youkuaiyun.com/cdecde111/article/details/60583372</guid><author>cdecde111</author><pubDate>Mon, 06 Mar 2017 17:14:21 +0800</pubDate><description><![CDATA[在使用基础数据类型时，我们需要注意自动装箱及自动拆箱的影响。特别是在使用==来进行判断的时候要注意自动装箱的缓存]]></description><category></category></item><item><title><![CDATA[字符编码（ASCII/GBK/UTF-8等）总结]]></title><link>https://blog.youkuaiyun.com/cdecde111/article/details/60144778</link><guid>https://blog.youkuaiyun.com/cdecde111/article/details/60144778</guid><author>cdecde111</author><pubDate>Fri, 03 Mar 2017 18:45:47 +0800</pubDate><description><![CDATA[总结分析了ASCII、GB2312、GBK、GB18030、UTF-8、BIG-5等字符编码的相关原理及包含的字符集。通过了解这些内容，我们可以来解决程序的乱码问题和优化文件存储及网络传输流量优化]]></description><category></category></item><item><title><![CDATA[android多渠道打包方案总结及APK signature scheme v2兼容]]></title><link>https://blog.youkuaiyun.com/cdecde111/article/details/55506311</link><guid>https://blog.youkuaiyun.com/cdecde111/article/details/55506311</guid><author>cdecde111</author><pubDate>Fri, 17 Feb 2017 11:37:37 +0800</pubDate><description><![CDATA[android多渠道打包方案总结及APK signature scheme v2兼容]]></description><category></category></item><item><title><![CDATA[android 使用RxJava实现预加载]]></title><link>https://blog.youkuaiyun.com/cdecde111/article/details/54670543</link><guid>https://blog.youkuaiyun.com/cdecde111/article/details/54670543</guid><author>cdecde111</author><pubDate>Sun, 22 Jan 2017 20:11:45 +0800</pubDate><description><![CDATA[在上一篇文章中介绍了使用非RxJava环境下，使用Handler机制SyncBarrier的特性实现预加载功能的方法。在RxJava的环境下使用BehaviorSubject的特性来实现也是很方便的。BehaviorSubject内部会缓存消息流中最近的一个消息, 在后续有Subscriber订阅时，会直接将缓存的消息发送给Subscriber。]]></description><category></category></item><item><title><![CDATA[android 利用Handler机制中SyncBarrier的特性实现预加载]]></title><link>https://blog.youkuaiyun.com/cdecde111/article/details/54670136</link><guid>https://blog.youkuaiyun.com/cdecde111/article/details/54670136</guid><author>cdecde111</author><pubDate>Sun, 22 Jan 2017 18:20:02 +0800</pubDate><description><![CDATA[Activity打开之前就预加载数据，在Activity的UI布局初始化完成后显示预加载的数据，大大缩短启动时间。]]></description><category></category></item></channel></rss>