<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/dd06s</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; dd06s]]></copyright><item><title><![CDATA[安卓Jenkins流水线任务]]></title><link>https://blog.youkuaiyun.com/dd06s/article/details/163044843</link><guid>https://blog.youkuaiyun.com/dd06s/article/details/163044843</guid><author>dd06s</author><pubDate>Mon, 20 Jul 2026 13:49:20 +0800</pubDate><description><![CDATA[下载指定分支groovy脚本。上传生成物并清理编译中间物。]]></description><category></category></item><item><title><![CDATA[安卓Doze、后台限制、防杀等限制]]></title><link>https://blog.youkuaiyun.com/dd06s/article/details/162441380</link><guid>https://blog.youkuaiyun.com/dd06s/article/details/162441380</guid><author>dd06s</author><pubDate>Tue, 30 Jun 2026 10:26:35 +0800</pubDate><description><![CDATA[国内的系统，如华为、Oppo、Vivo、小米等，保活只有一个有效，就是添加应用白名单。路径：设置-》电池-》保密检查-》启动管理-》允许自启动、允许关联启动、允许后台活动。]]></description><category></category></item><item><title><![CDATA[安卓上传依赖到maven私有仓库]]></title><link>https://blog.youkuaiyun.com/dd06s/article/details/161893095</link><guid>https://blog.youkuaiyun.com/dd06s/article/details/161893095</guid><author>dd06s</author><pubDate>Thu, 11 Jun 2026 14:17:22 +0800</pubDate><description><![CDATA[3.把以下gradle命令加到任意build.gradlew里，然后运行cacheToLocalMavenRepository任务，会把依赖生成在项目根目录下，并且目录结构满足maven上传时的格式。2.运行gradlew命令检查所有依赖，防止缺少pom文件导致后续上传失败。如脚本没有执行权限，执行命令chmod +x mvnupload.sh。1.先运行gradlew命令编译通过，此时会下载依赖到本地仓库。4.使用以下shell脚本命令上传到maven仓库。5.mvnupload.sh脚本内容如下。]]></description><category></category></item><item><title><![CDATA[模板T用法-返回结果工具类]]></title><link>https://blog.youkuaiyun.com/dd06s/article/details/161892287</link><guid>https://blog.youkuaiyun.com/dd06s/article/details/161892287</guid><author>dd06s</author><pubDate>Thu, 11 Jun 2026 13:48:56 +0800</pubDate><description><![CDATA[泛型T]]></description><category></category></item><item><title><![CDATA[从assets读取文件，做调试]]></title><link>https://blog.youkuaiyun.com/dd06s/article/details/144508051</link><guid>https://blog.youkuaiyun.com/dd06s/article/details/144508051</guid><author>dd06s</author><pubDate>Mon, 16 Dec 2024 14:23:34 +0800</pubDate><description><![CDATA[【代码】从assets读取文件，做调试。]]></description><category></category></item><item><title><![CDATA[屏蔽系统控件的onSaveInstanceState和onRestoreInstanceState]]></title><link>https://blog.youkuaiyun.com/dd06s/article/details/144135736</link><guid>https://blog.youkuaiyun.com/dd06s/article/details/144135736</guid><author>dd06s</author><pubDate>Fri, 29 Nov 2024 14:32:48 +0800</pubDate><description><![CDATA[被系统回收Activity再恢复时，CompoundButton做了save和restore,会使TabLayout里设置自定义Item的选中状态不对，此时解决方法是屏蔽onSaveInstanceState和onRestoreInstanceState。1.开始在onSaveInstanceState里直接设置compoundButton.setChecked(false),但是onSaveInstanceState会在锁屏时回调，会影响正常流程。以CompoundButton为例。]]></description><category></category></item><item><title><![CDATA[ViewPager升级ViewPager2笔记]]></title><link>https://blog.youkuaiyun.com/dd06s/article/details/144134720</link><guid>https://blog.youkuaiyun.com/dd06s/article/details/144134720</guid><author>dd06s</author><pubDate>Fri, 29 Nov 2024 14:22:44 +0800</pubDate><description><![CDATA[2.ViewPager2能精确控制每一个fragement的生命周期，即只有在前台的Fragement会收到onResume和onPause,而ViewPager会使所有的Fragent都收到onResume和onPause相关的生命周期。切换Fragmnent时，某个Fragment显示不全，不要把Fragment里的布局设置成View.GONE。问题1：子Fragment里嵌套ListView，拉到底时反复重绘。要使用View.INVISIABLE.解决方法：重新实现布局。]]></description><category></category></item><item><title><![CDATA[Android全屏背景效果]]></title><link>https://blog.youkuaiyun.com/dd06s/article/details/143509094</link><guid>https://blog.youkuaiyun.com/dd06s/article/details/143509094</guid><author>dd06s</author><pubDate>Tue, 05 Nov 2024 15:08:35 +0800</pubDate><description><![CDATA[这里设置的是Theme.AppCompat.DayNight.NoActionBar。代码：Theme随便设置个NoActionBar的即可。有需求要求全屏背景图，是一个渐变图。]]></description><category></category></item><item><title><![CDATA[ImageView拉伸和图片叠加]]></title><link>https://blog.youkuaiyun.com/dd06s/article/details/143507439</link><guid>https://blog.youkuaiyun.com/dd06s/article/details/143507439</guid><author>dd06s</author><pubDate>Tue, 05 Nov 2024 14:49:56 +0800</pubDate><description><![CDATA[CenterInside：按比例缩放图片，使得图片长 (宽)的小于等于视图的相应维度。FitStart：把图片按比例扩大/缩小到视图的最小边，显示在视图的上部分位置。CenterCrop：按比例缩放图片，使图片长（宽）大于等于相应的维度。FitEnd：按比例缩放图片到视图的最小边，显示在视图的下部分位置。FitCenter：按比例缩放图片到视图的最小边，居中显示。这时如果把ImageView的宽高写死，就会造成平板和手机适配问题，2.4 Center：在视图中心显示图片，并且不缩放图片。]]></description><category></category></item><item><title><![CDATA[会自动换行的GridView]]></title><link>https://blog.youkuaiyun.com/dd06s/article/details/143366133</link><guid>https://blog.youkuaiyun.com/dd06s/article/details/143366133</guid><author>dd06s</author><pubDate>Wed, 30 Oct 2024 15:27:12 +0800</pubDate><description><![CDATA[GridView要实现如上图的展示效果，需要以下条件。1.没有滚动条的GridView。2.GridView设置参数。]]></description><category></category></item><item><title><![CDATA[顺序执行的Runnable队列]]></title><link>https://blog.youkuaiyun.com/dd06s/article/details/143013621</link><guid>https://blog.youkuaiyun.com/dd06s/article/details/143013621</guid><author>dd06s</author><pubDate>Thu, 17 Oct 2024 13:38:55 +0800</pubDate><description><![CDATA[可有的时候需要保证Runnable按顺序执行，比如连续收到了推送，这时候可以用子线程队列。当一个任务需要放到子线程执行时，一般new Runnable就可以了。以下是EventBus 3.2.0里面的实现方式，抽取出来做技术调研。]]></description><category></category></item><item><title><![CDATA[gradle镜像下载地址]]></title><link>https://blog.youkuaiyun.com/dd06s/article/details/142997529</link><guid>https://blog.youkuaiyun.com/dd06s/article/details/142997529</guid><author>dd06s</author><pubDate>Thu, 17 Oct 2024 09:21:52 +0800</pubDate><description><![CDATA[gradle镜像下载地址:]]></description><category></category></item><item><title><![CDATA[手动触发Activity被系统回收]]></title><link>https://blog.youkuaiyun.com/dd06s/article/details/142914927</link><guid>https://blog.youkuaiyun.com/dd06s/article/details/142914927</guid><author>dd06s</author><pubDate>Mon, 14 Oct 2024 12:04:42 +0800</pubDate><description><![CDATA[链接：https://www.jianshu.com/p/88ef3de8b63b。商业转载请联系作者获得授权，非商业转载请注明出处。作者：walker113。]]></description><category></category></item><item><title><![CDATA[安卓使用.9图实现阴影效果box-shadow: 0 2px 6px 1px rgba(0,0,0,0.08)；]]></title><link>https://blog.youkuaiyun.com/dd06s/article/details/142824640</link><guid>https://blog.youkuaiyun.com/dd06s/article/details/142824640</guid><author>dd06s</author><pubDate>Thu, 10 Oct 2024 16:19:30 +0800</pubDate><description><![CDATA[1.安卓实现阴影效果有很多种，一般UX设计会给以H5参数box-shadow: 0 2px 6px 1px rgba(0,0,0,0.08);2.2浅色模式 app_card_shadow.9.png阴影参数 box-shadow: 0 2px 6px 1px rgba(250,250,250,0.29);2.1深色模式 app_card_shadow.9.png阴影参数 box-shadow: 0 2px 6px 1px rgba(26,26,26,0.29);]]></description><category></category></item><item><title><![CDATA[TextView把其它控件挤出屏幕的处理办法]]></title><link>https://blog.youkuaiyun.com/dd06s/article/details/142791080</link><guid>https://blog.youkuaiyun.com/dd06s/article/details/142791080</guid><author>dd06s</author><pubDate>Wed, 09 Oct 2024 17:02:58 +0800</pubDate><description><![CDATA[1.如果TextView后面的控件是紧挨着TextView的，可以给TextView添加maxWidth限制其最大长度。原理是：LinearLayout里添加weight属性的控件会填满其它控件绘制完后剩余的全部空间。2.TextView控件和其它控件分别在两端展示时，TextView把其它控件挤出屏幕。使用LinearLayout与weight属性解决方案布局代码。仅以此记录一天的解决之路。]]></description><category></category></item><item><title><![CDATA[获取mimeType]]></title><link>https://blog.youkuaiyun.com/dd06s/article/details/88171945</link><guid>https://blog.youkuaiyun.com/dd06s/article/details/88171945</guid><author>dd06s</author><pubDate>Mon, 07 Mar 2022 15:33:35 +0800</pubDate><description><![CDATA[1.Collections是集合基类

