<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[松仔Log的博客]]></title><description><![CDATA[随便看看呗]]></description><link>https://blog.csdn.net/qq_35258036</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; qq_35258036]]></copyright><item><title><![CDATA[Kotlin中级——Flow]]></title><link>https://blog.csdn.net/qq_35258036/article/details/163918328</link><guid>https://blog.csdn.net/qq_35258036/article/details/163918328</guid><author>qq_35258036</author><pubDate>Mon, 31 Aug 2026 14:49:27 +0800</pubDate><description><![CDATA[Flows 代表一串随着异步产生的值。]]></description><category></category></item><item><title><![CDATA[Kotlin中级——协程]]></title><link>https://blog.csdn.net/qq_35258036/article/details/163761709</link><guid>https://blog.csdn.net/qq_35258036/article/details/163761709</guid><author>qq_35258036</author><pubDate>Thu, 20 Aug 2026 11:05:16 +0800</pubDate><description><![CDATA[协程可以暂停执行，而不是阻塞线程。这允许一个协程在等待某些数据到达时挂起，另一个协例程在同一线程上运行，从而确保有效的资源利用率。]]></description><category></category></item><item><title><![CDATA[JetPack——Hilt]]></title><link>https://blog.csdn.net/qq_35258036/article/details/163659984</link><guid>https://blog.csdn.net/qq_35258036/article/details/163659984</guid><author>qq_35258036</author><pubDate>Thu, 13 Aug 2026 19:52:29 +0800</pubDate><description><![CDATA[如下注入ApplicationContext和ActivityContext@Inject@Inject。]]></description><category></category></item><item><title><![CDATA[Java中级——组合和继承]]></title><link>https://blog.csdn.net/qq_35258036/article/details/163477006</link><guid>https://blog.csdn.net/qq_35258036/article/details/163477006</guid><author>qq_35258036</author><pubDate>Tue, 04 Aug 2026 16:53:16 +0800</pubDate><description><![CDATA[这是两种不同的实现方式，不能混用对于如上代码，，导致增加排查难度。]]></description><category></category></item><item><title><![CDATA[Android基础——Menu]]></title><link>https://blog.csdn.net/qq_35258036/article/details/163372232</link><guid>https://blog.csdn.net/qq_35258036/article/details/163372232</guid><author>qq_35258036</author><pubDate>Fri, 31 Jul 2026 17:40:03 +0800</pubDate><description><![CDATA[通过MenuProvider修改Activity的menu。]]></description><category></category></item><item><title><![CDATA[JetPack——TabLayout+ViewPager2]]></title><link>https://blog.csdn.net/qq_35258036/article/details/162931665</link><guid>https://blog.csdn.net/qq_35258036/article/details/162931665</guid><author>qq_35258036</author><pubDate>Thu, 16 Jul 2026 11:53:07 +0800</pubDate><description><![CDATA[【代码】JetPack——TabLayout+ViewPager2。]]></description><category></category></item><item><title><![CDATA[JetPack——Navigation]]></title><link>https://blog.csdn.net/qq_35258036/article/details/162224828</link><guid>https://blog.csdn.net/qq_35258036/article/details/162224828</guid><author>qq_35258036</author><pubDate>Wed, 15 Jul 2026 10:39:57 +0800</pubDate><description><![CDATA[【代码】JetPack——Navigation。]]></description><category></category></item><item><title><![CDATA[Jetpack——WorkManager]]></title><link>https://blog.csdn.net/qq_35258036/article/details/161595342</link><guid>https://blog.csdn.net/qq_35258036/article/details/161595342</guid><author>qq_35258036</author><pubDate>Mon, 08 Jun 2026 17:00:46 +0800</pubDate><description><![CDATA[在doWork()中调用setForeground()/setForegroundAsync()设置ForegroundInfo，指示在此项工作执行期间应尽可能让进程保持活跃状态。如果需要第一次运行时间为15分钟后，则应该设置setInitialDelay(15, TimeUnit.MINUTES)加急任务通过setExpedited()设置，会在有系统配额时尽快完成，当配额耗尽后。若重复调用enqueue()，如App重启或重新进入Activity，会导致工作重复。定时15分钟发送当前时间到通知。]]></description><category></category></item><item><title><![CDATA[Jetpack——DataStore]]></title><link>https://blog.csdn.net/qq_35258036/article/details/161479250</link><guid>https://blog.csdn.net/qq_35258036/article/details/161479250</guid><author>qq_35258036</author><pubDate>Mon, 01 Jun 2026 15:29:02 +0800</pubDate><description><![CDATA[Jetpack DataStore 是一种数据存储解决方案，让您可以使用 协议缓冲区存储键值对或类型化对象Preferences DataStore 可用于替代 SharedPreferences，其是线程安全的需要注意：
Preferences DataStore
MyApplication

SettingsRepository

SettingsViewModel

MainActivity

activity_main.xml

