<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[wildma的博客]]></title><description><![CDATA[放弃不难，但坚持一定很酷！]]></description><link>https://blog.csdn.net/Alpha58</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; Alpha58]]></copyright><item><title><![CDATA[Android 实现 Alexa App-to-App Account Linking]]></title><link>https://blog.csdn.net/Alpha58/article/details/126238979</link><guid>https://blog.csdn.net/Alpha58/article/details/126238979</guid><author>Alpha58</author><pubDate>Tue, 09 Aug 2022 00:20:42 +0800</pubDate><description><![CDATA[Alexa 的 App-to-App Account Linking 指的是将你的 App 账号与 Alexa App 账号进行 “链接”，“链接” 的作用是为了通过 Amazon Echo 系列音箱来语音控制支持 Alexa 的设备。App-to-App Account Linking 有两种方式，分别 ”从您的应用开始“ 和 ”从 Alexa 应用开始“，这篇文章讲的是第一种。......]]></description><category></category></item><item><title><![CDATA[Android 如何判断 Wi-Fi 是 2.4G+5G 双频？]]></title><link>https://blog.csdn.net/Alpha58/article/details/118585130</link><guid>https://blog.csdn.net/Alpha58/article/details/118585130</guid><author>Alpha58</author><pubDate>Thu, 08 Jul 2021 23:55:05 +0800</pubDate><description><![CDATA[前言
由于稳定性、成本等原因，大部分智能家居设备都只支持连接 2.4G 的无线网络。所以我们在利用 APP 实现配网的时候就需要判断 Wi-Fi 是 2.4G、5G，还是 2.4G+5G 双频，也就是大部分智能家居设备是无法连接纯 5G Wi-Fi 的，如果用户手机连接的是纯 5G Wi-Fi 就需要给用户一个提示信息，2.4G+5G 双频则不需要提示。
很多人肯定会想 “这个有什么难的？” 扫描出的 Wi-Fi 结果中肯定有属性可以判断。其实并没有这么简单，我们的测试人员在禅道上提了这个问题，结果我们团队]]></description><category></category></item><item><title><![CDATA[面试官：Glide 是如何加载 GIF 动图的？]]></title><link>https://blog.csdn.net/Alpha58/article/details/114766258</link><guid>https://blog.csdn.net/Alpha58/article/details/114766258</guid><author>Alpha58</author><pubDate>Sat, 13 Mar 2021 22:36:09 +0800</pubDate><description><![CDATA[前言
最近在一个群里看到有人说面试遇到一个问题是 “Glide 是如何加载 GIF 动图的？”，他说没看过源码回答不出来…
好家伙！现在面试都问的这么细了？我相信很多人即使看过源码也很难回答出来，包括我自己。比如之前自己虽然写了两篇 Glide 源码的文章，但是只分析了整个加载流程和缓存机制，关于 GIF 那里只是粗略的看了一下，想要回答的好还是有难度的。那么这篇文章就好好分析一下吧，这篇依然采用 4.11.0 版本来分析。
系列文章：

Android 主流开源框架（一）OkHttp 铺垫-HttpCli]]></description><category></category></item><item><title><![CDATA[6+3 种单例模式详解]]></title><link>https://blog.csdn.net/Alpha58/article/details/111569901</link><guid>https://blog.csdn.net/Alpha58/article/details/111569901</guid><author>Alpha58</author><pubDate>Wed, 23 Dec 2020 00:07:37 +0800</pubDate><description><![CDATA[前言
Java 版的单例模式是以前写的了，最近又补充了 Kotlin 的写法，所以一起发出来。这里的 6+3 说的就是 Java 的 6 种 + Kotlin 的 3 种。更多设计模式系列文章可以看我之前写的 AndroidNotes。
一、介绍
定义
确保某一个类只有一个实例，而且自行实例化并向整个系统提供这个实例。
简单示例
public class Singleton {
    private static Singleton instance = new Singleton;
    privat]]></description><category></category></item><item><title><![CDATA[Android 主流开源框架（九）LeakCanary 源码解析]]></title><link>https://blog.csdn.net/Alpha58/article/details/110913979</link><guid>https://blog.csdn.net/Alpha58/article/details/110913979</guid><author>Alpha58</author><pubDate>Wed, 09 Dec 2020 00:26:26 +0800</pubDate><description><![CDATA[前言