2.iterator要先判断hasNext才能用next取出第一个元素

3.
]]></description><category></category></item><item><title><![CDATA[android studio statistics统计代码]]></title><link>https://blog.youkuaiyun.com/dd06s/article/details/122922966</link><guid>https://blog.youkuaiyun.com/dd06s/article/details/122922966</guid><author>dd06s</author><pubDate>Mon, 14 Feb 2022 13:52:05 +0800</pubDate><description><![CDATA[Android studio统计代码行数插件–&gt;statistic
最近想查看Android studio项目的代码行数，查看了半天发现了一个比较不错的android studio插件：statistic；
]]></description><category></category></item><item><title><![CDATA[gradle笔记]]></title><link>https://blog.youkuaiyun.com/dd06s/article/details/122920242</link><guid>https://blog.youkuaiyun.com/dd06s/article/details/122920242</guid><author>dd06s</author><pubDate>Mon, 14 Feb 2022 11:00:17 +0800</pubDate><description><![CDATA[1.AndroidStudio Build窗口默认只显示Error级别的日志

想看其他级别的日志，执行命令时需要带上参数，如./gradlew --debug assembleDebug。

可以通过设置AndroidStudio更方便的修改打印的日志级别：下面是显示debug级别

File-&gt;Settings-&gt;Build,Execution,Deployment-&gt;Compiler  Command-line Options里添加 --debug

2.




...]]></description><category></category></item><item><title><![CDATA[异步回调转同步]]></title><link>https://blog.youkuaiyun.com/dd06s/article/details/116493670</link><guid>https://blog.youkuaiyun.com/dd06s/article/details/116493670</guid><author>dd06s</author><pubDate>Fri, 07 May 2021 15:03:56 +0800</pubDate><description><![CDATA[public InstallResult installPackageSync(String apkPath, InstallOptions options) {
    final ConditionVariable lock = new ConditionVariable();
    final InstallResult[] out = new InstallResult[1];
    installPackage(apkPath, options, new InstallCallback() .]]></description><category></category></item><item><title><![CDATA[程序员实用网站收藏]]></title><link>https://blog.youkuaiyun.com/dd06s/article/details/103257780</link><guid>https://blog.youkuaiyun.com/dd06s/article/details/103257780</guid><author>dd06s</author><pubDate>Tue, 26 Nov 2019 15:41:58 +0800</pubDate><description><![CDATA[https://blog.youkuaiyun.com/m0_38106923/article/details/100130354
]]></description><category></category></item></channel></rss>