<?xml version="1.0" encoding="utf-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><title>微小站</title><link>https://jsc0.com/</link><description>经典案例指南</description><item><title>编译器代码编码异常处理</title><link>https://jsc0.com/post/225.html</link><description>&lt;p&gt;在 &lt;code&gt;build.gradle&lt;/code&gt; 中指定编译编码：&lt;/p&gt;&lt;pre&gt;tasks.withType(JavaCompile)&amp;nbsp;{&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;options.encoding&amp;nbsp;=&amp;nbsp;&amp;quot;UTF-8&amp;quot;}&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;在 Android Studio 中&lt;/strong&gt;：通常不会出现乱码，如果出现，可以检查 IDE 的编码设置：&lt;code&gt;File → Settings → Editor → File Encodings&lt;/code&gt;，将 &lt;code&gt;Global Encoding&lt;/code&gt;、&lt;code&gt;Project Encoding&lt;/code&gt; 和 &lt;code&gt;Default encoding for properties files&lt;/code&gt; 都设为 &lt;code&gt;UTF-8&lt;/code&gt;&lt;/p&gt;</description><pubDate>Sat, 28 Feb 2026 10:33:19 +0800</pubDate></item><item><title>gradle task 卡死</title><link>https://jsc0.com/post/224.html</link><description>&lt;h3 style=&quot;font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-size-adjust: none; font-kerning: auto; font-optical-sizing: auto; font-feature-settings: normal; font-variation-settings: normal; font-variant-position: normal; font-variant-emoji: normal; font-stretch: normal; font-size: 20px; line-height: 30px; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; margin: 32px 0px 16px; color: rgb(15, 17, 21); text-wrap-mode: wrap; background-color: rgb(255, 255, 255);&quot;&gt;&lt;span style=&quot;font-weight: inherit;&quot;&gt;找出卡在哪个任务&lt;/span&gt;&lt;/h3&gt;&lt;div class=&quot;md-code-block md-code-block-light&quot; style=&quot;--ds-md-code-banner-background-color: #f9fafb; --ds-md-code-block-border-radius: 12px; --ds-md-code-block-font-size: calc(1.143*11px); color: rgb(15, 17, 21); background: none 0% 0% / auto repeat scroll padding-box border-box rgb(249, 250, 251); border-radius: 12px; margin: 16px 0px 11.43px; position: relative; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; text-wrap-mode: wrap;&quot;&gt;&lt;div class=&quot;md-code-block-banner-wrap&quot; style=&quot;z-index: 6; background-color: rgb(255, 255, 255); position: sticky; top: 0px;&quot;&gt;&lt;div class=&quot;md-code-block-banner md-code-block-banner-lite&quot; style=&quot;background: none 0% 0% / auto repeat scroll padding-box border-box rgb(249, 250, 251); padding: 0px; font-size: 12.573px; line-height: 12.573px; justify-content: space-between; display: flex; border-top-left-radius: 12px; border-top-right-radius: 12px;&quot;&gt;&lt;div class=&quot;_121d384&quot; style=&quot;justify-content: space-between; align-items: center; width: 740px; padding: 6px; display: flex;&quot;&gt;&lt;div class=&quot;d2a24f03&quot; style=&quot;flex-shrink: 0;&quot;&gt;&lt;span class=&quot;d813de27&quot; style=&quot;font-family: Menlo, Monaco, Consolas, &amp;quot;Cascadia Mono&amp;quot;, &amp;quot;Ubuntu Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;JetBrains Mono&amp;quot;, &amp;quot;Fira Code&amp;quot;, Cousine, &amp;quot;Roboto Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, Courier, sans-serif, system-ui; margin-left: 8px; font-size: 12px; line-height: 18px;&quot;&gt;bash&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;pre style=&quot;font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-size-adjust: none; font-kerning: auto; font-optical-sizing: auto; font-feature-settings: normal; font-variation-settings: normal; font-variant-position: normal; font-variant-emoji: normal; font-stretch: normal; font-size: 13px; line-height: 22px; font-family: Menlo, Monaco, Consolas, &amp;quot;Cascadia Mono&amp;quot;, &amp;quot;Ubuntu Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;JetBrains Mono&amp;quot;, &amp;quot;Fira Code&amp;quot;, Cousine, &amp;quot;Roboto Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, Courier, sans-serif, system-ui; overflow: auto; text-wrap-mode: wrap; word-break: break-all; padding: 16px; margin-top: 0px !important; margin-bottom: 0px !important;&quot;&gt;cd&amp;nbsp;android
./gradlew&amp;nbsp;assembleDebug&amp;nbsp;--info&amp;nbsp;--no-daemon&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;</description><pubDate>Thu, 16 Oct 2025 09:47:45 +0800</pubDate></item><item><title>Windows生命周期</title><link>https://jsc0.com/post/223.html</link><description>&lt;p&gt;&lt;img class=&quot;ue-image&quot; src=&quot;http://photo.jsc0.com/2025/10/202510149686_9398.jpg&quot;/&gt;&lt;/p&gt;</description><pubDate>Tue, 14 Oct 2025 09:33:44 +0800</pubDate></item><item><title>Android删除无用依赖快捷键</title><link>https://jsc0.com/post/222.html</link><description>&lt;p&gt;&lt;span style=&quot;text-wrap: nowrap;&quot;&gt;清除无效导包ctrl+alt+o&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;</description><pubDate>Tue, 10 Sep 2024 09:53:27 +0800</pubDate></item><item><title>遍历app所有依赖</title><link>https://jsc0.com/post/221.html</link><description>&lt;p style=&quot;margin-top: 0px; margin-bottom: 0px; padding: 3px 0px; outline: none; line-height: 30px; color: rgb(34, 34, 34); font-family: tahoma, arial, &amp;quot;Microsoft YaHei&amp;quot;; font-size: 16px; text-wrap: wrap; background-color: rgb(255, 255, 255);&quot;&gt;&lt;code style=&quot;margin: 0px 0.3em; padding: 0.2em 0.6em; outline: none; font-style: inherit; font-weight: inherit; background: rgb(235, 245, 253); width: 640px; line-height: 1.5; clear: both; font-size: 14px; border: 1px solid rgb(221, 221, 221); color: rgb(51, 51, 51); border-radius: 3px; font-family: Menlo, Monaco, Consolas, &amp;quot;Courier New&amp;quot;, monospace;&quot;&gt;./gradlew :app:dependencies&lt;/code&gt;&lt;/p&gt;</description><pubDate>Mon, 22 Jul 2024 15:27:55 +0800</pubDate></item><item><title>AndroidStudio不提示报错信息</title><link>https://jsc0.com/post/220.html</link><description>&lt;p&gt;1.关闭省电模式 ：File---&amp;gt;将Power Save Mode&lt;/p&gt;&lt;p&gt;2.安装了Butter&amp;nbsp;Knife的插件，打开File---&amp;gt;Setting---&amp;gt;Plugins---&amp;gt;找到ButterKnife---&amp;gt;鼠标右键-Uninstall Delete 把它卸载重启&lt;/p&gt;&lt;p&gt;3.&lt;/p&gt;&lt;p&gt;&lt;img class=&quot;ue-image&quot; src=&quot;http://photo.jsc0.com/2023/08/202308191654_5211.png&quot; title=&quot;1.png&quot; alt=&quot;1.png&quot; width=&quot;790&quot; height=&quot;546&quot; border=&quot;0&quot; vspace=&quot;0&quot; style=&quot;width: 790px; height: 546px;&quot;/&gt;&lt;/p&gt;</description><pubDate>Sat, 19 Aug 2023 16:49:42 +0800</pubDate></item><item><title>Android 获取储存位置</title><link>https://jsc0.com/post/219.html</link><description>&lt;p&gt;&lt;span style=&quot;color: #374151; font-family: &amp;quot;Microsoft Yahei&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif; font-size: 16px; background-color: #FFFFFF;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-top: 0px; margin-bottom: 15px; color: rgb(55, 65, 81); font-family: &amp;quot;Microsoft Yahei&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif; font-size: 16px; white-space: normal; background-color: rgb(255, 255, 255);&quot;&gt;Environment 常用方法：&lt;span data-xtsnemmzov=&quot;show&quot; style=&quot;box-sizing: border-box; width: 1px; height: 1px; overflow: hidden; display: inline-block !important;&quot;&gt;文章来源地址https://www.yii666.com/article/632379.html&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-top: 0px; margin-bottom: 15px; color: rgb(55, 65, 81); font-family: &amp;quot;Microsoft Yahei&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif; font-size: 16px; white-space: normal; background-color: rgb(255, 255, 255);&quot;&gt;* 方法：getDataDirectory()&lt;br style=&quot;box-sizing: border-box;&quot;/&gt;解释：返回 File ，获取 Android 数据目录。&lt;br style=&quot;box-sizing: border-box;&quot;/&gt;* 方法：getDownloadCacheDirectory()&lt;br style=&quot;box-sizing: border-box;&quot;/&gt;解释：返回 File ，获取 Android 下载/缓存内容目录。&lt;br style=&quot;box-sizing: border-box;&quot;/&gt;* 方法：getExternalStorageDirectory()&lt;br style=&quot;box-sizing: border-box;&quot;/&gt;解释：返回 File ，获取外部存储目录即 SDCard&lt;br style=&quot;box-sizing: border-box;&quot;/&gt;* 方法：getExternalStoragePublicDirectory(String type)&lt;br style=&quot;box-sizing: border-box;&quot;/&gt;解释：返回 File ，取一个高端的公用的外部存储器目录来摆放某些类型的文件&lt;br style=&quot;box-sizing: border-box;&quot;/&gt;* 方法：getExternalStorageState()&lt;br style=&quot;box-sizing: border-box;&quot;/&gt;解释：返回 File ，获取外部存储设备的当前状态&lt;br style=&quot;box-sizing: border-box;&quot;/&gt;* 方法：getRootDirectory()&lt;br style=&quot;box-sizing: border-box;&quot;/&gt;解释：返回 File ，获取 Android 的根目录&lt;span style=&quot;box-sizing: border-box; display: inline-block; width: 1px; height: 1px; overflow: hidden;&quot;&gt;地址:https://www.yii666.com/article/632379.html&lt;/span&gt;&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-java&quot;&gt;public&amp;nbsp;void&amp;nbsp;getSDPath(){&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;File&amp;nbsp;sdDir&amp;nbsp;=&amp;nbsp;null;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;File&amp;nbsp;sdDir1&amp;nbsp;=&amp;nbsp;null;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;File&amp;nbsp;sdDir2&amp;nbsp;=&amp;nbsp;null;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;boolean&amp;nbsp;sdCardExist&amp;nbsp;=&amp;nbsp;Environment.getExternalStorageState()&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.equals(android.os.Environment.MEDIA_MOUNTED);&amp;nbsp;//判断sd卡是否存在&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(sdCardExist)&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sdDir&amp;nbsp;=&amp;nbsp;Environment.getExternalStorageDirectory();//获取跟目录&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sdDir1&amp;nbsp;=&amp;nbsp;Environment.getDataDirectory();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sdDir2&amp;nbsp;=Environment.getRootDirectory();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.out.println(&amp;quot;getExternalStorageDirectory():&amp;nbsp;&amp;quot;+sdDir.toString());&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.out.println(&amp;quot;getDataDirectory():&amp;nbsp;&amp;quot;+sdDir1.toString());&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.out.println(&amp;quot;getRootDirectory():&amp;nbsp;&amp;quot;+sdDir2.toString());&amp;nbsp;
}