最近有个想法——就是把 Android 主流开源框架进行深入分析，然后写成一系列文章，包括该框架的详细使用与源码解析。目的是通过鉴赏大神的源码来了解框架底层的原理，也就是做到不仅要知其然，还要知其所以然。
这里我说下自己阅读源码的经验，我一般都是按照平时使用某个框架或者某个系统源码的使用流程入手的，首先要知道怎么使用，然后再去深究每一步底层做了什么，用了哪些好的设计模式，为什么要这么设计。
系列文章：

Android 主流开源框架（一）OkHttp 铺垫-HttpClient 与 HttpURLCo]]></description><category></category></item><item><title><![CDATA[Android 主流开源框架（八）EventBus 源码解析（含面试相关文问题解答）]]></title><link>https://blog.csdn.net/Alpha58/article/details/110313984</link><guid>https://blog.csdn.net/Alpha58/article/details/110313984</guid><author>Alpha58</author><pubDate>Sun, 29 Nov 2020 15:28:07 +0800</pubDate><description><![CDATA[前言
最近有个想法——就是把 Android 主流开源框架进行深入分析，然后写成一系列文章，包括该框架的详细使用与源码解析。目的是通过鉴赏大神的源码来了解框架底层的原理，也就是做到不仅要知其然，还要知其所以然。
这里我说下自己阅读源码的经验，我一般都是按照平时使用某个框架或者某个系统源码的使用流程入手的，首先要知道怎么使用，然后再去深究每一步底层做了什么，用了哪些好的设计模式，为什么要这么设计。
系列文章：

Android 主流开源框架（一）OkHttp 铺垫-HttpClient 与 HttpURLCo]]></description><category></category></item><item><title><![CDATA[Android Studio 4.1 问题记录]]></title><link>https://blog.csdn.net/Alpha58/article/details/109108691</link><guid>https://blog.csdn.net/Alpha58/article/details/109108691</guid><author>Alpha58</author><pubDate>Fri, 16 Oct 2020 00:37:06 +0800</pubDate><description><![CDATA[前言
好久没写博客了，这几个月实在太忙，工作和生活上的事都很忙。之前计划写的 《Android 主流开源框架》 系列也断更了，一是实在没时间，二是这种分析源码的文章很少人看，Glide 源码的 2 篇文章我花了近 2 个星期（每天晚上下班开始写）才写完，结果阅读量才几百个。当然写博客肯定不是为了别人看才写的，但是写过博客的人都知道，你的博客越多人看，你就会写的越有劲！
说下正经事吧！今天写这篇博客主要是我的开源项目 ScreenAdaptation 有人反映说他们的 Android Studio 升级到 4]]></description><category></category></item><item><title><![CDATA[将博客搬至CSDN]]></title><link>https://blog.csdn.net/Alpha58/article/details/106785600</link><guid>https://blog.csdn.net/Alpha58/article/details/106785600</guid><author>Alpha58</author><pubDate>Sun, 07 Jun 2020 11:40:23 +0800</pubDate><description><![CDATA[CSDN 是我最开始写博客的平台，后来因为体验问题就转向其他平台了。现在回来啦！
我的 CSDN 地址：wildma.blog.csdn.net

            ]]></description><category></category></item><item><title><![CDATA[Android 主流开源框架（七）Glide 的缓存机制]]></title><link>https://blog.csdn.net/Alpha58/article/details/106181101</link><guid>https://blog.csdn.net/Alpha58/article/details/106181101</guid><author>Alpha58</author><pubDate>Sun, 17 May 2020 21:23:55 +0800</pubDate><description><![CDATA[前言
最近有个想法——就是把 Android 主流开源框架进行深入分析，然后写成一系列文章，包括该框架的详细使用与源码解析。目的是通过鉴赏大神的源码来了解框架底层的原理，也就是做到不仅要知其然，还要知其所以然。
这里我说下自己阅读源码的经验，我一般都是按照平时使用某个框架或者某个系统源码的使用流程入手的，首先要知道怎么使用，然后再去深究每一步底层做了什么，用了哪些好的设计模式，为什么要这么设计。
系列文章：

Android 主流开源框架（一）OkHttp 铺垫-HttpClient 与 HttpURLCo]]></description><category></category></item><item><title><![CDATA[Android 主流开源框架（六）Glide 的执行流程源码解析]]></title><link>https://blog.csdn.net/Alpha58/article/details/106037394</link><guid>https://blog.csdn.net/Alpha58/article/details/106037394</guid><author>Alpha58</author><pubDate>Sun, 10 May 2020 16:15:21 +0800</pubDate><description><![CDATA[前言
最近有个想法——就是把 Android 主流开源框架进行深入分析，然后写成一系列文章，包括该框架的详细使用与源码解析。目的是通过鉴赏大神的源码来了解框架底层的原理，也就是做到不仅要知其然，还要知其所以然。
这里我说下自己阅读源码的经验，我一般都是按照平时使用某个框架或者某个系统源码的使用流程入手的，首先要知道怎么使用，然后再去深究每一步底层做了什么，用了哪些好的设计模式，为什么要这么设计。
系列文章：

