<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[白龙的博客]]></title><description><![CDATA[他强任他强,清风拂山岗]]></description><link>https://blog.youkuaiyun.com/github_37610197</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; github_37610197]]></copyright><item><title><![CDATA[增加控件点击响应热区]]></title><link>https://blog.youkuaiyun.com/github_37610197/article/details/141089416</link><guid>https://blog.youkuaiyun.com/github_37610197/article/details/141089416</guid><author>github_37610197</author><pubDate>Sat, 10 Aug 2024 13:05:41 +0800</pubDate><description><![CDATA[【代码】增加控件点击响应热区。]]></description><category></category></item><item><title><![CDATA[android textview按压,点击缩放,背景字体颜色变化]]></title><link>https://blog.youkuaiyun.com/github_37610197/article/details/141088701</link><guid>https://blog.youkuaiyun.com/github_37610197/article/details/141088701</guid><author>github_37610197</author><pubDate>Sat, 10 Aug 2024 13:02:25 +0800</pubDate><description><![CDATA[重写onTouchEvent。]]></description><category></category></item><item><title><![CDATA[Recyclerview smoothScrollToPosition()无效问题]]></title><link>https://blog.youkuaiyun.com/github_37610197/article/details/129322154</link><guid>https://blog.youkuaiyun.com/github_37610197/article/details/129322154</guid><author>github_37610197</author><pubDate>Fri, 03 Mar 2023 16:00:36 +0800</pubDate><description><![CDATA[对layoutmanaer重写 smoothScrollToPosition方法。参照:源码: smoothScrollToPosition。]]></description><category></category></item><item><title><![CDATA[记录Direct local .aar file dependencies are not supported when building an AAR]]></title><link>https://blog.youkuaiyun.com/github_37610197/article/details/129045620</link><guid>https://blog.youkuaiyun.com/github_37610197/article/details/129045620</guid><author>github_37610197</author><pubDate>Wed, 15 Feb 2023 16:18:21 +0800</pubDate><description><![CDATA[这种依赖问题应该是由于环境版本变化导致的，根据错误描述说以前的这种直接依赖方式会破坏aar文件，高版本后不再支持，我们这种解决方式是让library在编译时使编译器通过不报错，在主工程拷贝一份的文件在打包后能让程序正常调用。]]></description><category></category></item><item><title><![CDATA[Kotlin单例和伴生对象]]></title><link>https://blog.youkuaiyun.com/github_37610197/article/details/128975062</link><guid>https://blog.youkuaiyun.com/github_37610197/article/details/128975062</guid><author>github_37610197</author><pubDate>Fri, 10 Feb 2023 18:09:33 +0800</pubDate><description><![CDATA[是和静态方法一样，就可以直接类名.方法调用。1.修饰符 companion。修饰符 object。]]></description><category></category></item><item><title><![CDATA[Android清单mainfest一些属性]]></title><link>https://blog.youkuaiyun.com/github_37610197/article/details/128849181</link><guid>https://blog.youkuaiyun.com/github_37610197/article/details/128849181</guid><author>github_37610197</author><pubDate>Thu, 02 Feb 2023 14:03:21 +0800</pubDate><description><![CDATA[多窗口下对应用窗口大小缩放,会触发Configuration变化,可能的变化有screenSize、smallestScreenSize、layoutDirection、screenLayout、orientation,建议Activity的manifest配置configChanges,否则Activity将被销毁重建,可能导致卡顿和跟体验差。③ 如果声明了这个属性，并设置值为false，那么不允许进入多窗口模式，只允许全屏显示。false显示，默认。窗口变化属性configChanges。]]></description><category></category></item><item><title><![CDATA[WebView使用常见忽视点]]></title><link>https://blog.youkuaiyun.com/github_37610197/article/details/128727521</link><guid>https://blog.youkuaiyun.com/github_37610197/article/details/128727521</guid><author>github_37610197</author><pubDate>Wed, 18 Jan 2023 17:04:28 +0800</pubDate><description><![CDATA[这个情况产生的原因是我们在loadUrl的时候，由于新的页面还没有完全加载出来，所以clearHistory没有起作用，因为要保证至少一个页面在最上边，所以上一个页面没有被移除掉。当我们在WebView中加载出从web服务器上拿取的内容时，是无法访问本地资源的，如assets目录下的图片资源，因为这样的行为属于跨域行为（Cross-Domain），而WebView是禁止。Android的返回键, 如果想要实现WebView内网页的回退, 可以重写onKeyEvent()方法。面assets下的资源了。]]></description><category></category></item><item><title><![CDATA[android生成javadoc]]></title><link>https://blog.youkuaiyun.com/github_37610197/article/details/128465629</link><guid>https://blog.youkuaiyun.com/github_37610197/article/details/128465629</guid><author>github_37610197</author><pubDate>Wed, 28 Dec 2022 10:54:06 +0800</pubDate><description><![CDATA[在Other command line arguments 栏输入：-encoding utf-8 -charset utf-8。菜单 Tools -> Generate JavaDoc，弹出配置面板。菜单 Tools -> Generate JavaDoc!]]></description><category></category></item><item><title><![CDATA[koltin顶级函数的单元测试]]></title><link>https://blog.youkuaiyun.com/github_37610197/article/details/128397393</link><guid>https://blog.youkuaiyun.com/github_37610197/article/details/128397393</guid><author>github_37610197</author><pubDate>Wed, 21 Dec 2022 15:41:13 +0800</pubDate><description><![CDATA[1.反射2.遇到的错误:The problem is a missing dependency in build.gradle.……}:]]></description><category></category></item><item><title><![CDATA[单元测试原则 first air]]></title><link>https://blog.youkuaiyun.com/github_37610197/article/details/127939131</link><guid>https://blog.youkuaiyun.com/github_37610197/article/details/127939131</guid><author>github_37610197</author><pubDate>Sat, 19 Nov 2022 17:11:39 +0800</pubDate><description><![CDATA[单元测试应该是可以快速运行的，在各种测试方法中，单元测试的运行速度是最快的，通常应该在几分钟内运行完毕。单元测试必须及时的进行编写，更新和维护，以保证用例可以随着业务代码的变化动态的保障质量。单元测试应该是可以独立运行的，单元测试用例互相无强依赖，无对外部资源的强依赖。单元测试应该是独立运行，互相之间无依赖，对外部资源无依赖，多次运行之间无依赖。单元测试应该可以稳定重复的运行，并且每次运行的结果都是相同的。单元测试应该是自动运行，自动校验，自动给出结果。单元测试是可重复运行的，每次的结果都稳定可靠。]]></description><category></category></item><item><title><![CDATA[在build.gradle中定义和调用自定义方法]]></title><link>https://blog.youkuaiyun.com/github_37610197/article/details/127938499</link><guid>https://blog.youkuaiyun.com/github_37610197/article/details/127938499</guid><author>github_37610197</author><pubDate>Sat, 19 Nov 2022 16:33:23 +0800</pubDate><description><![CDATA[为项目范围创建的,即.全局可用于项目,可以在构建脚本中的任何位置使用myMethod(p1, p2)等效的方式调用project.myMethod(p1, p2)]]></description><category></category></item><item><title><![CDATA[android单元测试Esspresso测试popupwindow,webview]]></title><link>https://blog.youkuaiyun.com/github_37610197/article/details/127885910</link><guid>https://blog.youkuaiyun.com/github_37610197/article/details/127885910</guid><author>github_37610197</author><pubDate>Wed, 16 Nov 2022 16:43:49 +0800</pubDate><description><![CDATA[【代码】android单元测试Esspresso测试popupwindow,webview。]]></description><category></category></item><item><title><![CDATA[常用adb命令]]></title><link>https://blog.youkuaiyun.com/github_37610197/article/details/126721245</link><guid>https://blog.youkuaiyun.com/github_37610197/article/details/126721245</guid><author>github_37610197</author><pubDate>Tue, 06 Sep 2022 11:17:52 +0800</pubDate><description><![CDATA[就能看到PackageName，VersionCode，LauncherActivity等信息。2、然后使用aapt dump badging XXX.apk。aapt dump badging 路径.xx.apk。]]></description><category></category></item><item><title><![CDATA[gerrit本地代码关联到远程仓库]]></title><link>https://blog.youkuaiyun.com/github_37610197/article/details/125599012</link><guid>https://blog.youkuaiyun.com/github_37610197/article/details/125599012</guid><author>github_37610197</author><pubDate>Mon, 04 Jul 2022 14:27:39 +0800</pubDate><description><![CDATA[1.在想要创建的git的目录下用以下指令，创建一个本地仓库
不如:MyApplication
执行:

