<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[BoBoMEe]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/wbwjx</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; wbwjx]]></copyright><item><title><![CDATA[Compose 手势处理，增进交互体验]]></title><link>https://blog.youkuaiyun.com/wbwjx/article/details/145879066</link><guid>https://blog.youkuaiyun.com/wbwjx/article/details/145879066</guid><author>wbwjx</author><pubDate>Wed, 26 Feb 2025 15:27:12 +0800</pubDate><description><![CDATA[在处理手势时，应将手势处理修饰符尽可能放到 Modifier 末尾，从而可以避免产生不可预期的行为。]]></description><category></category></item><item><title><![CDATA[Compose 动画，让页面动起来]]></title><link>https://blog.youkuaiyun.com/wbwjx/article/details/145863958</link><guid>https://blog.youkuaiyun.com/wbwjx/article/details/145863958</guid><author>wbwjx</author><pubDate>Tue, 25 Feb 2025 23:10:22 +0800</pubDate><description><![CDATA[Compose 动画 可以分为两类： 高级别的 API 和 低级别的 API，高级别的API开箱即用，低级别的API 可以基于协程完成任何状态驱动的动画效果，高级别的API底层都是由低级别API支持的如果想在EnterTransition和ExitTransition之外再增加其他动画效果，可以在AnimatedVisibilityScope内设置transition。添加到transition的动画都会在AnimatedVisibility进出屏幕动画的同时运行。]]></description><category></category></item><item><title><![CDATA[Compose 组件渲染流程]]></title><link>https://blog.youkuaiyun.com/wbwjx/article/details/145759938</link><guid>https://blog.youkuaiyun.com/wbwjx/article/details/145759938</guid><author>wbwjx</author><pubDate>Thu, 20 Feb 2025 18:42:21 +0800</pubDate><description><![CDATA[在传统的view系统中，组件渲染可分为三步：测量，布局与绘制，Compose也遵循这样的分层设计，组件渲染流程分为：组合，布局，绘制。当然也存在特例，比如LazyColumn、LazyRow、BoxWithConstraints等组件的子项合成可以延迟到这类组件的布局阶段进行要自定义固有特性测量，需要实现MeasurePolicy接口，实现相应的 minIntrinsicXX 或者 maxIntrinsicXX 方法即可。]]></description><category></category></item><item><title><![CDATA[Compose 状态管理与重组]]></title><link>https://blog.youkuaiyun.com/wbwjx/article/details/145751633</link><guid>https://blog.youkuaiyun.com/wbwjx/article/details/145751633</guid><author>wbwjx</author><pubDate>Thu, 20 Feb 2025 16:51:25 +0800</pubDate><description><![CDATA[Compose采用了声明式UI开发范式，如果把Compose的执行看作是一个函数，那么状态就是函数的参数，生成的布局就是函数的输出。唯一输入决定唯一输出。]]></description><category></category></item><item><title><![CDATA[Compose 定制UI视图]]></title><link>https://blog.youkuaiyun.com/wbwjx/article/details/145746809</link><guid>https://blog.youkuaiyun.com/wbwjx/article/details/145746809</guid><author>wbwjx</author><pubDate>Thu, 20 Feb 2025 12:14:35 +0800</pubDate><description><![CDATA[新建一个新项目时，Compose会在项目中生成 ui/theme 目录，目录中有四个文件，分别如下Color.kt：颜色配置，使用Color(ARGB)Type.kt：字体配置，使用FontFamily(Font)Shape.kt：形状配置, 使用xxShape，如 RondedCornerShapeTheme.kt：主题配置，包括全局的 颜色，字体，形状及拓展配置。]]></description><category></category></item><item><title><![CDATA[Compose 常用UI组件]]></title><link>https://blog.youkuaiyun.com/wbwjx/article/details/145739216</link><guid>https://blog.youkuaiyun.com/wbwjx/article/details/145739216</guid><author>wbwjx</author><pubDate>Thu, 20 Feb 2025 00:03:08 +0800</pubDate><description><![CDATA[Compose 预置了很多基础组件，如 Button，TextField，TopAppBar等，他们都是基于 Material Design规范设计等。同时也提供了 Column，Row，Box等容器组件，每个基础组件都有一个Modifier修饰符。]]></description><category></category></item><item><title><![CDATA[全新的Android UI框架Jetpack Compose]]></title><link>https://blog.youkuaiyun.com/wbwjx/article/details/145736605</link><guid>https://blog.youkuaiyun.com/wbwjx/article/details/145736605</guid><author>wbwjx</author><pubDate>Wed, 19 Feb 2025 19:35:39 +0800</pubDate><description><![CDATA[Jetpack Compose 是Android新一代UI框架，采用了 声明式 的开发范式，基于Kotlin DSL打造，并且可以和现有的Android View 体系共存。]]></description><category></category></item><item><title><![CDATA[鸿蒙状态管理概述 v2]]></title><link>https://blog.youkuaiyun.com/wbwjx/article/details/145728975</link><guid>https://blog.youkuaiyun.com/wbwjx/article/details/145728975</guid><author>wbwjx</author><pubDate>Wed, 19 Feb 2025 16:59:42 +0800</pubDate><description><![CDATA[鸿蒙状态管理  v2  概述与梳理]]></description><category></category></item><item><title><![CDATA[鸿蒙状态管理概述]]></title><link>https://blog.youkuaiyun.com/wbwjx/article/details/145719542</link><guid>https://blog.youkuaiyun.com/wbwjx/article/details/145719542</guid><author>wbwjx</author><pubDate>Wed, 19 Feb 2025 10:48:20 +0800</pubDate><description><![CDATA[鸿蒙状态管理 概述与梳理]]></description><category></category></item><item><title><![CDATA[Android切面编程AOP之AspectJ的使用]]></title><link>https://blog.youkuaiyun.com/wbwjx/article/details/121881427</link><guid>https://blog.youkuaiyun.com/wbwjx/article/details/121881427</guid><author>wbwjx</author><pubDate>Sun, 12 Dec 2021 04:23:19 +0800</pubDate><description><![CDATA[概述
AOP（Aspect Oriented Programming）面向切面编程。就是：在运行时，动态地将代码切入到类的指定方法、指定位置上的编程思想就是面向切面的编程。
使用场景
针对很多地方都需要用到的模板代码，我们都可以用AOP来做，比如：
日志、性能监控、埋点等。
举个列子，很多时候我们需要根据当前网络情况做下一步操作，代码如下：
    public void checkNetworkNormal(){
        if (NetworkUtils.isNetworkAvailable(th]]></description><category></category></item><item><title><![CDATA[给Mac 配置多个 Git 账户]]></title><link>https://blog.youkuaiyun.com/wbwjx/article/details/120626139</link><guid>https://blog.youkuaiyun.com/wbwjx/article/details/120626139</guid><author>wbwjx</author><pubDate>Wed, 06 Oct 2021 16:27:22 +0800</pubDate><description><![CDATA[经常遇到公司内部使用 gitlab
自己的开源项目放在 github
学习用的代码放在 imooc
而且每个账户可能用户名和邮箱不同
使用 https 每次都需要输入密码，操作繁琐，通常会用 ssh
通常一台mac配置一个git账户，为了方便操作，就需要配置多个ssh私钥和公钥

参考： Mac下配置多个git账户

...]]></description><category></category></item><item><title><![CDATA[kotlin-android-extension 遭废弃,官方推荐使用ViewBinding]]></title><link>https://blog.youkuaiyun.com/wbwjx/article/details/120618206</link><guid>https://blog.youkuaiyun.com/wbwjx/article/details/120618206</guid><author>wbwjx</author><pubDate>Tue, 05 Oct 2021 21:04:06 +0800</pubDate><description><![CDATA[KT-42121
As the @Parcelize functionality is extracted (KT-42120), the rest of the Android Extensions functionality can be deprecated in favour of View Binding.
The existing Android Extensions plugin will continue to work, however, a warning message will b.]]></description><category></category></item><item><title><![CDATA[设计模式之Kotlin]]></title><link>https://blog.youkuaiyun.com/wbwjx/article/details/120610393</link><guid>https://blog.youkuaiyun.com/wbwjx/article/details/120610393</guid><author>wbwjx</author><pubDate>Tue, 05 Oct 2021 03:57:29 +0800</pubDate><description><![CDATA[Kotlin之设计模式
文章目录创建型工厂方法模式抽象工厂模式建造者模式原型模式单例模式结构型模式适配器模式桥接模式组合模式装饰模式外观模式享元模式代理模式行为型模式职责链模式命令模式解释器模式迭代器模式中介者模式备忘录模式观察者模式状态模式策略模式模版方法模式访问者模式
创建型
工厂方法模式
interface Product {
    val name: String
}