Android 主流开源框架（一）OkHttp 铺垫-HttpClient 与 HttpURLCo]]></description><category></category></item><item><title><![CDATA[Android 主流开源框架（五）Retrofit 源码解析]]></title><link>https://blog.csdn.net/Alpha58/article/details/102882765</link><guid>https://blog.csdn.net/Alpha58/article/details/102882765</guid><author>Alpha58</author><pubDate>Sun, 03 Nov 2019 15:17:48 +0800</pubDate><description><![CDATA[文章首发于我的个人博客：wildma的博客，这里有更好的阅读体验，欢迎关注。

前言
最近有个想法——就是把 Android 主流开源框架进行深入分析，然后写成一系列文章，包括该框架的详细使用与源码解析。目的是通过鉴赏大神的源码来了解框架底层的原理，也就是做到不仅要知其然，还要知其所以然。
这里我说下自己阅读源码的经验，我一般都是按照平时使用某个框架或者某个系统源码的使用流程入手的，首先要知道怎...]]></description><category></category></item><item><title><![CDATA[Android 主流开源框架（四）Retrofit 使用详解]]></title><link>https://blog.csdn.net/Alpha58/article/details/102756070</link><guid>https://blog.csdn.net/Alpha58/article/details/102756070</guid><author>Alpha58</author><pubDate>Sat, 26 Oct 2019 14:12:37 +0800</pubDate><description><![CDATA[文章首发于我的个人博客：wildma的博客，这里有更好的阅读体验，欢迎关注。

前言
最近有个想法——就是把 Android 主流开源框架进行深入分析，然后写成一系列文章，包括该框架的详细使用与源码解析。目的是通过鉴赏大神的源码来了解框架底层的原理，也就是做到不仅要知其然，还要知其所以然。
这里我说下自己阅读源码的经验，我一般都是按照平时使用某个框架或者某个系统源码的使用流程入手的，首先要知道怎...]]></description><category></category></item><item><title><![CDATA[Android 主流开源框架（三）OkHttp 源码解析]]></title><link>https://blog.csdn.net/Alpha58/article/details/102673635</link><guid>https://blog.csdn.net/Alpha58/article/details/102673635</guid><author>Alpha58</author><pubDate>Mon, 21 Oct 2019 22:37:22 +0800</pubDate><description><![CDATA[文章首发于我的个人博客：wildma的博客，这里有更好的阅读体验，欢迎关注。

前言
最近有个想法——就是把 Android 主流开源框架进行深入分析，然后写成一系列文章，包括该框架的详细使用与源码解析。目的是通过鉴赏大神的源码来了解框架底层的原理，也就是做到不仅要知其然，还要知其所以然。
这里我说下自己阅读源码的经验，我一般都是按照平时使用某个框架或者某个系统源码的使用流程入手的，首先要知道怎...]]></description><category></category></item><item><title><![CDATA[Android 主流开源框架（二）OkHttp 使用详解]]></title><link>https://blog.csdn.net/Alpha58/article/details/102649262</link><guid>https://blog.csdn.net/Alpha58/article/details/102649262</guid><author>Alpha58</author><pubDate>Sun, 20 Oct 2019 15:11:48 +0800</pubDate><description><![CDATA[文章首发于我的个人博客：wildma的博客，这里有更好的阅读体验，欢迎关注。

前言
最近有个想法——就是把 Android 主流开源框架进行深入分析，然后写成一系列文章，包括该框架的详细使用与源码解析。目的是通过鉴赏大神的源码来了解框架底层的原理，也就是做到不仅要知其然，还要知其所以然。
这里我说下自己阅读源码的经验，我一般都是按照平时使用某个框架或者某个系统源码的使用流程入手的，首先要知道怎...]]></description><category></category></item><item><title><![CDATA[Android 主流开源框架（一）OkHttp 铺垫-HttpClient 与 HttpURLConnection 使用详解]]></title><link>https://blog.csdn.net/Alpha58/article/details/102649171</link><guid>https://blog.csdn.net/Alpha58/article/details/102649171</guid><author>Alpha58</author><pubDate>Sun, 20 Oct 2019 15:08:23 +0800</pubDate><description><![CDATA[文章首发于我的个人博客：wildma的博客，这里有更好的阅读体验，欢迎关注。