remote-url 替换为远程仓库地址此处步骤可以使用ide操作,比较直观
step5 添加需要跟踪的文件

6.提交

ID 是需求id,或者修改bug的bugid
如果本地没有readme文件 执行 会报错是可以允许不相关历史提交，强制合并
9.hook

xx是当前git用户名
ip是hook地址
步骤8直接到11会报错,提示添加change-id,根据提示执行步骤9,10gerrit不允许用户直]]></description><category></category></item><item><title><![CDATA[kotlin协程启动源码分析]]></title><link>https://blog.youkuaiyun.com/github_37610197/article/details/125574873</link><guid>https://blog.youkuaiyun.com/github_37610197/article/details/125574873</guid><author>github_37610197</author><pubDate>Sat, 02 Jul 2022 18:57:37 +0800</pubDate><description><![CDATA[代码启动协程

附上kotlin bytecode decomplie代码
launch启动kotlin源码实现如下:
CoroutineScope扩展函数launch
1.会将launch方法传入的context与CoroutineScope中的context组合起来
2.如果combined中没有拦截器，会传入一个默认的拦截器，即Dispatchers.Default,这也解释了为什么我们没有传入拦截器时会有一个默认切换线程的效果
默认情况下，我们会创建一个StandloneCorouti...]]></description><category></category></item><item><title><![CDATA[kotlin函数嵌套]]></title><link>https://blog.youkuaiyun.com/github_37610197/article/details/125547082</link><guid>https://blog.youkuaiyun.com/github_37610197/article/details/125547082</guid><author>github_37610197</author><pubDate>Thu, 30 Jun 2022 19:46:19 +0800</pubDate><description><![CDATA[Kotlin 中提供了函数的嵌套，在函数内部还可以定义新的函数。这样我们可以在函数中嵌套
这些提前的函数，来抽取重复代码。
上面的代码在判断 name、address 等是否为空的处理其实很类似。这时候，我们可以利用
在函数内部嵌套的声明一个通用的判空函数将相同的代码抽取到一起：
2.扩展函数嵌套
除了利用嵌套函数去抽取，此时，其实也可以用扩展函数来抽取，如下所示：
/** 利用扩展函数抽取逻辑* */...]]></description><category></category></item><item><title><![CDATA[kotlin JVM注解]]></title><link>https://blog.youkuaiyun.com/github_37610197/article/details/125533966</link><guid>https://blog.youkuaiyun.com/github_37610197/article/details/125533966</guid><author>github_37610197</author><pubDate>Thu, 30 Jun 2022 09:31:09 +0800</pubDate><description><![CDATA[@JvmStatic 告诉jvm⽣成静态⽅法和成员
@JvmOverloads ⽣成Java重载⽅法，应⽤于kotlin⽅法有默认值⽣成对于的java⽅法
@JvmName 改变getter和setter中的⽅法名
@JvmField 直接暴露类中的属性和
@Throws 声明这个⽅法要检查Exception
@JvmMultifileClass
@JvmSynthetic但是kotlin的许多官⽅库会⽤到他 讲⽩了 如果你写的⼀个函数你只想给kotlin代码调⽤ ⽽不想给java的代码调⽤ 那你就在你的函]]></description><category></category></item><item><title><![CDATA[koltin知识点概要]]></title><link>https://blog.youkuaiyun.com/github_37610197/article/details/125398335</link><guid>https://blog.youkuaiyun.com/github_37610197/article/details/125398335</guid><author>github_37610197</author><pubDate>Tue, 28 Jun 2022 13:17:57 +0800</pubDate><description><![CDATA[kotlin小结]]></description><category></category></item><item><title><![CDATA[AndroidStudio单元测试⽣成测试报告以及⽣成单元测试代码覆盖率报告]]></title><link>https://blog.youkuaiyun.com/github_37610197/article/details/125386717</link><guid>https://blog.youkuaiyun.com/github_37610197/article/details/125386717</guid><author>github_37610197</author><pubDate>Tue, 21 Jun 2022 10:49:21 +0800</pubDate><description><![CDATA[单元测试覆盖率统计]]></description><category></category></item><item><title><![CDATA[android koltin实现判断应用是否安装，启动，在前台]]></title><link>https://blog.youkuaiyun.com/github_37610197/article/details/125302671</link><guid>https://blog.youkuaiyun.com/github_37610197/article/details/125302671</guid><author>github_37610197</author><pubDate>Wed, 15 Jun 2022 18:48:05 +0800</pubDate><description><![CDATA[koltin语言判断应用是否安装，是否启动，是否在前台]]></description><category></category></item></channel></rss>