class ProductA(override val name: String = "ProductA") : Product]]></description><category></category></item><item><title><![CDATA[关于TCP/IP,OSI协议模型及层结构关系]]></title><link>https://blog.youkuaiyun.com/wbwjx/article/details/78081656</link><guid>https://blog.youkuaiyun.com/wbwjx/article/details/78081656</guid><author>wbwjx</author><pubDate>Mon, 25 Sep 2017 08:58:44 +0800</pubDate><description><![CDATA[概述最近复习了一下关于网络协议方面的知识，一些东西已经遗忘，有必要记录一下。 
 OSI将网络分为 7层 ,TCP/IP 模型将网络分为 5层或者 4层, 维基百科是这么说的： 
OSI模型， TCP/IP协议族其中七层、五层与四层之间的关系，参考如下图： 
图片来源：OSI七层模型及TCP/IP四层模型七层模型OSI模型最主要的功能就是帮助不同类型的主机实现数据传输，七层模型中，处于不同层的中继系]]></description><category></category></item><item><title><![CDATA[计算机时间：1970年1月1日]]></title><link>https://blog.youkuaiyun.com/wbwjx/article/details/77466641</link><guid>https://blog.youkuaiyun.com/wbwjx/article/details/77466641</guid><author>wbwjx</author><pubDate>Tue, 22 Aug 2017 07:21:10 +0800</pubDate><description><![CDATA[问题：计算机时间和众多的编程语言的时间都要从1970年1月1日开始算起呢相关讨论： java为什么计算时间从1970年1月1日开始为什么计算机时间要从1970年1月1日开始算起？答案：
很多编程语言起源于UNIX系统，而UNIX系统认为1970年1月1日0点是时间纪元
最初计算机操作系统是32位，而时间也是用32位表示，Integer.MAX_VALUE
68 年就会回归一次，但 随着 64位操作系]]></description><category></category></item><item><title><![CDATA[算法分析之桶排序]]></title><link>https://blog.youkuaiyun.com/wbwjx/article/details/76403723</link><guid>https://blog.youkuaiyun.com/wbwjx/article/details/76403723</guid><author>wbwjx</author><pubDate>Sun, 30 Jul 2017 19:56:32 +0800</pubDate><description><![CDATA[概述桶排序示意图(当然这里只是简单的示例，真正的桶排序比这个复杂)：维基百科介绍： 桶排序实现思路：1. 设置固定空桶数
2. 将数据放到对应的空桶中
3. 将每个不为空的桶进行排序
4. 拼接不为空的桶中的数据，得到结果
简单示例：BucketSort算法分析：时间复杂度：    1. 将数据装入桶，需要N次循环
    2. 之后排序，需要M次循环
    3. 假设使用比较先进的排序算法，需要]]></description><category></category></item><item><title><![CDATA[HenCoder Android开发进阶系列学习笔记]]></title><link>https://blog.youkuaiyun.com/wbwjx/article/details/76360174</link><guid>https://blog.youkuaiyun.com/wbwjx/article/details/76360174</guid><author>wbwjx</author><pubDate>Sun, 30 Jul 2017 06:03:57 +0800</pubDate><description><![CDATA[概述HenCoder是Android大神扔物线精心为我们准备的 给高级 Android 工程师的进阶手册, 这里主要记录通过学习 消化之后，所剩下的东西，谢谢大神给我们带来这么好的东西。路线首先，跟随者大神的脚步，一篇篇的将文章看完，并做好练习，就能基本掌握相关知识的用法。其次，做笔记，将相关知识点记录下来(都说好记性不如烂笔头嘛)，当然是经过消化的，日后浏览起来也较快，哪里记得不太清晰了，可以翻看]]></description><category></category></item><item><title><![CDATA[android 控件各种颜色的半透明效果配置]]></title><link>https://blog.youkuaiyun.com/wbwjx/article/details/76087652</link><guid>https://blog.youkuaiyun.com/wbwjx/article/details/76087652</guid><author>wbwjx</author><pubDate>Tue, 25 Jul 2017 17:24:09 +0800</pubDate><description><![CDATA[格式： 