前言
最近有个想法——就是把 Android 主流开源框架进行深入分析，然后写成一系列文章，包括该框架的详细使用与源码解析。目的是通过鉴赏大神的源码来了解框架底层的原理，也就是做到不仅要知其然，还要知其所以然。
这里我说下自己阅读源码的经验，我一般都是按照平时使用某个框架或者某个系统源码的使用流程入手的，首先要知道怎...]]></description><category></category></item><item><title><![CDATA[Android 设备与 U 盘之间的交互]]></title><link>https://blog.csdn.net/Alpha58/article/details/106785642</link><guid>https://blog.csdn.net/Alpha58/article/details/106785642</guid><author>Alpha58</author><pubDate>Sun, 28 Jul 2019 11:19:32 +0800</pubDate><description><![CDATA[前言最近需要实现一个 TV 或一体机从 U 盘读取数据显示的功能，该功能主要解决的问题是：

获取 U 盘根目录
解决拔出 U 盘进程被杀死的问题

一、获取 U 盘根目录获取 U 盘根目录需要分两种情况：
1.1 应用程序已经在运行，这个时候插入 U 盘。这种情况我是通过监听媒体挂载的广播来实现的，具体代码如下：注册广播：
        &lt;receive...]]></description><category></category></item><item><title><![CDATA[自己撸一个 Android Studio 插件]]></title><link>https://blog.csdn.net/Alpha58/article/details/106785631</link><guid>https://blog.csdn.net/Alpha58/article/details/106785631</guid><author>Alpha58</author><pubDate>Sat, 11 May 2019 17:32:19 +0800</pubDate><description><![CDATA[前言用过 Android Studio 进行开发的人一般都使用过插件，因为使用插件可以大大提高我们的开发效率。例如我们常用的插件有：

GsonFormat：将 json 数据转换成实体类。
Android Butterknife Zelezny：一键生成 ButterKnife 注解。

都知道插件很好用，那这些插件是怎么制作的呢？这篇文章就讲下怎么制作一个 A...]]></description><category></category></item><item><title><![CDATA[设计模式]]></title><link>https://blog.csdn.net/Alpha58/article/details/106785599</link><guid>https://blog.csdn.net/Alpha58/article/details/106785599</guid><author>Alpha58</author><pubDate>Tue, 23 Apr 2019 22:52:08 +0800</pubDate><description><![CDATA[一、设计模式概括设计模式是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。它可以提高代码的可重用性，增强系统的可维护性，以及解决一系列的复杂问题。一名软件工程师搭建的框架是否健壮、是否易维护，很大程度取决于你是否运用了设计模式。是否懂得将设计模式运用到实际项目中也是区分初级工程师与高级工程师的其中一个重要因素。
二、设计模式六大原则1. 单一职责...]]></description><category></category></item><item><title><![CDATA[聊聊 Android 中的字体大小适配]]></title><link>https://blog.csdn.net/Alpha58/article/details/106785649</link><guid>https://blog.csdn.net/Alpha58/article/details/106785649</guid><author>Alpha58</author><pubDate>Tue, 12 Feb 2019 06:32:37 +0800</pubDate><description><![CDATA[本篇文章已授权微信公众号 guolin_blog（郭霖）独家发布

前言虽然去年写的一篇文章【一种非常好用的Android屏幕适配】就包含字体大小适配，但那篇文章讲的是根据不同屏幕尺寸来适配字体大小的，接下来我要聊的是字体大小适配中的其他几种场景。
一、场景一有这样一个需求，界面上需要显示一个标题文本，但是该标题的文案长度是不固定的，要求标题的文案全部显示出来，...]]></description><category></category></item><item><title><![CDATA[Android 消息推送 MQTT 实战]]></title><link>https://blog.csdn.net/Alpha58/article/details/106785654</link><guid>https://blog.csdn.net/Alpha58/article/details/106785654</guid><author>Alpha58</author><pubDate>Thu, 08 Nov 2018 22:19:43 +0800</pubDate><description><![CDATA[前言年初做了一款Android TV 应用，用到了MQTT。主要实现的是类似一些景区利用大屏幕实时显示景点人数，超过人数就不允许进入。即利用闸机设备监控到进景区的游客，然后通过MQTT将消息发送给大屏幕，最后大屏幕实时显示景区人数，并响应一个消息通知闸机设备已经收到了它发过来的消息（确保消息到达）。这篇文章会模拟真实的使用流程进行讲解，即闸机发布消息——服务器（代...]]></description><category></category></item></channel></rss>