//判断一个路径下的文件（文件夹）是否存在
public&amp;nbsp;class&amp;nbsp;IsExist&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;static&amp;nbsp;void&amp;nbsp;main(String[]&amp;nbsp;args)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;isExist(&amp;quot;e://12&amp;quot;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/**
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;@param&amp;nbsp;path&amp;nbsp;文件夹路径
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*/
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;static&amp;nbsp;void&amp;nbsp;isExist(String&amp;nbsp;path)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;File&amp;nbsp;file&amp;nbsp;=&amp;nbsp;new&amp;nbsp;File(path);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//判断文件夹是否存在,如果不存在则创建文件夹
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(!file.exists())&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;file.mkdir();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
}

//在SD卡上创建一个文件夹
public&amp;nbsp;class&amp;nbsp;make&amp;nbsp;extends&amp;nbsp;Activity&amp;nbsp;{&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/**&amp;nbsp;Called&amp;nbsp;when&amp;nbsp;the&amp;nbsp;activity&amp;nbsp;is&amp;nbsp;first&amp;nbsp;created.&amp;nbsp;*/&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@Override&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;void&amp;nbsp;onCreate(Bundle&amp;nbsp;savedInstanceState)&amp;nbsp;{&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;super.onCreate(savedInstanceState);&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;setContentView(R.layout.main);&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;File&amp;nbsp;sd=Environment.getExternalStorageDirectory();&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;String&amp;nbsp;path=sd.getPath()+&amp;quot;/notes&amp;quot;;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;File&amp;nbsp;file=new&amp;nbsp;File(path);&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if(!file.exists())&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;file.mkdir();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
}&lt;/pre&gt;&lt;p style=&quot;box-sizing: border-box; margin-top: 0px; margin-bottom: 15px; color: rgb(55, 65, 81); font-family: &amp;quot;Microsoft Yahei&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif; font-size: 16px; white-space: normal; background-color: rgb(255, 255, 255);&quot;&gt;&lt;br/&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; margin-top: 0px; margin-bottom: 15px; color: rgb(55, 65, 81); font-family: &amp;quot;Microsoft Yahei&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif; font-size: 16px; white-space: normal; background-color: rgb(255, 255, 255);&quot;&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;box-sizing: border-box; color: #374151; font-family: &amp;quot;Microsoft Yahei&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif; font-size: 16px; background-color: #FFFFFF; display: inline-block; width: 1px; height: 1px; overflow: hidden;&quot;&gt;&lt;/span&gt;&lt;br/&gt;&lt;/p&gt;</description><pubDate>Thu, 13 Jul 2023 11:42:32 +0800</pubDate></item><item><title>Android fragment嵌套viewpager兼容问题</title><link>https://jsc0.com/post/218.html</link><description>&lt;p&gt;viewpager内容会在fragment切换后隐藏，解决方法&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-java&quot;&gt;//fragmentmanager&amp;nbsp;不要用getSurrpotFragmentmanager&amp;nbsp;用getChildFragmentManager
baseFragmentAdapter&amp;nbsp;=&amp;nbsp;new&amp;nbsp;BaseFragmentAdapter(getChildFragmentManager(),&amp;nbsp;fragmentList);&lt;/pre&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;</description><pubDate>Thu, 11 May 2023 10:25:42 +0800</pubDate></item><item><title>遍历所有依赖包</title><link>https://jsc0.com/post/217.html</link><description>&lt;p&gt;&lt;span style=&quot;color: #2D85CA; font-family: Consolas, &amp;quot;Liberation Mono&amp;quot;, Menlo, Courier, monospace; white-space: pre-wrap; background-color: #F8F8F8;&quot;&gt;gradlew -q dependencies app:dependencies&lt;/span&gt;&lt;/p&gt;</description><pubDate>Sat, 18 Mar 2023 10:21:32 +0800</pubDate></item><item><title>Android屏幕适配通栏</title><link>https://jsc0.com/post/216.html</link><description>&lt;p&gt;fitsSystemWindows&lt;/p&gt;</description><pubDate>Fri, 17 Feb 2023 10:11:19 +0800</pubDate></item></channel></rss>