Android:background=”#XXxxxxxx”（颜色可以写在color中） 
说明：半透明颜色值不同于平时使用的颜色，半透明颜色值共8位，前2位是透明度，后6位是颜色。 
也就是说透明度和颜色结合就可以写出各种颜色的透明度。下面是透明度说明表，供大家参考。
  透明度
  比值
  颜色代码  不透明
  100%
  FF
  
  95%
  F2
  
  90%]]></description><category></category></item><item><title><![CDATA[Android性能优化学习计划]]></title><link>https://blog.youkuaiyun.com/wbwjx/article/details/72235248</link><guid>https://blog.youkuaiyun.com/wbwjx/article/details/72235248</guid><author>wbwjx</author><pubDate>Tue, 16 May 2017 07:46:17 +0800</pubDate><description><![CDATA[Android性能优化典范 - 第1季Android性能优化典范 - 第2季Android性能优化典范 - 第3季Android性能优化典范 - 第4季Android性能优化典范 - 第5季]]></description><category></category></item><item><title><![CDATA[Android 多媒体之MediaStore]]></title><link>https://blog.youkuaiyun.com/wbwjx/article/details/70544881</link><guid>https://blog.youkuaiyun.com/wbwjx/article/details/70544881</guid><author>wbwjx</author><pubDate>Sun, 23 Apr 2017 20:30:24 +0800</pubDate><description><![CDATA[概述MediaStore是android系统提供的一个多媒体数据库，专门用于存放多媒体信息的，通过ContentResolver即可对数据库进行操作。如下是其结构：结构图解：MediaStore.Files: 共享的文件,包括多媒体和非多媒体信息
MediaStore.Audio: 存放音频信息
MediaStore.Image: 存放图片信息
MediaStore.Vedio: 存放视频信息每个内]]></description><category></category></item></channel></rss>