查看数据
从以下路径取出文件
安装protobuf
进入如下网站搜索d]]></description><category></category></item><item><title><![CDATA[JetPack——Paging3+Room]]></title><link>https://blog.csdn.net/qq_35258036/article/details/160252689</link><guid>https://blog.csdn.net/qq_35258036/article/details/160252689</guid><author>qq_35258036</author><pubDate>Mon, 25 May 2026 19:19:02 +0800</pubDate><description><![CDATA[paging3
Room先从Room中读取数据，当数据为空时，利用UserRemoteMediator从网络获取数据，将获取的数据写入数据库，并更新UI]]></description><category></category></item><item><title><![CDATA[JetPack——Room]]></title><link>https://blog.csdn.net/qq_35258036/article/details/158210706</link><guid>https://blog.csdn.net/qq_35258036/article/details/158210706</guid><author>qq_35258036</author><pubDate>Tue, 24 Feb 2026 01:50:06 +0800</pubDate><description><![CDATA[Room 持久性库在 SQLite 上提供了一个抽象层，以便在充分利用 SQLite 的强大功能的同时，能够流畅地访问数据库。]]></description><category></category></item><item><title><![CDATA[JetPack——Paging3]]></title><link>https://blog.csdn.net/qq_35258036/article/details/158207978</link><guid>https://blog.csdn.net/qq_35258036/article/details/158207978</guid><author>qq_35258036</author><pubDate>Thu, 19 Feb 2026 20:50:56 +0800</pubDate><description><![CDATA[Paging 用于加载和显示分页数据。]]></description><category></category></item><item><title><![CDATA[Android实例——全局Toast]]></title><link>https://blog.csdn.net/qq_35258036/article/details/153980730</link><guid>https://blog.csdn.net/qq_35258036/article/details/153980730</guid><author>qq_35258036</author><pubDate>Mon, 27 Oct 2025 20:40:31 +0800</pubDate><description><![CDATA[BaseGlobalDialog通过WindowManager添加View。]]></description><category></category></item><item><title><![CDATA[安卓实例——统一动画]]></title><link>https://blog.csdn.net/qq_35258036/article/details/153417349</link><guid>https://blog.csdn.net/qq_35258036/article/details/153417349</guid><author>qq_35258036</author><pubDate>Tue, 21 Oct 2025 20:18:55 +0800</pubDate><description><![CDATA[在res目录新建attr.xml</</如下代码，控件点击后通过缩放动画实现点击效果使用时可指定动画参数</</]]></description><category></category></item><item><title><![CDATA[Android开源库——Glide]]></title><link>https://blog.csdn.net/qq_35258036/article/details/146357274</link><guid>https://blog.csdn.net/qq_35258036/article/details/146357274</guid><author>qq_35258036</author><pubDate>Sat, 22 Mar 2025 21:40:32 +0800</pubDate><description><![CDATA[Android的图像加载和缓存库，专注于平滑滚动。]]></description><category></category></item><item><title><![CDATA[Android开源库——RxJava和RxAndroid]]></title><link>https://blog.csdn.net/qq_35258036/article/details/146109458</link><guid>https://blog.csdn.net/qq_35258036/article/details/146109458</guid><author>qq_35258036</author><pubDate>Sat, 15 Mar 2025 17:57:54 +0800</pubDate><description><![CDATA[RxJava是基于JVM的响应式扩展，用于编写异步代码RxAndroid是关于Android的RxJava绑定。]]></description><category></category></item><item><title><![CDATA[Android开源库——Retrofit]]></title><link>https://blog.csdn.net/qq_35258036/article/details/146074196</link><guid>https://blog.csdn.net/qq_35258036/article/details/146074196</guid><author>qq_35258036</author><pubDate>Fri, 07 Mar 2025 03:04:14 +0800</pubDate><description><![CDATA[一个类型安全的 HTTP 客户端，适用于 Android 和 Java。]]></description><category></category></item><item><title><![CDATA[Java多线程——内存模型]]></title><link>https://blog.csdn.net/qq_35258036/article/details/145830994</link><guid>https://blog.csdn.net/qq_35258036/article/details/145830994</guid><author>qq_35258036</author><pubDate>Mon, 24 Feb 2025 18:09:18 +0800</pubDate><description><![CDATA[对于如下代码，可能输出(0,1)/(1,0)/(1,1)/(0,0)]]></description><category></category></item><item><title><![CDATA[Java多线程——原子变量与非阻塞同步机制]]></title><link>https://blog.csdn.net/qq_35258036/article/details/145812761</link><guid>https://blog.csdn.net/qq_35258036/article/details/145812761</guid><author>qq_35258036</author><pubDate>Mon, 24 Feb 2025 01:30:57 +0800</pubDate><description><![CDATA[处理器针对共享数据的并发访问提供了一些特殊指令，操作系统和JVM可以用其实现锁和并发的数据结构，比加锁的方式拥有更好的性能。]]></description><category></category></item><item><title><![CDATA[Java多线程——构建自定义的同步工具]]></title><link>https://blog.csdn.net/qq_35258036/article/details/145788560</link><guid>https://blog.csdn.net/qq_35258036/article/details/145788560</guid><author>qq_35258036</author><pubDate>Sun, 23 Feb 2025 16:46:28 +0800</pubDate><description><![CDATA[AQS用于构建锁和同步器的框架，ReentrantLock、Semaphore 、CountDownLatch、 ReentrantReadWriteLock、 SynchronousQueue和 FutureTask是基于AQS 构建的，它们没有直接扩展AQS，而是委托给私有子类。]]></description><category></category></item></channel></rss>