<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>一桐のBlog</title><description>Bottoms up!</description><link>https://blog.ytmc.fun/</link><language>zh_CN</language><item><title>我正在订阅的服务</title><link>https://blog.ytmc.fun/posts/%E8%AE%A2%E9%98%85/</link><guid isPermaLink="true">https://blog.ytmc.fun/posts/%E8%AE%A2%E9%98%85/</guid><description>这个post是我正在订阅的服务记录表</description><pubDate>Mon, 20 Jan 2025 00:00:00 GMT</pubDate><content:encoded>&lt;h1&gt;订阅&lt;/h1&gt;
&lt;p&gt;&amp;lt;table&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td bgcolor=33FF99&amp;gt;生活不止眼前的苟且&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;lt;table&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td bgcolor=orange&amp;gt;还有诗和远方&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;📊服务&lt;/th&gt;
&lt;th&gt;📌tag&lt;/th&gt;
&lt;th&gt;🗓️月付&lt;/th&gt;
&lt;th&gt;🤖自动续费?&lt;/th&gt;
&lt;th&gt;💰月费&lt;/th&gt;
&lt;th&gt;💰年费&lt;/th&gt;
&lt;th&gt;📝备注&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&amp;lt;img src=&quot;https://s2.loli.net/2024/10/31/47whzYMKcOHsQnp.jpg&quot; alt=&quot;img&quot; style=&quot;zoom:15%;; border-radius: 30px;&quot; /&amp;gt; 中国电信手机套餐&lt;/td&gt;
&lt;td&gt;📶&lt;code&gt;通讯&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;99&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&amp;lt;img src=&quot;https://s2.loli.net/2024/10/31/9fy8m2ZUGDshPa1.jpg&quot; alt=&quot;img&quot; style=&quot;zoom:15%; border-radius: 30px;&quot;&amp;gt; 中国移动手机套餐&lt;/td&gt;
&lt;td&gt;📶&lt;code&gt;通讯&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;td&gt;免费卡&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&amp;lt;img src=&quot;https://s2.loli.net/2024/10/31/LG1jCdHYJwA69hy.jpg&quot; alt=&quot;img&quot; style=&quot;zoom:15%;; border-radius: 30px;&quot; /&amp;gt; Spotify Premium&lt;/td&gt;
&lt;td&gt;🎡&lt;code&gt;娱乐&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;30&lt;/td&gt;
&lt;td&gt;到期日：2025.7.10&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&amp;lt;img src=&quot;https://s2.loli.net/2024/10/31/YV68tZh5vQLwTik.png&quot; alt=&quot;img&quot; style=&quot;zoom:80%;border-radius: 30px;&quot; /&amp;gt;ChatGPT Plus&lt;/td&gt;
&lt;td&gt;💿&lt;code&gt;软件&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;40&lt;/td&gt;
&lt;td&gt;480&lt;/td&gt;
&lt;td&gt;3人车&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&amp;lt;img src=&quot;https://s2.loli.net/2024/10/31/765GgaEPsOSfvQZ.png&quot; alt=&quot;img&quot; style=&quot;zoom: 67%;&quot; /&amp;gt; Bilibili&lt;/td&gt;
&lt;td&gt;🎡&lt;code&gt;娱乐&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;td&gt;移动卡赠送&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&amp;lt;img src=&quot;https://s2.loli.net/2024/10/31/SkZYKwovlihIH9M.png&quot; alt=&quot;全球 Web 图标&quot; style=&quot;zoom:80%;&quot; /&amp;gt; 网易云音乐&lt;/td&gt;
&lt;td&gt;🎡&lt;code&gt;娱乐&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;td&gt;音乐人赠送&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;月花费&lt;/strong&gt;：&amp;lt;kbd&amp;gt;666&amp;lt;/kbd&amp;gt;  &lt;strong&gt;元&lt;/strong&gt;			&lt;strong&gt;年花费&lt;/strong&gt;：&amp;lt;kbd&amp;gt;666&amp;lt;/kbd&amp;gt;  &lt;strong&gt;元&lt;/strong&gt;&lt;/p&gt;
</content:encoded></item><item><title>针对Root后的Pixel手机，使用Google VPN的教程</title><link>https://blog.ytmc.fun/posts/%E9%92%88%E5%AF%B9root%E5%90%8E%E7%9A%84pixel%E6%89%8B%E6%9C%BA%E4%BD%BF%E7%94%A8google-vpn%E7%9A%84%E6%95%99%E7%A8%8B/</link><guid isPermaLink="true">https://blog.ytmc.fun/posts/%E9%92%88%E5%AF%B9root%E5%90%8E%E7%9A%84pixel%E6%89%8B%E6%9C%BA%E4%BD%BF%E7%94%A8google-vpn%E7%9A%84%E6%95%99%E7%A8%8B/</guid><description>这篇文章是一份详细的教程，介绍了如何在已经 Root 的 Pixel 手机上使用 Google VPN。</description><pubDate>Tue, 03 Sep 2024 00:00:00 GMT</pubDate><content:encoded>&lt;h2&gt;Pixel VPN 简介&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Pixel VPN&lt;/strong&gt; 是 Google 为 Pixel 7 及更新型号的 Pixel 手机用户提供的内置 VPN 服务。这项服务无需额外付费，可以在支持 VPN 的国家/地区使用。&lt;/p&gt;
&lt;h2&gt;什么情况下用不了Pixel VPN&lt;/h2&gt;
&lt;p&gt;Google官网已经给出了解释&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://s2.loli.net/2024/09/02/cbsQE5u9M1wxAB7.png&quot; alt=&quot;QQ_1725268458914&quot; /&gt;&lt;/p&gt;
&lt;h2&gt;怎样在已Root的设备上使用Pixel VPN呢？&lt;/h2&gt;
&lt;p&gt;由于Play Integrity 会检测设备的系统是否被修改过，比如是否被 Root。Root 操作会破坏系统的完整性，从而影响 Pixel VPN 的正常运行。&lt;/p&gt;
&lt;p&gt;我们可以使用&lt;strong&gt;YASNAC&lt;/strong&gt;软件(Play商店可下载)进行查看&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://s2.loli.net/2024/09/02/ugjTfMRX9qx4dZC.png&quot; alt=&quot;QQ_1725268728161&quot; /&gt;&lt;/p&gt;
&lt;p&gt;如果你事先刷入了&lt;strong&gt;PlayIntegrityFix&lt;/strong&gt;（文末提供）模块，那么评估类型应该是基本，虽然通过了Google认证，但还是没法使用Pixel VPN。&lt;/p&gt;
&lt;p&gt;这时我们只需刷入&lt;strong&gt;TrickyStore&lt;/strong&gt;（文末提供）模块，就可以伪装评估类型为硬件支持，而且可以隐藏BL解锁的状态&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://s2.loli.net/2024/09/02/BKhVbE1OUiAGZwv.png&quot; alt=&quot;QQ_1725269072688&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://s2.loli.net/2024/09/02/WpfoyGMXqEhL7Cu.png&quot; alt=&quot;QQ_1725269126751&quot; /&gt;&lt;/p&gt;
&lt;p&gt;这时，我们再尝试连接。&lt;/p&gt;
&lt;h2&gt;如何连接Pixel VPN&lt;/h2&gt;
&lt;p&gt;首先挂前置代理（如果你有软路由和境外esim卡当我没说）。&lt;/p&gt;
&lt;p&gt;这里我们使用的是Singbox，选择一个Pixel VPN支持地区的节点&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://s2.loli.net/2024/09/02/tbKPiMofUIA2NRz.png&quot; alt=&quot;QQ_1725269478593&quot; /&gt;&lt;/p&gt;
&lt;p&gt;这里我使用日本的，点击连接之后，迅速打开Pixel VPN的开关并连接，查看任务栏🔑图标是否消失，若消失，立即重新打开Singbox开关，然后立即返回Pixel VPN界面，此时我们可以看到已连接&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://s2.loli.net/2024/09/03/CkUiEvoqXGHcQzf.png&quot; alt=&quot;QQ_1725325435471&quot; /&gt;&lt;/p&gt;
&lt;p&gt;然后我们返回点击⚙&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://s2.loli.net/2024/09/03/oUEe2NxzYmFMHiy.png&quot; alt=&quot;QQ_1725325861799&quot; /&gt;&lt;/p&gt;
&lt;p&gt;打开这个开关，这样我们就算手机重启，VPN也能自动连上了&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://s2.loli.net/2024/09/03/WvB65tgJI7PCsKV.png&quot; alt=&quot;QQ_1725325896500&quot; /&gt;&lt;/p&gt;
&lt;p&gt;打开ip.sb查看ip落地，此时我们的ip在日本&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://s2.loli.net/2024/09/03/zIiPFZ6uR5hL74N.png&quot; alt=&quot;QQ_1725325557824&quot; /&gt;&lt;/p&gt;
&lt;h2&gt;网速测试&lt;/h2&gt;
&lt;p&gt;我这里使用的是电信流量，速度实测可以跑满&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://s2.loli.net/2024/09/03/TvdCWkgpHRF69I1.png&quot; alt=&quot;image-20240903091034523&quot; /&gt;
文中使用的模块：
https://github.com/chiteroman/PlayIntegrityFix/releases/tag/v17.3&lt;/p&gt;
&lt;p&gt;https://github.com/5ec1cff/TrickyStore/releases/tag/1.1.3&lt;/p&gt;
&lt;p&gt;https://ayitong-my.sharepoint.com/:u:/g/personal/yitong_ayitong_onmicrosoft_com/EQ-eTDwzI5ROkdQXu7E_QSYBDDu--pPzAR-KHNU3_mXRZg?e=s0kO7N&lt;/p&gt;
&lt;p&gt;查看链接&lt;/p&gt;
</content:encoded></item><item><title>Pixel手机圈定即搜(circle to search)失效的解决方法</title><link>https://blog.ytmc.fun/posts/pixel%E6%89%8B%E6%9C%BA%E5%9C%88%E5%AE%9A%E5%8D%B3%E6%90%9Ccircle-to-search%E5%A4%B1%E6%95%88%E7%9A%84%E8%A7%A3%E5%86%B3%E6%96%B9%E6%B3%95/</link><guid isPermaLink="true">https://blog.ytmc.fun/posts/pixel%E6%89%8B%E6%9C%BA%E5%9C%88%E5%AE%9A%E5%8D%B3%E6%90%9Ccircle-to-search%E5%A4%B1%E6%95%88%E7%9A%84%E8%A7%A3%E5%86%B3%E6%96%B9%E6%B3%95/</guid><description>最近博主购买了一部Google Pixel8，在root后失去了特色功能circle to search，几经周折，终于恢复了应有的功能，特记录折腾的方法，希望能帮到各位！</description><pubDate>Thu, 22 Feb 2024 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Circle to Search 是 Google 推出的一项新功能，允许用户在 Android 手机上通过简单的手势快速搜索信息、产品和特定主题。&lt;/p&gt;
&lt;p&gt;部分pixel用户（比如我）root后，圈定即搜(circle to search)功能失效，相关设置消失，以下是UP找到的解决方法。
方法一：
1.确保Google是您的默认数字助手
2.去play商店卸载Google的更新
&lt;img src=&quot;https://s2.loli.net/2024/02/22/9l2RFHV8smzuyGP.png&quot; alt=&quot;image.png&quot; /&gt;
3.安装最新版本的Google，随后圈定即搜的设置应该就会重新出现
&lt;img src=&quot;https://s2.loli.net/2024/02/22/OPfuzEesDLFg9wJ.png&quot; alt=&quot;image.png&quot; /&gt;
4.打开设置-系统-导航模式-手势导航-点击右边的齿轮-打开 按住手柄即可搜索的开关&lt;/p&gt;
&lt;p&gt;然后就可以使用了&lt;/p&gt;
&lt;p&gt;方法二：
手机连接电脑并打开usb调试&lt;/p&gt;
&lt;p&gt;使用adb执行以下命令&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;adb shell cmd device_config put launcher long_press_home_button_to_search true
adb shell cmd device_config put launcher long_press_home_button_to_search_mpr true
adb shell cmd device_config put launcher press_hold_nav_handle_to_search true
adb shell cmd device_config put launcher press_hold_nav_handle_to_search_mpr true
adb shell cmd device_config put launcher ENABLE_SETTINGS_OSE_CUSTOMIZATIONS true
adb shell cmd device_config put launcher ENABLE_LONG_PRESS_NAV_HANDLE true
adb shell cmd device_config put launcher ENABLE_LONG_PRESS_NAV_HANDLE_MPR true
adb shell cmd device_config put launcher INVOKE_OMNI_LPH true
adb shell cmd device_config put launcher INVOKE_OMNI_LPH_MPR true
adb shell cmd device_config set_sync_disabled_for_tests persistent
&lt;/code&gt;&lt;/pre&gt;
</content:encoded></item><item><title>Android学习笔记——Intent的基本使用</title><link>https://blog.ytmc.fun/posts/android%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0intent%E7%9A%84%E5%9F%BA%E6%9C%AC%E4%BD%BF%E7%94%A8/</link><guid isPermaLink="true">https://blog.ytmc.fun/posts/android%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0intent%E7%9A%84%E5%9F%BA%E6%9C%AC%E4%BD%BF%E7%94%A8/</guid><description>这篇文章是博主在学习Android组件Intent的记录</description><pubDate>Tue, 28 Nov 2023 00:00:00 GMT</pubDate><content:encoded>&lt;h2&gt;1.了解Intent的使用&lt;/h2&gt;
&lt;h3&gt;1-1.查阅资料，理解什么是Intent?&lt;/h3&gt;
&lt;p&gt;在Android编程中，&lt;code&gt;Intent&lt;/code&gt;（意图）是一种在组件之间传递消息的对象，用于请求操作或传递数据。Intent主要用于启动组件（如Activity、Service、BroadcastReceiver）之间的交互。
 &lt;/p&gt;
&lt;h3&gt;1-2.Intent的分类并详细描述不同分类的特点。&lt;/h3&gt;
&lt;h4&gt;显式Intent（Explicit Intent）：&lt;/h4&gt;
&lt;p&gt;明确定义了要启动的组件的类名。这种Intent主要用于在应用内部的组件之间进行通信。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;Intent explicitIntent = new Intent(this, TargetActivity.class);
startActivity(explicitIntent);
&lt;/code&gt;&lt;/pre&gt;
&lt;h4&gt;隐式Intent（Implicit Intent）：&lt;/h4&gt;
&lt;p&gt;没有明确定义要启动的组件，而是指定了操作，系统根据这个操作找到合适的组件。这种Intent主要用于在不同应用之间进行通信。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;Intent implicitIntent = new Intent(&quot;com.example.ACTION&quot;);
startActivity(implicitIntent);
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt; &lt;/p&gt;
&lt;h3&gt;Intent的属性及属性实现的功能&lt;/h3&gt;
&lt;h4&gt;Action（动作）：&lt;/h4&gt;
&lt;p&gt;描述要执行的操作，如ACTION_VIEW、ACTION_EDIT等。&lt;/p&gt;
&lt;h4&gt;Data（数据）：&lt;/h4&gt;
&lt;p&gt;指定操作的数据，可以是URI、MIME类型等。&lt;/p&gt;
&lt;h4&gt;Category（类别）：&lt;/h4&gt;
&lt;p&gt;指定与组件关联的附加信息，如CATEGORY_LAUNCHER等。&lt;/p&gt;
&lt;h4&gt;Type（类型）：&lt;/h4&gt;
&lt;p&gt;指定数据的类型，通常与数据一起使用。
 &lt;/p&gt;
&lt;h3&gt;1-4.页面跳转中数据传递属于哪一个属性?&lt;/h3&gt;
&lt;p&gt;数据传递通常是通过Intent的附加信息来实现的，主要使用&lt;code&gt;putExtra&lt;/code&gt;方法。这属于Intent的&lt;code&gt;Extra（额外信息）&lt;/code&gt; 属性。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;Intent intent = new Intent(this, TargetActivity.class);
intent.putExtra(&quot;key&quot;, &quot;value&quot;);
startActivity(intent);
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;em&gt;在目标Activity中可以通过以下方式获取传递的数据：&lt;/em&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;String data = getIntent().getStringExtra(&quot;key&quot;);
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt; &lt;/p&gt;
&lt;h2&gt;2.搭建“饭店点餐”场景的Android界面&lt;/h2&gt;
&lt;h3&gt;2-1.完成界面搭建&lt;/h3&gt;
&lt;p&gt;自行选择场景进行3个Android页面设计和3个类的设计与搭建。&lt;/p&gt;
&lt;h3&gt;2-2.实现第一第二页的功能&lt;/h3&gt;
&lt;p&gt;第一个页面要实现数据的输入、单项或多项的选择及按钮的跳转与数据的传递（传递给第二个页面）。&lt;/p&gt;
&lt;h4&gt;layout_intentdemo1.xml&lt;/h4&gt;
&lt;pre&gt;&lt;code&gt;&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&amp;gt;
&amp;lt;LinearLayout xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;
    android:layout_width=&quot;match_parent&quot;
    android:layout_height=&quot;match_parent&quot;
    android:orientation=&quot;vertical&quot;
    &amp;gt;
    &amp;lt;androidx.appcompat.widget.LinearLayoutCompat
        android:layout_width=&quot;match_parent&quot;
        android:layout_height=&quot;wrap_content&quot;
        android:orientation=&quot;vertical&quot;&amp;gt;
        &amp;lt;TextView
            android:layout_width=&quot;match_parent&quot;
            android:layout_height=&quot;wrap_content&quot;
            android:text=&quot;请选择菜品：&quot;
            android:textSize=&quot;30sp&quot;
            android:gravity=&quot;center_horizontal&quot;
            android:layout_margin=&quot;15dp&quot;
            /&amp;gt;
        &amp;lt;CheckBox
            android:id=&quot;@+id/cb_intent_food1&quot;
            android:layout_width=&quot;wrap_content&quot;
            android:layout_height=&quot;wrap_content&quot;
            android:text=&quot;炸猪排拉面 (Katsu Ramen)&quot;
            android:drawableLeft=&quot;@drawable/noodle1&quot;
            android:layout_marginHorizontal=&quot;20dp&quot;
            android:textSize=&quot;20sp&quot;
            /&amp;gt;

        &amp;lt;CheckBox
            android:id=&quot;@+id/cb_intent_food2&quot;
            android:layout_width=&quot;wrap_content&quot;
            android:layout_height=&quot;wrap_content&quot;
            android:text=&quot;牛肉荞麦面 (Beef Soba)&quot;
            android:drawableLeft=&quot;@drawable/noodle2&quot;
            android:layout_marginHorizontal=&quot;20dp&quot;
            android:textSize=&quot;20sp&quot;
            /&amp;gt;

        &amp;lt;CheckBox
            android:id=&quot;@+id/cb_intent_food3&quot;
            android:layout_width=&quot;wrap_content&quot;
            android:layout_height=&quot;wrap_content&quot;
            android:text=&quot;天妇罗乌冬 (Tempura Udon)&quot;
            android:drawableLeft=&quot;@drawable/noodle3&quot;
            android:layout_marginHorizontal=&quot;20dp&quot;
            android:textSize=&quot;20sp&quot;/&amp;gt;
    &amp;lt;/androidx.appcompat.widget.LinearLayoutCompat&amp;gt;
    &amp;lt;androidx.appcompat.widget.LinearLayoutCompat
        android:layout_width=&quot;match_parent&quot;
        android:layout_height=&quot;wrap_content&quot;
        android:orientation=&quot;vertical&quot;&amp;gt;
    &amp;lt;TextView
        android:layout_width=&quot;match_parent&quot;
        android:layout_height=&quot;wrap_content&quot;
        android:text=&quot;请选择餐具份数：&quot;
        android:textSize=&quot;30sp&quot;
        android:gravity=&quot;center_horizontal&quot;
        android:layout_margin=&quot;15dp&quot;
        /&amp;gt;
        &amp;lt;RadioGroup
            android:id=&quot;@+id/rg_intent_dash&quot;
            android:layout_width=&quot;wrap_content&quot;
            android:layout_height=&quot;wrap_content&quot;
            android:orientation=&quot;horizontal&quot;
            android:layout_gravity=&quot;center_horizontal&quot;&amp;gt;

            &amp;lt;RadioButton
                android:id=&quot;@+id/radioButton1&quot;
                android:layout_width=&quot;wrap_content&quot;
                android:layout_height=&quot;wrap_content&quot;
                android:text=&quot;1份&quot;
                android:layout_marginHorizontal=&quot;20dp&quot;/&amp;gt;

            &amp;lt;RadioButton
                android:id=&quot;@+id/radioButton2&quot;
                android:layout_width=&quot;wrap_content&quot;
                android:layout_height=&quot;wrap_content&quot;
                android:text=&quot;2份&quot;
                android:layout_marginHorizontal=&quot;20dp&quot;/&amp;gt;

            &amp;lt;RadioButton
                android:id=&quot;@+id/radioButton3&quot;
                android:layout_width=&quot;wrap_content&quot;
                android:layout_height=&quot;wrap_content&quot;
                android:text=&quot;3份&quot;
                android:layout_marginHorizontal=&quot;20dp&quot;/&amp;gt;
        &amp;lt;/RadioGroup&amp;gt;
        &amp;lt;TextView
            android:layout_width=&quot;match_parent&quot;
            android:layout_height=&quot;wrap_content&quot;
            android:text=&quot;备注：&quot;
            android:textSize=&quot;30sp&quot;
            android:gravity=&quot;center_horizontal&quot;
            android:layout_margin=&quot;15dp&quot;
            /&amp;gt;
        &amp;lt;EditText
            android:id=&quot;@+id/et_intent_bz&quot;
            android:layout_width=&quot;match_parent&quot;
            android:layout_height=&quot;wrap_content&quot;
            android:text=&quot;&quot;
            /&amp;gt;
        &amp;lt;Button
            android:id=&quot;@+id/btn_intent_confirm&quot;
            android:layout_width=&quot;match_parent&quot;
            android:layout_height=&quot;wrap_content&quot;
            android:text=&quot;点餐&quot;
            android:textSize=&quot;20sp&quot;
            /&amp;gt;
    &amp;lt;/androidx.appcompat.widget.LinearLayoutCompat&amp;gt;
&amp;lt;/LinearLayout&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt; &lt;/p&gt;
&lt;h4&gt;IntentDemo1Activity.java&lt;/h4&gt;
&lt;pre&gt;&lt;code&gt;package com.yt.class3;

import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.RadioButton;
import android.widget.RadioGroup;

import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;

import java.util.ArrayList;
import java.util.List;

public class IntentDemo1Activity extends AppCompatActivity {
    private RadioGroup radioGroup;
    private CheckBox cbFood1, cbFood2, cbFood3;
    private EditText editTextNote;
    private Button buttonConfirm;
    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.layout_intentdemo1);
        radioGroup = findViewById(R.id.rg_intent_dash);
        cbFood1 = findViewById(R.id.cb_intent_food1);
        cbFood2 = findViewById(R.id.cb_intent_food2);
        cbFood3 = findViewById(R.id.cb_intent_food3);
        editTextNote = findViewById(R.id.et_intent_bz);
        buttonConfirm = findViewById(R.id.btn_intent_confirm);
        buttonConfirm.setOnClickListener(new View.OnClickListener() {
                @Override
            public void onClick(View view) {
                int dash = radioGroup.getCheckedRadioButtonId();
                RadioButton selectDash =findViewById(dash);
                String dashNumber = selectDash.getText().toString();
                List&amp;lt;String&amp;gt; selectFood = new ArrayList&amp;lt;&amp;gt;();
                if (cbFood1.isChecked()){
                    selectFood.add(cbFood1.getText().toString());
                }
                if (cbFood2.isChecked()){
                    selectFood.add(cbFood2.getText().toString());
                }
                if (cbFood3.isChecked()){
                    selectFood.add(cbFood3.getText().toString());
                }
                String note = editTextNote.getText().toString();
                Intent intent = new Intent(IntentDemo1Activity.this, IntentDemo2Activity.class);
                // 传递选择的餐具份数、选择的菜品和备注信息
                intent.putExtra(&quot;dashNumber&quot;, dashNumber);
                intent.putStringArrayListExtra(&quot;foods&quot;, new ArrayList&amp;lt;&amp;gt;(selectFood));
                intent.putExtra(&quot;note&quot;, note);
                startActivity(intent);
            }
        });
    }
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;img src=&quot;https://s2.loli.net/2023/11/28/BnX7doD2QI9Kfkp.png&quot; alt=&quot;image.png&quot; /&gt;
 &lt;/p&gt;
&lt;h4&gt;layout_intentdemo2.xml&lt;/h4&gt;
&lt;pre&gt;&lt;code&gt;&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&amp;gt;
&amp;lt;LinearLayout xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;
    android:layout_width=&quot;match_parent&quot;
    android:layout_height=&quot;match_parent&quot;
    android:orientation=&quot;vertical&quot;&amp;gt;
    &amp;lt;LinearLayout
        android:layout_width=&quot;match_parent&quot;
        android:layout_height=&quot;wrap_content&quot;
        android:orientation=&quot;vertical&quot;&amp;gt;
        &amp;lt;TextView
            android:layout_width=&quot;match_parent&quot;
            android:layout_height=&quot;wrap_content&quot;
            android:text=&quot;订单信息：&quot;
            android:textSize=&quot;20dp&quot;
            /&amp;gt;
        &amp;lt;TextView
            android:id=&quot;@+id/tv_intent2_order&quot;
            android:layout_width=&quot;match_parent&quot;
            android:layout_height=&quot;wrap_content&quot;
            /&amp;gt;
    &amp;lt;/LinearLayout&amp;gt;
    &amp;lt;LinearLayout
        android:layout_width=&quot;match_parent&quot;
        android:layout_height=&quot;wrap_content&quot;
        android:orientation=&quot;horizontal&quot;
        android:gravity=&quot;center_horizontal&quot;&amp;gt;
        &amp;lt;Button
            android:id=&quot;@+id/btn_intent2_call&quot;
            android:layout_width=&quot;wrap_content&quot;
            android:layout_height=&quot;wrap_content&quot;
            android:drawableLeft=&quot;@drawable/ic_phone&quot;
            android:text=&quot;联系商家&quot;
            android:layout_margin=&quot;20dp&quot;
            /&amp;gt;
        &amp;lt;Button
            android:id=&quot;@+id/btn_intent2_mess&quot;
            android:layout_width=&quot;wrap_content&quot;
            android:layout_height=&quot;wrap_content&quot;
            android:drawableLeft=&quot;@drawable/ic_message&quot;
            android:text=&quot;联系客服&quot;
            android:layout_margin=&quot;20dp&quot;
            /&amp;gt;
    &amp;lt;/LinearLayout&amp;gt;
    &amp;lt;Button
        android:id=&quot;@+id/btn_intent2_next&quot;
        android:layout_width=&quot;wrap_content&quot;
        android:layout_height=&quot;wrap_content&quot;
        android:text=&quot;下一页&quot;
        android:layout_margin=&quot;10dp&quot;
        android:layout_gravity=&quot;center_horizontal&quot;/&amp;gt;
&amp;lt;/LinearLayout&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;h4&gt;IntentDemo2Activity.java&lt;/h4&gt;
&lt;pre&gt;&lt;code&gt;package com.yt.class3;

import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;

import java.util.ArrayList;

public class IntentDemo2Activity extends AppCompatActivity {
    TextView tvOrder;
    Button btnCall,btnMess,btnNext;
    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.layout_intentdemo2);
        tvOrder = findViewById(R.id.tv_intent2_order);
        btnCall = findViewById(R.id.btn_intent2_call);
        btnMess = findViewById(R.id.btn_intent2_mess);
        btnNext = findViewById(R.id.btn_intent2_next);
        btnNext.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Intent nextPage = new Intent(IntentDemo2Activity.this, IntentDemo3Activity.class);
                startActivity(nextPage);
            }
        });
        btnCall.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Uri uri = Uri.parse(&quot;tel:10086&quot;);
                Intent intent = new Intent(Intent.ACTION_VIEW,uri);
                startActivity(intent);
            }
        });
        btnMess.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Uri uri = Uri.parse(&quot;smsto:10086&quot;);
                Intent intent = new Intent(Intent.ACTION_VIEW,uri);
                startActivity(intent);
            }
        });
        // 获取从第一个页面传递的数据
        Intent intent = getIntent();
        String dashNumber = intent.getStringExtra(&quot;dashNumber&quot;);
        ArrayList&amp;lt;String&amp;gt; foods = intent.getStringArrayListExtra(&quot;foods&quot;);
        String note = intent.getStringExtra(&quot;note&quot;);

        // 构建显示的文本
        StringBuilder selectionText = new StringBuilder( &quot;\n菜品: &quot;);
        for (String menuItem : foods) {
            selectionText.append(menuItem).append(&quot;, &quot;);
        }
        selectionText.append(&quot;\n餐具份数：&quot;).append(dashNumber);
        selectionText.append(&quot;\n备注: &quot;).append(note);

        // 设置显示的文本
        tvOrder.setText(selectionText.toString());
    }
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;img src=&quot;https://s2.loli.net/2023/11/28/PGkvVuwt9zeSKcp.png&quot; alt=&quot;image.png&quot; /&gt;
 &lt;/p&gt;
&lt;h3&gt;2-3. 完善第三页的功能&lt;/h3&gt;
&lt;p&gt;第二个页面可以接收第一个页面传递的所有数据并显示，可以切换到打电话面板和发短信面板及跳转按钮（跳转到第三个页面）。&lt;/p&gt;
&lt;h4&gt;layout_intentdemo3.xml&lt;/h4&gt;
&lt;pre&gt;&lt;code&gt;&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&amp;gt;
&amp;lt;LinearLayout xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;
    android:layout_width=&quot;match_parent&quot;
    android:layout_height=&quot;match_parent&quot;&amp;gt;
    &amp;lt;LinearLayout
        android:layout_width=&quot;match_parent&quot;
        android:layout_height=&quot;match_parent&quot;
        android:orientation=&quot;vertical&quot;
        android:layout_marginTop=&quot;20dp&quot;&amp;gt;
        &amp;lt;TextView
            android:id=&quot;@+id/tv_intent3_url&quot;
            android:layout_width=&quot;match_parent&quot;
            android:layout_height=&quot;wrap_content&quot;
            android:text=&quot;官网： http://ytmc.fun:55555/&quot;
            android:autoLink=&quot;web&quot;
            android:textSize=&quot;20sp&quot;
            /&amp;gt;
        &amp;lt;Button
            android:id=&quot;@+id/btn_intent_location&quot;
            android:layout_width=&quot;wrap_content&quot;
            android:layout_height=&quot;wrap_content&quot;
            android:text=&quot;到这去&quot;
            android:drawableLeft=&quot;@drawable/ic_location&quot;
            android:layout_margin=&quot;10dp&quot;
            android:layout_gravity=&quot;center_horizontal&quot;/&amp;gt;
    &amp;lt;/LinearLayout&amp;gt;
&amp;lt;/LinearLayout&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;h4&gt;IntentDemo3Activity.java&lt;/h4&gt;
&lt;pre&gt;&lt;code&gt;package com.yt.class3;

import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;

public class IntentDemo3Activity extends AppCompatActivity {
    Button btnLocation;
    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.layout_intentdemo3);
        btnLocation = findViewById(R.id.btn_intent_location);
        btnLocation.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                double latitude = 36.668175; // 举例：纬度
                double longitude = 119.180296; // 举例：经度
                Uri geoUri = Uri.parse(&quot;geo:&quot; + latitude + &quot;,&quot; + longitude);
                Intent mapIntent = new Intent(Intent.ACTION_VIEW, geoUri);
                startActivity(mapIntent);
            }
        });
    }
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;img src=&quot;https://s2.loli.net/2023/11/28/MXcQlg5nOvSqRwK.png&quot; alt=&quot;image.png&quot; /&gt;
 &lt;/p&gt;
&lt;h3&gt;2-4.实现网址打开&lt;/h3&gt;
&lt;p&gt;第三个页面可以点击链接文字链接到http://ytmc.fun:55555/上去。
可以使用Intent，这里采用改textView 属性&lt;code&gt;android:autoLink=&quot;web&quot;&lt;/code&gt;的方法。&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://s2.loli.net/2023/11/28/DNAtwIpR1VFPzhS.gif&quot; alt=&quot;17点37分.gif&quot; /&gt;&lt;/p&gt;
&lt;h3&gt;2-5.实现地图显示&lt;/h3&gt;
&lt;p&gt;根据经纬度在地图上显示&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;double latitude = xxx; // 纬度
double longitude = xxx; // 经度
Uri geoUri = Uri.parse(&quot;geo:&quot; + latitude + &quot;,&quot; + longitude);
Intent mapIntent = new Intent(Intent.ACTION_VIEW, geoUri);
startActivity(mapIntent);
&lt;/code&gt;&lt;/pre&gt;
</content:encoded></item><item><title>Android学习笔记——选项菜单</title><link>https://blog.ytmc.fun/posts/android%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0%E9%80%89%E9%A1%B9%E8%8F%9C%E5%8D%95/</link><guid isPermaLink="true">https://blog.ytmc.fun/posts/android%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0%E9%80%89%E9%A1%B9%E8%8F%9C%E5%8D%95/</guid><description>这篇文章是博主对于Android 菜单控件使用方法的学习和记录，便于日后速查</description><pubDate>Tue, 14 Nov 2023 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;img src=&quot;https://s2.loli.net/2023/11/14/jnv4i9wxIDdt1MB.png&quot; alt=&quot;image.png&quot; /&gt;&lt;/p&gt;
&lt;h3&gt;菜单的用途&lt;/h3&gt;
&lt;p&gt;&lt;em&gt;在移动应用程序中，菜单是一种常见的用户界面元素，用于提供用户与应用程序交互的方式。菜单的主要用途包括：&lt;/em&gt;
 
&lt;strong&gt;导航&lt;/strong&gt;： 菜单可以用于导航到应用程序的不同部分。通过菜单，用户可以轻松访问应用程序的不同功能或页面，使应用的结构更加清晰。
 
&lt;strong&gt;操作&lt;/strong&gt;： 菜单提供了执行特定操作的方式。这些操作可以是与应用程序功能相关的命令，例如保存、删除、编辑等。通过菜单，用户可以方便地执行这些操作而不必依赖其他界面元素。
 
&lt;strong&gt;设置&lt;/strong&gt;： 菜单通常包含应用程序的设置选项，允许用户自定义应用的行为和外观。这可以包括更改主题、调整通知设置、切换语言等。
 
&lt;strong&gt;上下文操作&lt;/strong&gt;： 上下文菜单是在特定元素上下文中出现的菜单，提供与所选元素相关的操作。这在列表视图、图像等元素上非常常见。
 
&lt;strong&gt;快捷方式&lt;/strong&gt;： 菜单可以提供快捷方式，让用户更快地执行常用的操作，提高用户体验。
 &lt;/p&gt;
&lt;h3&gt;为什么我的程序不显示菜单栏？&lt;/h3&gt;
&lt;p&gt;新版Android Material Design主题的样式默认隐藏了ActionBar，有两种方法可以调出ActionBar:&lt;/p&gt;
&lt;h4&gt;方法一：修改Theme.xml&lt;/h4&gt;
&lt;p&gt;在Android应用中，&lt;code&gt;theme&lt;/code&gt; 文件用于定义应用的整体外观和样式。theme 文件允许你在一个地方集中定义应用的颜色、字体、边距等视觉属性，以确保应用在不同部分保持一致的外观。
 
Theme.xml文件位于&lt;code&gt;res/values/themes.xml&lt;/code&gt;，大概长这样：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;lt;resources xmlns:tools=&quot;http://schemas.android.com/tools&quot;&amp;gt;

    &amp;lt;!-- 
        基础应用主题。
        这是应用的基础主题，定义了整体外观。
        继承自 Theme.AppCompat.Light.DarkActionBar，表示使用亮色主题，并包含深色操作栏。
    --&amp;gt;
    &amp;lt;style name=&quot;Base.Theme.Class3&quot; parent=&quot;Theme.Material3.Light.NoActionBar&quot;&amp;gt;
        &amp;lt;!-- 在这里定制你的亮色主题。 --&amp;gt;
        &amp;lt;!-- 取消下面的注释并指定相应的属性，以定制主题颜色。 --&amp;gt;
        &amp;lt;!-- &amp;lt;item name=&quot;colorPrimary&quot;&amp;gt;@color/my_light_primary&amp;lt;/item&amp;gt; --&amp;gt;
    &amp;lt;/style&amp;gt;

    &amp;lt;!-- 
        Class3 主题。
        继承自基础主题 (Base.Theme.Class3)，可以进一步定制或覆盖特定于 Theme.Class3 的属性。
    --&amp;gt;
    &amp;lt;style name=&quot;Theme.Class3&quot; parent=&quot;Base.Theme.Class3&quot; /&amp;gt;

&amp;lt;/resources&amp;gt;

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;把&lt;code&gt;&amp;lt;style name=&quot;Base.Theme.Class3&quot; parent=&quot;Theme.Material3.Light.NoActionBar&quot;&amp;gt;&lt;/code&gt;改为&lt;code&gt;&amp;lt;style name=&quot;Base.Theme.Class3&quot; parent=&quot;Theme.AppCompat.Light.DarkActionBar&quot;&amp;gt;&lt;/code&gt;即可
 
 &lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Theme.AppCompat.Light.DarkActionBar：&lt;/strong&gt;
库： 这是 AppCompat 库中提供的主题，用于在早期版本的 Android 上提供一致的外观和功能。AppCompat 库的目标是确保应用在新旧 Android 版本上都能够提供类似的用户体验。
特征： 这个主题适用于亮色的应用主题，并包含一个深色的操作栏（ActionBar），以提供一致的外观。它是为了确保应用在 Android 2.1（API 级别 7）及更高版本上具有一致的 UI 风格而设计的。
&lt;strong&gt;Theme.Material3.Light.NoActionBar：&lt;/strong&gt;
库： 这是 Material Design 组件库中提供的主题，用于实现 Material Design 设计风格的应用程序。Material Design 强调材质和动画效果，提供更现代、干净的用户界面。
特征： 这个主题适用于亮色的应用主题，但不包含操作栏（ActionBar）。通常，如果应用的设计不需要传统的操作栏，而是更喜欢使用新的顶部应用栏或者没有应用栏，那么可以选择使用 NoActionBar 的主题。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h4&gt;方法二：修改AndroidManifest.xml&lt;/h4&gt;
&lt;p&gt;这个方法好像不行，正在琢磨中……&lt;/p&gt;
&lt;h1&gt;未完待续……&lt;/h1&gt;
</content:encoded></item><item><title>Android学习笔记——ListView&amp;GripView事件监听、页面跳转和携带数据</title><link>https://blog.ytmc.fun/posts/android%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0listviewgripview%E4%BA%8B%E4%BB%B6%E7%9B%91%E5%90%AC%E9%A1%B5%E9%9D%A2%E8%B7%B3%E8%BD%AC%E5%92%8C%E6%90%BA%E5%B8%A6%E6%95%B0%E6%8D%AE/</link><guid isPermaLink="true">https://blog.ytmc.fun/posts/android%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0listviewgripview%E4%BA%8B%E4%BB%B6%E7%9B%91%E5%90%AC%E9%A1%B5%E9%9D%A2%E8%B7%B3%E8%BD%AC%E5%92%8C%E6%90%BA%E5%B8%A6%E6%95%B0%E6%8D%AE/</guid><description>这篇文章是博主对于Android ListView&amp;GripView两个控件使用方法的学习和记录，便于日后速查</description><pubDate>Tue, 07 Nov 2023 00:00:00 GMT</pubDate><content:encoded>&lt;h3&gt;ListView事件监听&lt;/h3&gt;
&lt;p&gt;ListView使用匿名内部类的方式完成选择单个选项时监听类的实例化操作&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView&amp;lt;?&amp;gt; adapterView, View view, int position, long l) {
                //i 改成position即位置
            }
        });
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;点击第一行时，&lt;strong&gt;position&lt;/strong&gt;的值是&lt;strong&gt;0&lt;/strong&gt;&lt;/p&gt;
&lt;h3&gt;ListView 页面跳转&lt;/h3&gt;
&lt;p&gt;新建&lt;strong&gt;layout_listview_ product.xml&lt;/strong&gt;,作为商品页面&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&amp;gt;
&amp;lt;androidx.appcompat.widget.LinearLayoutCompat xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;
    android:layout_width=&quot;match_parent&quot;
    android:layout_height=&quot;match_parent&quot;
    android:orientation=&quot;vertical&quot;
    &amp;gt;
    &amp;lt;ImageView
        android:id=&quot;@+id/iv_pro_pic&quot;
        android:layout_width=&quot;150dp&quot;
        android:layout_height=&quot;100dp&quot;
        android:layout_marginTop=&quot;30dp&quot;
        android:layout_gravity=&quot;center_horizontal&quot;
        /&amp;gt;
    &amp;lt;LinearLayout
        android:layout_width=&quot;wrap_content&quot;
        android:layout_height=&quot;wrap_content&quot;
        android:orientation=&quot;vertical&quot;
        android:layout_margin=&quot;20dp&quot;

        &amp;gt;
        &amp;lt;TextView
            android:id=&quot;@+id/tv_pro_des&quot;
            android:layout_width=&quot;wrap_content&quot;
            android:layout_height=&quot;wrap_content&quot;
            android:textColor=&quot;@color/black&quot;
            android:textSize=&quot;30dp&quot;
            android:layout_marginTop=&quot;10dp&quot;
            android:text=&quot;TextView&quot;
            /&amp;gt;
        &amp;lt;TextView
            android:id=&quot;@+id/tv_pro_price&quot;
            android:layout_width=&quot;wrap_content&quot;
            android:layout_height=&quot;wrap_content&quot;
            android:textColor=&quot;@color/orange2&quot;
            android:textStyle=&quot;bold&quot;
            android:textSize=&quot;45dp&quot;
            android:layout_marginTop=&quot;5dp&quot;
            android:text=&quot;TextView&quot;/&amp;gt;

    &amp;lt;/LinearLayout&amp;gt;

&amp;lt;/androidx.appcompat.widget.LinearLayoutCompat&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;h4&gt;初始化、变量&lt;/h4&gt;
&lt;pre&gt;&lt;code&gt;	ImageView ivProduct;
    TextView tvTitle,tvPrice;

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        initView();
    }

    private void initView() {
        setContentView(R.layout.layout_listview_product);
        ivProduct = findViewById(R.id.iv_pro_pic);
        tvTitle = findViewById(R.id.tv_pro_des);
        tvPrice = findViewById(R.id.tv_pro_price);
    }
&lt;/code&gt;&lt;/pre&gt;
&lt;h4&gt;使用Intent实现页面跳转&lt;/h4&gt;
&lt;h5&gt;以key-value的形式传递数据&lt;/h5&gt;
&lt;p&gt; 
key：自定义密钥；value：要传的数据&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;Intent intent = new Intent(ListViewBuffActivity.this,ProductActivity.class);//以key——value的形式传递数据，key：自定义密钥；value：要传的数据
intent.putExtra(&quot;des&quot;,des[position]);
intent.putExtra(&quot;prices&quot;,prices[position]);
startActivity(intent);
intent.putExtra(&quot;img&quot;,images[position]);
&lt;/code&gt;&lt;/pre&gt;
&lt;h4&gt;ProductActivity接收数据&lt;/h4&gt;
&lt;pre&gt;&lt;code&gt;Intent intent = getIntent();
String _des =  intent.getStringExtra(&quot;des&quot;);
String _price = intent.getStringExtra(&quot;prices&quot;);
int _img = intent.getIntExtra(&quot;img&quot;,0);
tvTitle.setText(_des);
tvPrice.setText(_price);
ivProduct.setImageResource(_img);
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;成品展示&lt;/h3&gt;
&lt;p&gt;&lt;img src=&quot;https://s2.loli.net/2023/11/07/7ehVaCI9DRwoLKZ.gif&quot; alt=&quot;2023年11月7日.gif&quot; /&gt;&lt;/p&gt;
</content:encoded></item><item><title>Android学习笔记——ListView列表</title><link>https://blog.ytmc.fun/posts/android%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0listview%E5%88%97%E8%A1%A8/</link><guid isPermaLink="true">https://blog.ytmc.fun/posts/android%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0listview%E5%88%97%E8%A1%A8/</guid><description>本文是博主在学习Android ListView控件的一篇简短的记录，旨在便于日后速查，记录了ListView控件的一些用法</description><pubDate>Tue, 17 Oct 2023 00:00:00 GMT</pubDate><content:encoded>&lt;h3&gt;界面搭建的三个必备属性&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;id&lt;/code&gt;,&lt;code&gt;width&lt;/code&gt;,&lt;code&gt;height&lt;/code&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;lt;ListView
        android:id=&quot;@+id/lv_lv_lv&quot;
        android:layout_width=&quot;match_parent&quot;
        android:layout_height=&quot;300dp&quot;
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;LIstView实现数据映射的三个要素：&lt;/h3&gt;
&lt;h4&gt;ListView列表视图ListView列表视图&lt;/h4&gt;
&lt;p&gt;ListView 是一个容器控件，用于显示可滚动的列表。它可以在界面上垂直显示多个项目（如文本、图片、控件等），通常用于显示大量数据。&lt;/p&gt;
&lt;h4&gt;数据（文本、图片、控件）&lt;/h4&gt;
&lt;pre&gt;&lt;code&gt;String abcd = &quot;1234&quot;;
&lt;/code&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;code&gt;String[] str = {&quot;1&quot;,&quot;2&quot;,&quot;3&quot;};

&lt;/code&gt;&lt;/pre&gt;
&lt;h4&gt;适配器（Adapter）将数据映射到ListView列表视图的桥梁&lt;/h4&gt;
&lt;pre&gt;&lt;code&gt;ArrayAdapter&amp;lt;String&amp;gt; adapter = new ArrayAdapter&amp;lt;&amp;gt;(context, android.R.layout.simple_list_item_1, data);
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;Map类&lt;/h3&gt;
&lt;h4&gt;Map类基本用法，如何实例化？&lt;/h4&gt;
&lt;blockquote&gt;
&lt;p&gt;Map类是Java中用于存储键值对的数据结构。基本的使用方法包括添加和获取键值对、判断是否包含某个键、获取键的集合、获取值的集合等。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;使用&lt;code&gt;HashMap&lt;/code&gt;类实例化Map对象
使用&lt;code&gt;TreeMap&lt;/code&gt;类实例化Map对象
使用&lt;code&gt;LinkedHash&lt;/code&gt;类实例化Map对象
HasMap是Map的子类 用来完成实例化操作&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;Map&amp;lt;String, Integer&amp;gt; map = new HashMap&amp;lt;&amp;gt;(); // 使用 HashMap 实例化 Map，其中键是字符串，值是整数

&lt;/code&gt;&lt;/pre&gt;
&lt;h4&gt;Map类型对象如何放入数据?&lt;/h4&gt;
&lt;p&gt;实例化 Map 对象： 首先，你需要实例化一个 Map 对象，通常使用 &lt;code&gt;HashMap&lt;/code&gt; 实现。可以使用泛型来指定键和值的类型。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;Map&amp;lt;String, Integer&amp;gt; map = new HashMap&amp;lt;&amp;gt;();

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;放入数据： 使用 &lt;code&gt;put&lt;/code&gt; 方法将键-值对放入 Map 对象。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;map.put(&quot;apple&quot;, 5);     // 放入键 &quot;apple&quot; 和对应的值 5
map.put(&quot;banana&quot;, 3);    // 放入键 &quot;banana&quot; 和对应的值 3
map.put(&quot;cherry&quot;, 10);   // 放入键 &quot;cherry&quot; 和对应的值 10
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;遍历 Map： 你可以遍历 Map 的键-值对。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;for (Map.Entry&amp;lt;String, Integer&amp;gt; entry : map.entrySet()) {
    String key = entry.getKey();    // 获取键
    int value = entry.getValue();   // 获取值
    System.out.println(&quot;Key: &quot; + key + &quot;, Value: &quot; + value);
}

&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;ArrayList类&lt;/h3&gt;
&lt;p&gt;实例化 ArrayList： 你可以使用 ArrayList 类实例化一个动态数组。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;ArrayList&amp;lt;String&amp;gt; list = new ArrayList&amp;lt;&amp;gt;();

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;添加元素： 你可以使用 add 方法来添加元素到 ArrayList。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;list.add(&quot;apple&quot;);      // 添加元素 &quot;apple&quot; 到 ArrayList
list.add(&quot;banana&quot;);     // 添加元素 &quot;banana&quot; 到 ArrayList
list.add(&quot;cherry&quot;);     // 添加元素 &quot;cherry&quot; 到 ArrayList

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Arraylist类包包含的数据类型有哪些?&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;任何引用类型（Reference Types）： 这包括类、接口、自定义数据类型等。你可以将任何引用类型的对象添加到 ArrayList 中。
基本数据类型的包装类（Wrapper Classes）： 例如 Integer、Double、Boolean 等。这是因为 ArrayList 不能直接包含基本数据类型，但可以包含其对应的包装类对象。
字符串（String）： 你可以将字符串对象添加到 ArrayList 中，使其成为字符串列表。
自定义类对象： 如果你创建了自定义类，可以将该类的对象添加到 ArrayList 中。
其他集合类型： 你可以将其他集合类型，如 ArrayList、LinkedList 等，作为元素添加到外部 ArrayList 中。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3&gt;ListViewActivity类的搭建&lt;/h3&gt;
&lt;h4&gt;声明变量&lt;/h4&gt;
&lt;pre&gt;&lt;code&gt;private ListView listView;
&lt;/code&gt;&lt;/pre&gt;
&lt;h4&gt;添加数据数组&lt;/h4&gt;
&lt;pre&gt;&lt;code&gt;String[] contacts = {&quot;联系人1&quot;,&quot;联系人2&quot;,&quot;联系人3&quot;,&quot;联系人4&quot;,&quot;联系人5&quot;,&quot;联系人6&quot;};
String[] tels = {&quot;手机号1&quot;,&quot;手机号2&quot;,&quot;手机号3&quot;,&quot;手机号4&quot;,&quot;手机号5&quot;,&quot;手机号6&quot;,};
&lt;/code&gt;&lt;/pre&gt;
&lt;h4&gt;初始化操作&lt;/h4&gt;
&lt;pre&gt;&lt;code&gt;initView();
&lt;/code&gt;&lt;/pre&gt;
&lt;h4&gt;绑定控件&lt;/h4&gt;
&lt;pre&gt;&lt;code&gt;listView = findViewById(R.id.lv_lv_lv);
&lt;/code&gt;&lt;/pre&gt;
&lt;h4&gt;创建适配器&lt;/h4&gt;
&lt;pre&gt;&lt;code&gt;ArrayAdapter&amp;lt;String&amp;gt; arrayAdapter = new ArrayAdapter&amp;lt;&amp;gt;(
                getApplicationContext(),
                android.R.layout.simple_list_item_1,
                contacts
        );
&lt;/code&gt;&lt;/pre&gt;
&lt;h4&gt;设置适配器&lt;/h4&gt;
&lt;pre&gt;&lt;code&gt;mLv1.setAdapter(arrayAdapter);

&lt;/code&gt;&lt;/pre&gt;
&lt;h4&gt;实例化Map&lt;/h4&gt;
&lt;pre&gt;&lt;code&gt;ArrayList&amp;lt;Map&amp;lt;String,Object&amp;gt;&amp;gt; mData =new ArrayList&amp;lt;&amp;gt;();

&lt;/code&gt;&lt;/pre&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;手机号 -tel&lt;/th&gt;
&lt;th&gt;归属地&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;手机号1 tels[0]&lt;/td&gt;
&lt;td&gt;归属地1 addrs[0]&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;手机号2 tels[1]&lt;/td&gt;
&lt;td&gt;归属地2 addrs[1]&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;手机号3 tels[2]&lt;/td&gt;
&lt;td&gt;归属地3 addrs[2]&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;手机号4 tels[3]&lt;/td&gt;
&lt;td&gt;归属地4 addrs[3]&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;手机号5 tels[4]&lt;/td&gt;
&lt;td&gt;归属地5 addrs[4]&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;手机号6 tels[5]&lt;/td&gt;
&lt;td&gt;归属地6 addrs[5]&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;一行对应一个Map，首先就声明Map类型的对象，并进行实例化操作&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;Map&amp;lt;String,Object&amp;gt; map = new HashMap&amp;lt;&amp;gt;();
&lt;/code&gt;&lt;/pre&gt;
&lt;blockquote&gt;
&lt;p&gt;Map基本结构 key-value 的形式key:String类型&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;将数据放在Arraylist里（看作是一个二维表）中去,
当需要加载多条相同结构的数据时必须要用到循环——for语句&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;for(int i=0;i&amp;lt;tels.length;i++){
            //首先就声明Map类型的对象，并进行实例化操作——对应一行的操作
            Map&amp;lt;String,Object&amp;gt; map = new HashMap&amp;lt;&amp;gt;();
            //将数据压入Map中
            map.put(&quot;tel&quot;,tels[i]);
            map.put(&quot;addr&quot;,addrs[i]);
            //将map中存放的一行的数据存入二维表格中去
            mData.add(map);
        }
&lt;/code&gt;&lt;/pre&gt;
&lt;h4&gt;创建适配器&lt;/h4&gt;
&lt;pre&gt;&lt;code&gt;SimpleAdapter simpleAdapter = new SimpleAdapter(
                getApplicationContext(),
                mData,
                android.R.layout.simple_list_item_2,
                new String[]{&quot;tel&quot;,&quot;addr&quot;},
                new int[]{android.R.id.text1,android.R.id.text2}
        );
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;参数1：上下文关系——&lt;code&gt;getApplicationContext()&lt;/code&gt;
参数2：数据——&lt;code&gt;List&amp;lt;? extends Map&amp;lt;String,Object&amp;gt;&amp;gt;&lt;/code&gt;
参数3：布局——使用系统提供的固定的布局
参数4：数据从哪里来？——每一行数据存放过程中使用的key，构成了一个字符串数组,必须和存放数据的key完全一致
参数5：数据存到哪个控件上去？——固定布局中的2个TextView控件对应的id，构成了一个整型数组&lt;/p&gt;
&lt;h4&gt;设置适配器&lt;/h4&gt;
&lt;pre&gt;&lt;code&gt;listView.setAdapter(simpleAdapter);

&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;运行界面&lt;/h3&gt;
&lt;p&gt;&lt;img src=&quot;https://s2.loli.net/2023/10/17/JNtmdIc9kxwfael.png&quot; alt=&quot;image.png&quot; /&gt;&lt;/p&gt;
&lt;h3&gt;代码&lt;/h3&gt;
&lt;h4&gt;ListViewActivity&lt;/h4&gt;
&lt;pre&gt;&lt;code&gt;package com.yt.class3.ListView;

import android.annotation.SuppressLint;
import android.app.Activity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.SimpleAdapter;

import androidx.annotation.Nullable;

import com.yt.class3.R;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;

public class ListViewActivity2 extends Activity {
    //声明变量
    private ListView listView;
    //数据
    String[] addrs = {&quot;归属地1&quot;,&quot;归属地2&quot;,&quot;归属地3&quot;,&quot;归属地4&quot;,&quot;归属地5&quot;,&quot;归属地6&quot;};
    String[] tels = {&quot;手机号1&quot;,&quot;手机号2&quot;,&quot;手机号3&quot;,&quot;手机号4&quot;,&quot;手机号5&quot;,&quot;手机号6&quot;,};

    //数组列表
    ArrayList&amp;lt;Map&amp;lt;String,Object&amp;gt;&amp;gt; mData =new ArrayList&amp;lt;&amp;gt;();

    @SuppressLint(&quot;MissingInflatedId&quot;)
    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_listview);
        initView();

    }

    private void initView() {
        //绑定控件
        listView = findViewById(R.id.lv_lv_lv);
        //将数据放在Arraylist里（看作是一个二维表）中去
        //当需要加载多条相同结构的数据时必须要用到循环——for语句
        for(int i=0;i&amp;lt;tels.length;i++){
            //首先就声明Map类型的对象，并进行实例化操作——对应一行的操作
            Map&amp;lt;String,Object&amp;gt; map = new HashMap&amp;lt;&amp;gt;();
            //将数据压入Map中
            map.put(&quot;tel&quot;,tels[i]);
            map.put(&quot;addr&quot;,addrs[i]);
            //将map中存放的一行的数据存入二维表格中去
            mData.add(map);

        }
        //创建适配器
        //参数1：上下文关系——getApplicationContext()
        //参数2：数据——List&amp;lt;? extends Map&amp;lt;String,Object&amp;gt;&amp;gt;
        //参数3：布局——使用系统提供的固定的布局
        //参数4：数据从哪里来？——每一行数据存放过程中使用的key，构成了一个字符串数组,必须和存放数据的key完全一致
        //参数5：数据存到哪个控件上去？——固定布局中的2个TextView控件对应的id，构成了一个整型数组
        SimpleAdapter simpleAdapter = new SimpleAdapter(
                getApplicationContext(),
                mData,
                android.R.layout.simple_list_item_2,
                new String[]{&quot;tel&quot;,&quot;addr&quot;},
                new int[]{android.R.id.text1,android.R.id.text2}
        );
        listView.setAdapter(simpleAdapter);
    }

}

&lt;/code&gt;&lt;/pre&gt;
&lt;h4&gt;activity_listview.xml&lt;/h4&gt;
&lt;pre&gt;&lt;code&gt;&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&amp;gt;
&amp;lt;androidx.appcompat.widget.LinearLayoutCompat xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;
    android:layout_width=&quot;match_parent&quot;
    android:layout_height=&quot;match_parent&quot;
    android:orientation=&quot;vertical&quot;
    android:gravity=&quot;center&quot;
    &amp;gt;
    &amp;lt;TextView
        android:layout_width=&quot;match_parent&quot;
        android:layout_height=&quot;wrap_content&quot;
        android:text=&quot;食物：&quot;
        android:gravity=&quot;center&quot;
        android:textSize=&quot;50dp&quot;
        android:layout_marginBottom=&quot;50dp&quot;/&amp;gt;
    &amp;lt;ListView
        android:id=&quot;@+id/lv_lv_lv&quot;
        android:layout_width=&quot;match_parent&quot;
        android:layout_height=&quot;300dp&quot;
        android:listSelector=&quot;@drawable/list_item&quot;
        android:divider=&quot;@color/grey2&quot;
        android:dividerHeight=&quot;5dp&quot;/&amp;gt;
    &amp;lt;Button
        android:layout_width=&quot;match_parent&quot;
        android:layout_height=&quot;wrap_content&quot;
        android:layout_marginTop=&quot;50dp&quot;
        android:text=&quot;购买&quot;/&amp;gt;

&amp;lt;/androidx.appcompat.widget.LinearLayoutCompat&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;补一下适配器的分类：&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;ArrayAdapter：ArrayAdapter 用于将数组或列表中的数据与 ListView 绑定。这是最常用于简单数据列表的适配器类型。
BaseAdapter：BaseAdapter 是一个抽象基类，用于创建自定义适配器。你可以根据自己的需求继承 BaseAdapter 并实现各种方法，以构建更复杂的适配器。
CursorAdapter：CursorAdapter 用于与数据库中的数据关联，通常与 ListView 或 RecyclerView 一起使用。它可以处理 Cursor 对象的数据，并将其显示在视图中。
SimpleCursorAdapter：SimpleCursorAdapter 是 CursorAdapter 的一个实现，它可以简化与 Cursor 和数据库数据的交互，特别适用于 SQLite 数据库。
RecyclerView.Adapter：RecyclerView.Adapter 用于与 RecyclerView 一起工作，提供了更灵活和高性能的列表和网格视图的实现。你可以自定义 RecyclerView.Adapter 来控制数据和视图的呈现。
PagerAdapter：PagerAdapter 用于与 ViewPager 结合使用，用于创建可滑动的视图页（如轮播图）。
FragmentPagerAdapter 和 FragmentStatePagerAdapter：这两种适配器也用于与 ViewPager 结合使用，但它们是为了管理 Fragment 页面的适配器。FragmentStatePagerAdapter 适用于大量页面，因为它支持页面的懒加载和回收。
SimpleAdapter：SimpleAdapter 用于将数据与 ListView 绑定，类似于 ArrayAdapter，但提供了更多的灵活性，可用于自定义数据与视图的映射。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;这一期我们要完成使用ListView搭建一个简单的CSGO饰品交易平台的界面&lt;/p&gt;
&lt;hr /&gt;
&lt;h3&gt;界面预览&lt;/h3&gt;
&lt;p&gt;&lt;img src=&quot;https://s2.loli.net/2023/11/06/Dv9tPnXJ4pxyNb7.png&quot; alt=&quot;image.png&quot; /&gt;&lt;/p&gt;
&lt;h3&gt;创建ListView列表布局&lt;/h3&gt;
&lt;p&gt;这里用到了&lt;code&gt;LinerLayout&lt;/code&gt;，套了一个&lt;code&gt;ListView控件&lt;/code&gt;
代码：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&amp;gt;
&amp;lt;androidx.constraintlayout.widget.ConstraintLayout xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;
    android:layout_width=&quot;match_parent&quot;
    android:layout_height=&quot;match_parent&quot;
    android:orientation=&quot;vertical&quot;&amp;gt;
    &amp;lt;LinearLayout
        android:layout_width=&quot;match_parent&quot;
        android:layout_height=&quot;match_parent&quot;&amp;gt;
        &amp;lt;ListView
            android:id=&quot;@+id/lv_listview_showdata&quot;
            android:layout_width=&quot;match_parent&quot;
            android:layout_height=&quot;wrap_content&quot;
            /&amp;gt;
    &amp;lt;/LinearLayout&amp;gt;
&amp;lt;/androidx.constraintlayout.widget.ConstraintLayout&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;ListView列表项布局&lt;/h3&gt;
&lt;p&gt;最左边图片，右边&lt;code&gt;LinearLayout&lt;/code&gt;里套两个&lt;code&gt;TextView&lt;/code&gt;，&lt;code&gt;LinearLayout&lt;/code&gt;的&lt;code&gt;orientation&lt;/code&gt;属性设为&lt;code&gt;vertical&lt;/code&gt;
&lt;img src=&quot;https://s2.loli.net/2023/11/06/s1fYGNzavZuTqdc.png&quot; alt=&quot;image.png&quot; /&gt;
代码：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&amp;gt;
&amp;lt;androidx.appcompat.widget.LinearLayoutCompat xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;
    android:layout_width=&quot;match_parent&quot;
    android:layout_height=&quot;match_parent&quot;
    android:orientation=&quot;horizontal&quot;&amp;gt;
    &amp;lt;ImageView
        android:id=&quot;@+id/iv_lv_pic&quot;
        android:layout_width=&quot;150dp&quot;
        android:layout_height=&quot;100dp&quot;
        android:layout_marginTop=&quot;30dp&quot;
        /&amp;gt;
    &amp;lt;LinearLayout
        android:layout_width=&quot;wrap_content&quot;
        android:layout_height=&quot;wrap_content&quot;
        android:orientation=&quot;vertical&quot;
        android:layout_marginLeft=&quot;10dp&quot;
        &amp;gt;
        &amp;lt;TextView
            android:id=&quot;@+id/tv_lv2_des&quot;
            android:layout_width=&quot;wrap_content&quot;
            android:layout_height=&quot;wrap_content&quot;
            android:textColor=&quot;@color/black&quot;
            android:textSize=&quot;15dp&quot;
            android:layout_marginTop=&quot;10dp&quot;
            android:text=&quot;TextView&quot;
            /&amp;gt;
        &amp;lt;TextView
            android:id=&quot;@+id/tv_lv2_price&quot;
            android:layout_width=&quot;wrap_content&quot;
            android:layout_height=&quot;wrap_content&quot;
            android:textColor=&quot;@color/orange2&quot;
            android:textStyle=&quot;bold&quot;
            android:textSize=&quot;20dp&quot;
            android:layout_marginTop=&quot;5dp&quot;
            android:text=&quot;TextView&quot;/&amp;gt;
    &amp;lt;/LinearLayout&amp;gt;
&amp;lt;/androidx.appcompat.widget.LinearLayoutCompat&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;Activity的编写&lt;/h3&gt;
&lt;h4&gt;继承父类&lt;/h4&gt;
&lt;pre&gt;&lt;code&gt;public class ListViewBuffActivity extends AppCompatActivity
&lt;/code&gt;&lt;/pre&gt;
&lt;h4&gt;覆写OnCreate &amp;amp; 设置活动布局 &amp;amp; 初始化视图&lt;/h4&gt;
&lt;pre&gt;&lt;code&gt;@Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.layout_listview2);
        initView();
    }
&lt;/code&gt;&lt;/pre&gt;
&lt;h4&gt;声明和初始化变量&lt;/h4&gt;
&lt;p&gt;素材随便找的CSGO皮肤图片&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;int[] images = {R.drawable.ic_buff1, R.drawable.ic_buff2, R.drawable.ic_buff3,
            R.drawable.ic_buff4, R.drawable.ic_buff5, R.drawable.ic_buff6};
    String[] des = {
            &quot;爪子刀（★） | 多普勒 (崭新出厂)\n&quot; +
                    &quot;匕首\n&quot; +
                    &quot; 名称标签：“顶级无斑T1 #420”\n&quot; +
                    &quot;图案模板(paint seed): 420\n&quot; +
                    &quot;皮肤编号(paint index): 416 (蓝宝石)\n&quot; +
                    &quot;磨损: 0.009646142832934856\n&quot; +
                    &quot;BUFF磨损排名: 113 (蓝宝石)&quot;,

            &quot;短剑（★） | 表面淬火 (略有磨损)\n&quot; +
                    &quot;匕首\n&quot; +
                    &quot;图案模板(paint seed): 612\n&quot; +
                    &quot;皮肤编号(paint index): 44\n&quot; +
                    &quot;磨损: 0.09753446280956268\n&quot; +
                    &quot;BUFF磨损排名: 383&quot;,

            &quot;爪子刀（★） | 伽玛多普勒 (崭新出厂)\n&quot; +
                    &quot;匕首\n&quot; +
                    &quot;图案模板(paint seed): 97\n&quot; +
                    &quot;皮肤编号(paint index): 570 (Phase2)\n&quot; +
                    &quot;磨损: 0.0094314469024539\n&quot; +
                    &quot;BUFF磨损排名: 290 (Phase2)&quot;,

            &quot;骷髅匕首（★） | 表面淬火 (略有磨损)\n&quot; +
                    &quot;匕首\n&quot; +
                    &quot;图案模板(paint seed): 383\n&quot; +
                    &quot;皮肤编号(paint index): 44\n&quot; +
                    &quot;磨损: 0.08893027156591415\n&quot; +
                    &quot;BUFF磨损排名: 298&quot;,

            &quot;M9 刺刀（★） | 伽玛多普勒 (崭新出厂)\n&quot; +
                    &quot;匕首\n&quot; +
                    &quot;图案模板(paint seed): 152\n&quot; +
                    &quot;皮肤编号(paint index): 568 (绿宝石)\n&quot; +
                    &quot;磨损: 0.01418947335332632\n&quot; +
                    &quot;BUFF磨损排名: 186 (绿宝石)&quot;,

            &quot;蝴蝶刀（★） | 多普勒 (崭新出厂)\n&quot; +
                    &quot;匕首\n&quot; +
                    &quot;图案模板(paint seed): 878\n&quot; +
                    &quot;皮肤编号(paint index): 618 (Phase2)\n&quot; +
                    &quot;磨损: 0.06081444025039673&quot;
    };
    String[] prices = {&quot;¥ 95880&quot;, &quot;¥ 16500&quot;, &quot;¥ 22222&quot;, &quot;¥ 47000&quot;, &quot;¥ 127000&quot;, &quot;¥ 23085&quot;};
&lt;/code&gt;&lt;/pre&gt;
&lt;h4&gt;创建数据列表&amp;amp;实例化ListView&lt;/h4&gt;
&lt;pre&gt;&lt;code&gt;String[] prices = {&quot;¥ 95880&quot;, &quot;¥ 16500&quot;, &quot;¥ 22222&quot;, &quot;¥ 47000&quot;, &quot;¥ 127000&quot;, &quot;¥ 23085&quot;};
ListView listView;
&lt;/code&gt;&lt;/pre&gt;
&lt;h4&gt;绑定控件&lt;/h4&gt;
&lt;pre&gt;&lt;code&gt;listView = findViewById(R.id.lv_listview_showdata);
&lt;/code&gt;&lt;/pre&gt;
&lt;h4&gt;将数据放入Arraylist&lt;/h4&gt;
&lt;p&gt;这里使用for循环&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;for (int i = 0; i &amp;lt; images.length; i++) {
            //使用map完成行数据的存储（1、申请空间2、存入数据）
            Map&amp;lt;String, Object&amp;gt; map = new HashMap&amp;lt;&amp;gt;();
            //存入数据是以key-value形式存放数据，类型String,
            map.put(&quot;imgs&quot;, images[i]);
            map.put(&quot;deps&quot;, des[i]);
            map.put(&quot;prics&quot;, prices[i]);
            mData.add(map);
        }
&lt;/code&gt;&lt;/pre&gt;
&lt;h4&gt;实例化适配器&lt;/h4&gt;
&lt;pre&gt;&lt;code&gt;ListView2Adapter listView2Adapter = new ListView2Adapter(getApplicationContext(), mData);
&lt;/code&gt;&lt;/pre&gt;
&lt;h4&gt;设置适配器&lt;/h4&gt;
&lt;pre&gt;&lt;code&gt;listView.setAdapter(listView2Adapter);
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;创建自定义适配器&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;package com.yt.class3;

import android.content.ComponentName;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.NumberPicker;
import android.widget.TextView;

import java.util.ArrayList;
import java.util.Map;

public class ListView2Adapter extends BaseAdapter {
    //内部数据集
    Context mContext;
    //构造函数（只有修饰词，无返回值）在实例化前构造函数时完成实参（上下文关系，数据集）的传入
    //形参： Context context………用来接收实参
    //形参是局部变量，只在当前这个构造函数中有效
    ArrayList&amp;lt;Map&amp;lt;String,Object&amp;gt;&amp;gt; mList;
    public ListView2Adapter(Context context , ArrayList&amp;lt;Map&amp;lt;String,Object&amp;gt;&amp;gt; list) {
        this.mContext = context;
        this.mList = list;
    }

    @Override
    public int getCount() {
        //获取数据集的个数
        return mList.size();
    }

    @Override
    public Object getItem(int position) {
        //获取数据行数据项——每一行的记录
        return mList.get(position);
    }

    @Override
    public long getItemId(int position) {
        //获取数据集某一行的值
        return position;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup viewGroup) {
        //声明一个ViewHolder对象
        ViewHolder vh;
        //如果视图是第一次加载，从未打开过
        if(convertView == null){
            //将未知的页面加载，转换成View类型然后赋值给ConvertView
            convertView = LayoutInflater.from(mContext).inflate(R.layout.layout_listview2_item,null);
            //实例化vh
            vh =new ViewHolder();
            vh.ivPic = convertView.findViewById(R.id.iv_lv_pic);
            vh.tvDes = convertView.findViewById(R.id.tv_lv2_des);
            vh.tvPrice = convertView.findViewById(R.id.tv_lv2_price);

            //将vh存入缓存，以备视图再次加载时获取
            convertView.setTag(vh);
        }
        //如果视图不是第一次加载，之前打开过
        else {
            vh = (ViewHolder) convertView.getTag();
        }

        //设置数据
        vh.ivPic.setBackgroundResource((Integer) mList.get(position).get(&quot;imgs&quot;));
        vh.tvDes.setText(mList.get(position).get(&quot;deps&quot;).toString());
        vh.tvPrice.setText(mList.get(position).get(&quot;prics&quot;).toString());
        return convertView;
    }
    //创建每一行的类ViewHolder
    class ViewHolder{
        ImageView ivPic;
        TextView tvDes,tvPrice;
    }
}

&lt;/code&gt;&lt;/pre&gt;
</content:encoded></item><item><title>【Docker】新手记一次为docker挂代理加速docker pull笔记</title><link>https://blog.ytmc.fun/posts/docker%E6%96%B0%E6%89%8B%E8%AE%B0%E4%B8%80%E6%AC%A1%E4%B8%BAdocker%E6%8C%82%E4%BB%A3%E7%90%86%E5%8A%A0%E9%80%9Fdocker-pull%E7%AC%94%E8%AE%B0/</link><guid isPermaLink="true">https://blog.ytmc.fun/posts/docker%E6%96%B0%E6%89%8B%E8%AE%B0%E4%B8%80%E6%AC%A1%E4%B8%BAdocker%E6%8C%82%E4%BB%A3%E7%90%86%E5%8A%A0%E9%80%9Fdocker-pull%E7%AC%94%E8%AE%B0/</guid><description>Docker镜像下载慢？ 别慌！本文教你如何通过配置代理，快速下载所需镜像。</description><pubDate>Thu, 12 Oct 2023 00:00:00 GMT</pubDate><content:encoded>&lt;h2&gt;起因&lt;/h2&gt;
&lt;p&gt;笔者在搭建&lt;a href=&quot;https://github.com/GalvinGao/NeteaseRecommendationSync/pkgs/container/neteaserecommendationsync&quot;&gt;NeteaseRecommendationSync&lt;/a&gt;项目时发现docker pull的速度非常慢&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://s2.loli.net/2023/10/12/UBdc7SZxeLkaXht.png&quot; alt=&quot;762ec12fefcad3bab795a2495bc2e65.png&quot; /&gt;&lt;/p&gt;
&lt;p&gt;于是去互联网搜索加速相关的资料。&lt;/p&gt;
&lt;h2&gt;&lt;s&gt;尝试设置docker镜像源&lt;/s&gt;（失败）&lt;/h2&gt;
&lt;p&gt;将下载源设为阿里镜像源，结果仍然很慢&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://s2.loli.net/2023/10/12/8CtOuofYd71WFNb.png&quot; alt=&quot;image.png&quot; /&gt;&lt;/p&gt;
&lt;h2&gt;&lt;s&gt;尝试设置系统代理&lt;/s&gt;（失败）&lt;/h2&gt;
&lt;p&gt;将系统代理改成clash的局域网代理，虽然浏览器可以打开谷歌，但是docker pull依然很慢&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://s2.loli.net/2023/10/12/a5uIASeTdORMpvL.png&quot; alt=&quot;image.png&quot; /&gt;&lt;/p&gt;
&lt;h2&gt;正确方法&lt;/h2&gt;
&lt;p&gt;后来得知docker不走系统代理，原来docker需要单独配置代理&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;使用 &lt;code&gt;sudo systemctl edit docker.service&lt;/code&gt;编辑 Docker 的 systemd 服务文件
&lt;img src=&quot;https://s2.loli.net/2023/10/12/iE7nbAxgD4HBoTk.png&quot; alt=&quot;image.png&quot; /&gt;&lt;/li&gt;
&lt;li&gt;添加以下内容到文件中：&lt;/li&gt;
&lt;/ol&gt;
&lt;pre&gt;&lt;code&gt;[Service]
Environment=&quot;HTTP_PROXY=http://代理ip:端口&quot;
Environment=&quot;HTTPS_PROXY=http://代理ip:端口&quot;
Environment=&quot;NO_PROXY=localhost,127.0.0.1,docker-registry.example.com&quot;
&lt;/code&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;code&gt;**请将`代理ip:端口`设为自己的代理地址**
![image.png](https://s2.loli.net/2023/10/12/jn79aoh2YPglbWA.png)
就像这样
&lt;/code&gt;&lt;/pre&gt;
&lt;ol&gt;
&lt;li&gt;&lt;code&gt;ctrl+o&lt;/code&gt;保存,&lt;code&gt;ctrl+x&lt;/code&gt;关闭编辑器&lt;/li&gt;
&lt;li&gt;使用&lt;code&gt;sudo systemctl daemon-reload&lt;/code&gt;重载docker配置&lt;/li&gt;
&lt;li&gt;使用&lt;code&gt;sudo systemctl restart docker&lt;/code&gt;重启docker进程守护&lt;/li&gt;
&lt;li&gt;再次进行docker pull
成功加速！
&lt;img src=&quot;https://s2.loli.net/2023/10/12/g6xpJmR4DwWeykK.png&quot; alt=&quot;image.png&quot; /&gt;&lt;/li&gt;
&lt;/ol&gt;
</content:encoded></item><item><title>电脑Realtek Audio Console消失的解决方法</title><link>https://blog.ytmc.fun/posts/%E7%94%B5%E8%84%91realtek-audio-console%E6%B6%88%E5%A4%B1%E7%9A%84%E8%A7%A3%E5%86%B3%E6%96%B9%E6%B3%95/</link><guid isPermaLink="true">https://blog.ytmc.fun/posts/%E7%94%B5%E8%84%91realtek-audio-console%E6%B6%88%E5%A4%B1%E7%9A%84%E8%A7%A3%E5%86%B3%E6%96%B9%E6%B3%95/</guid><description>Realtek Audio Console不见了？耳机声音还是从喇叭出？ 别慌！这篇教程将带你一步步解决困扰无数Win10、Win11用户的这个恼人问题。我们总结了多种实用的方法，并分享了一个屡试不爽的终极解决方案。</description><pubDate>Wed, 05 Oct 2022 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&amp;lt;!-- wp:image {&quot;id&quot;:97,&quot;sizeSlug&quot;:&quot;large&quot;,&quot;linkDestination&quot;:&quot;none&quot;} --&amp;gt;
&amp;lt;figure class=&quot;wp-block-image size-large&quot;&amp;gt;&amp;lt;img src=&quot;https://s2.loli.net/2024/09/27/aXPuxh9A8DTcQet.png&quot; alt=&quot;&quot; class=&quot;wp-image-97&quot;/&amp;gt;&amp;lt;/figure&amp;gt;
&amp;lt;!-- /wp:image --&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;lt;p&amp;gt;在win10、win11，系统原本的realtek控制面板会消失，由　Realtek Audio Console取而代之，很多人在使用的时候会发现　Realtek Audio Console也消失了，造成插入耳机，但是还是从扬声器出声音的现象，去网上找一堆方法也无法解决，Microsoft store也无法安装　Realtek Audio Console，在修理的过程我发现一种方法可以解决此问题。&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;1.首先重装声卡驱动，重装的方法不多描述，然后你会发现　Realtek Audio Console还是没出现。&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;2.下载　&amp;lt;a href=&quot;https://yitong233-my.sharepoint.com/:u:/g/personal/yitong233_yitong233_onmicrosoft_com/EXVCA_YVLtNCp7HHkOglb3UBcQnkG4S-BfvdaMJICCvxRA?e=Ftm3Jd&quot;&amp;gt;点这里下载&amp;lt;/a&amp;gt; 　Realtek Audio Console uwp版安装包。&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;3.解压，打开用管理员权限运行&amp;lt;img class=&quot;alignnone size-full wp-image-98&quot; src=&quot;https://s2.loli.net/2024/09/27/UKRBhE1zxCItJ5L.png&quot; alt=&quot;&quot; width=&quot;152&quot; height=&quot;29&quot; /&amp;gt;。&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;4.等待。&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;然后打开开始菜单就能看到　Realtek Audio Console了。&amp;lt;/p&amp;gt;&lt;/p&gt;
</content:encoded></item><item><title>小米平板1刷RROS复活“保姆级”教程</title><link>https://blog.ytmc.fun/posts/%E5%B0%8F%E7%B1%B3%E5%B9%B3%E6%9D%BF1%E5%88%B7rros%E5%A4%8D%E6%B4%BB%E4%BF%9D%E5%A7%86%E7%BA%A7%E6%95%99%E7%A8%8B/</link><guid isPermaLink="true">https://blog.ytmc.fun/posts/%E5%B0%8F%E7%B1%B3%E5%B9%B3%E6%9D%BF1%E5%88%B7rros%E5%A4%8D%E6%B4%BB%E4%BF%9D%E5%A7%86%E7%BA%A7%E6%95%99%E7%A8%8B/</guid><description>曾经被遗忘的小米平板1，通过刷入 RROS 重获新生！本教程带你备份、刷机，一步步轻松完成，让你的设备再次焕发青春。</description><pubDate>Tue, 20 Sep 2022 00:00:00 GMT</pubDate><content:encoded>&lt;h2&gt;前言&lt;/h2&gt;
&lt;p&gt;小米平板1发布于2014年5月15日，搭载英伟达神u tegra k1，2K分辨率，7，9寸大屏，如今仅需150-200元就可以收到成色不错的二手米板1，对于轻度使用，看视频，听音乐，看小说漫画来说是十分有性价比的选择。&lt;/p&gt;
&lt;h2&gt;配置与参数&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;项目&lt;/th&gt;
&lt;th&gt;参数&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;处理器型号&lt;/td&gt;
&lt;td&gt;Nvidia Tegra K1 ARM Cortex-A15&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;处理器主频&lt;/td&gt;
&lt;td&gt;2.2GHz&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;处理器核心&lt;/td&gt;
&lt;td&gt;四核心&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;系统内存&lt;/td&gt;
&lt;td&gt;2GB&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;内存类型&lt;/td&gt;
&lt;td&gt;LPDDR3&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;存储容量&lt;/td&gt;
&lt;td&gt;16GB&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;存储介质&lt;/td&gt;
&lt;td&gt;eMMC&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;存储扩展&lt;/td&gt;
&lt;td&gt;支持Micro SD（TF）卡，最大支持128GB&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;屏幕尺寸&lt;/td&gt;
&lt;td&gt;7.9英寸&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;屏幕分辨率&lt;/td&gt;
&lt;td&gt;2048x1536&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;屏幕像素密度&lt;/td&gt;
&lt;td&gt;326PPI&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;屏幕描述&lt;/td&gt;
&lt;td&gt;电容式触摸屏，多点式触摸屏&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;电池类型&lt;/td&gt;
&lt;td&gt;锂电池，6700毫安&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;blockquote&gt;
&lt;p&gt;可惜的是它的官方支援系统只有Android4.4.4，一些现代APP无法正常安装运行。但是，我们可以通过刷机的方式来使它支持Android7以上的系统，这些系统主要分为两种：神盾和非盾。神盾内核无法使用相机。今天我来教大家来刷linxiaozhan魔改的RROS，这也是众多米板1玩家定居的系统，具有优化好、流畅度高、能玩游戏、续航好、可使用相机的特点。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2&gt;工具&amp;amp;准备&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;一双勤劳的手和一颗爱折腾的心&lt;/li&gt;
&lt;li&gt;一台小米平板1&lt;/li&gt;
&lt;li&gt;一根micro-USB数据线一根&lt;/li&gt;
&lt;li&gt;一台电脑（win7系统以上）&lt;/li&gt;
&lt;li&gt;刷系统相关的工具包（文末链接自取)&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;详细步骤&lt;/h2&gt;
&lt;h3&gt;1.下载解压刷机工具包&lt;/h3&gt;
&lt;p&gt;下载地址：&lt;a href=&quot;https://www.123pan.com/s/wUaiVv-PjmRv.html&quot;&gt;https://www.123pan.com/s/wUaiVv-PjmRv.html&lt;/a&gt;
此工具包包含以下内容：
&lt;a href=&quot;https://imgse.com/i/p97OuY6&quot;&gt;&lt;img src=&quot;https://s1.ax1x.com/2023/05/24/p97OuY6.png&quot; alt=&quot;p97OuY6.png&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;各部分具体用途我们会在下文中在展示。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3&gt;2.打开“一键安装安卓驱动_V1.0.5.zip”&lt;/h3&gt;
&lt;p&gt;双击打开上面的exe文件会出现以下画面：
&lt;img src=&quot;https://s2.loli.net/2023/05/24/mXKOoDvJcLC8GtM.png&quot; alt=&quot;QQ截图20220907121700.png&quot; /&gt;&lt;/p&gt;
&lt;p&gt;点击安装即可&lt;/p&gt;
&lt;h3&gt;3.安装搞机助手&lt;/h3&gt;
&lt;blockquote&gt;
&lt;p&gt;搞机助手是流水断崖大佬开发的一款安卓调试桥界面版软件，此软件大大方便了搞机爱好者，避免了复杂难懂的指令，集成adb、fastboot的功能，非常非常方便。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;打开“搞机助手_V4.9.1.exe”按照指示进行安装。&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://s2.loli.net/2023/05/24/cdNKaP2xDrlMwyC.png&quot; alt=&quot;图片4.png&quot; /&gt;&lt;/p&gt;
&lt;h3&gt;4.将平板关机，然后长按“音量+键”和“电源键”，平板将进入下图画面：&lt;/h3&gt;
&lt;p&gt;&lt;img src=&quot;https://s2.loli.net/2023/05/24/zr8YTN9AmMidIJx.jpg&quot; alt=&quot;图片5.jpg&quot; /&gt;&lt;/p&gt;
&lt;p&gt;此处我们使用音量键选择简体中文，然后按电源键确定。&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://s2.loli.net/2023/09/20/gkJ7f8tcPEA6prh.jpg&quot; alt=&quot;3.jpg&quot; /&gt;&lt;/p&gt;
&lt;p&gt;此处选择重新启动&lt;/p&gt;
&lt;p&gt;重启选择进入系统1&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://s2.loli.net/2023/09/20/5Tg1t9buJvAI78l.jpg&quot; alt=&quot;图片2.jpg&quot; /&gt;&lt;/p&gt;
&lt;h2&gt;5.重启后关机，按音量键和电源键进入fastboot模式&lt;/h2&gt;
&lt;p&gt;&lt;img src=&quot;https://s2.loli.net/2023/09/20/s31QvnKhtWq6PgN.jpg&quot; alt=&quot;1695181478157.jpg&quot; /&gt;&lt;/p&gt;
&lt;h2&gt;6.使用数据线连接电脑，打开搞机助手&lt;/h2&gt;
&lt;p&gt;点击左侧引导模式
&lt;img src=&quot;https://s2.loli.net/2023/09/20/Nn6VbITlDuaykLh.png&quot; alt=&quot;QQ截图20220907123802.png&quot; /&gt;
点击右侧“刷入rec”
&lt;img src=&quot;https://s2.loli.net/2023/09/20/gnBHkoGAfKri2vw.png&quot; alt=&quot;QQ截图20220907123814.png&quot; /&gt;
保证绿灯（电脑和平板连接正常），然后点击选择Recovery
&lt;img src=&quot;https://s2.loli.net/2023/09/20/Rc1mXknLpxogaF8.png&quot; alt=&quot;QQ截图20220907123829.png&quot; /&gt;
选择“TWRP_multirom-v2.8.4-mocha.img”
&lt;img src=&quot;https://s2.loli.net/2023/09/20/K5GNdlwOIqozkeV.png&quot; alt=&quot;QQ截图20220907123234.png&quot; /&gt;
点击刷入&lt;/p&gt;
&lt;p&gt;然后
&lt;img src=&quot;https://s2.loli.net/2023/09/20/sxFHgvNMXSZ2DI9.png&quot; alt=&quot;QQ截图20220907123857.png&quot; /&gt;&lt;/p&gt;
&lt;p&gt;平板会自动重启到twrp
&lt;img src=&quot;https://s2.loli.net/2023/09/20/ofpI3uaw9XiWFhc.jpg&quot; alt=&quot;1695181478149.jpg&quot; /&gt;
点击wipe&lt;/p&gt;
&lt;p&gt;点击advanced wipe
&lt;img src=&quot;https://s2.loli.net/2023/09/20/4Vg9mXPGYnrbQaS.png&quot; alt=&quot;image.png&quot; /&gt;
勾选Dalvik Cache，System，Cache，Data
&lt;img src=&quot;https://s2.loli.net/2023/09/20/fOEVtghdaLBHUPS.png&quot; alt=&quot;image.png&quot; /&gt;
然后滑动，完成后点击Back然后点击左下角的小房子返回。
&lt;img src=&quot;https://s2.loli.net/2023/09/20/3QFzksLdbSn4BDy.png&quot; alt=&quot;image.png&quot; /&gt;
&lt;img src=&quot;https://s2.loli.net/2023/09/20/Uhw64bMNtKeSscm.png&quot; alt=&quot;image.png&quot; /&gt;
&lt;img src=&quot;https://s2.loli.net/2023/09/20/ofpI3uaw9XiWFhc.jpg&quot; alt=&quot;1695181478149.jpg&quot; /&gt;&lt;/p&gt;
&lt;h2&gt;7.在twrp2.8.4中刷入合并分区包&lt;/h2&gt;
&lt;p&gt;电脑打开搞机助手，点击左侧恢复模式
&lt;img src=&quot;https://s2.loli.net/2023/09/20/tZXWRdy8wqhKe6o.png&quot; alt=&quot;image.png&quot; /&gt;
点击右侧 推送文件
&lt;img src=&quot;https://s2.loli.net/2023/09/20/nSQ3bK1iNrHLTGw.png&quot; alt=&quot;image.png&quot; /&gt;
把如下文件推送至平板内：&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;202205030144_LinXiaoZhabRRVIPROM终极版.zip&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;magisk.apk&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;fox工具箱.apk&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;Repartition_MI_Pad_1_2GB_zardMi3.zip&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;启动系统核心优化 文件夹&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;之后在平板上点击install&lt;/p&gt;
&lt;p&gt;选择 [Repartition_MI_Pad_1_2GB_zardMi3.zip] 后滑动
&lt;img src=&quot;https://s2.loli.net/2023/09/20/BVCWleqrsXNTaEn.png&quot; alt=&quot;image.png&quot; /&gt;
&lt;img src=&quot;https://s2.loli.net/2023/09/20/Lmou9KYQFwi18RP.png&quot; alt=&quot;image.png&quot; /&gt;
刷入过程中会重新进入rec，进入后点击Reboot然后点击Bootloader然后滑，然后接着滑。会显示一只小兔子。
&lt;img src=&quot;https://s2.loli.net/2023/09/20/s2YnvFlEIuMiwro.png&quot; alt=&quot;image.png&quot; /&gt;
&lt;img src=&quot;https://s2.loli.net/2023/09/20/s31QvnKhtWq6PgN.jpg&quot; alt=&quot;1695181478157.jpg&quot; /&gt;&lt;/p&gt;
&lt;h2&gt;8.刷入twrp3.2.1&lt;/h2&gt;
&lt;p&gt;在搞机助手中点击左侧引导模式
&lt;img src=&quot;https://s2.loli.net/2023/09/20/Nn6VbITlDuaykLh.png&quot; alt=&quot;QQ截图20220907123802.png&quot; /&gt;
点击右侧 刷入rec
&lt;img src=&quot;https://s2.loli.net/2023/09/20/gnBHkoGAfKri2vw.png&quot; alt=&quot;QQ截图20220907123814.png&quot; /&gt;
选择 TWRP_multirom-v3.2.1shield-mocha.img
&lt;img src=&quot;https://s2.loli.net/2023/09/20/fx1prbjImR2sWhJ.png&quot; alt=&quot;image.png&quot; /&gt;
刷入
&lt;img src=&quot;https://s2.loli.net/2023/09/20/tCiIRavXhLVyMUg.png&quot; alt=&quot;image.png&quot; /&gt;
&lt;img src=&quot;https://s2.loli.net/2023/09/20/3VFf7MY215wJDc8.png&quot; alt=&quot;image.png&quot; /&gt;
平板会自动进入twrp（进入前会黑屏一段时间……）
&lt;img src=&quot;https://s2.loli.net/2023/09/20/8cEPJgGVRKDutZL.png&quot; alt=&quot;image.png&quot; /&gt;&lt;/p&gt;
&lt;h2&gt;9.刷入系统包&lt;/h2&gt;
&lt;p&gt;点击install,找到[20220325_LinXiaoZhanHONORABLEROM]
&lt;img src=&quot;https://s2.loli.net/2023/09/20/QhzBAwGtrk6NRp8.png&quot; alt=&quot;image.png&quot; /&gt;
&lt;img src=&quot;https://s2.loli.net/2023/09/20/dEJ65ulVP3rqLxF.png&quot; alt=&quot;image.png&quot; /&gt;
滑动&lt;/p&gt;
&lt;p&gt;坐等刷入完毕……
&lt;img src=&quot;https://s2.loli.net/2023/09/20/9sNJCXrYIfZKD2v.png&quot; alt=&quot;image.png&quot; /&gt;
点击Reboot System
&lt;img src=&quot;https://s2.loli.net/2023/09/20/OLKBgMNuGp1n54y.png&quot; alt=&quot;image.png&quot; /&gt;
然后点击Do Not lnstall然后等待进入系统。
&lt;img src=&quot;https://s2.loli.net/2023/09/20/JrSocz5jPfTkKga.png&quot; alt=&quot;image.png&quot; /&gt;&lt;/p&gt;
&lt;h2&gt;10.进入系统，调设置&lt;/h2&gt;
&lt;p&gt;1.进去后有magisk有提示点OK，然后点击ALLOW然后点击DISMISS，然后点击设置→Langues&amp;amp;input→Languages→Add a language→滑到底有中文→然后点左上角的三个点→Remove→√上英文→点击删掉。然后就是中文了
&lt;img src=&quot;https://s2.loli.net/2023/09/20/1oMiCY8vTtmK9RD.png&quot; alt=&quot;image.png&quot; /&gt;
&lt;img src=&quot;https://s2.loli.net/2023/09/20/RdA5HqourvnV8Xf.png&quot; alt=&quot;image.png&quot; /&gt;
&lt;img src=&quot;https://s2.loli.net/2023/09/20/RdA5HqourvnV8Xf.png&quot; alt=&quot;image.png&quot; /&gt;
&lt;img src=&quot;https://s2.loli.net/2023/09/20/R1XmTjUVoPpgh8z.png&quot; alt=&quot;image.png&quot; /&gt;
&lt;img src=&quot;https://s2.loli.net/2023/09/20/suEgpCNRq7nXKkj.png&quot; alt=&quot;image.png&quot; /&gt;
&lt;img src=&quot;https://s2.loli.net/2023/09/20/MH3rImdOJW61vFN.png&quot; alt=&quot;image.png&quot; /&gt;
&lt;img src=&quot;https://s2.loli.net/2023/09/20/OohkCKzyV1bqGid.png&quot; alt=&quot;image.png&quot; /&gt;
&lt;img src=&quot;https://s2.loli.net/2023/09/20/8BsMfh2D6nlubdC.png&quot; alt=&quot;image.png&quot; /&gt;
2.返回到设置页面滑到底点击关于平板→连点版本号10下打开开发者选项→返回找到开发者选项→usb调试打开→点进去把那三个缩放都调为0，然后打开强制GPU渲染。
&lt;img src=&quot;https://s2.loli.net/2023/09/20/4n6tiExAzQ2HSqD.png&quot; alt=&quot;image.png&quot; /&gt;
&lt;img src=&quot;https://s2.loli.net/2023/09/20/5nrzeFCdJtvXHBD.png&quot; alt=&quot;image.png&quot; /&gt;
&lt;img src=&quot;https://s2.loli.net/2023/09/20/DxVj6eslK9QRWru.png&quot; alt=&quot;image.png&quot; /&gt;&lt;/p&gt;
&lt;p&gt;3.返回到桌面。点击文件管理器→找到放入的magisk.apk→点击下一步→安装→安装完后打开→会提示你要修复运行环境→点击确定等待重启完成→进入系统后会有一个软件申请root点击允许。
&lt;img src=&quot;https://s2.loli.net/2023/09/20/HSx18FkuMUVjidz.png&quot; alt=&quot;image.png&quot; /&gt;
&lt;img src=&quot;https://s2.loli.net/2023/09/20/Vrhf1eXL7lisSAD.png&quot; alt=&quot;image.png&quot; /&gt;
&lt;img src=&quot;https://s2.loli.net/2023/09/20/PahHXSwnFK4MU8z.png&quot; alt=&quot;image.png&quot; /&gt;
&lt;img src=&quot;https://s2.loli.net/2023/09/20/yDZHxgp9QFbRVcf.png&quot; alt=&quot;image.png&quot; /&gt;
&lt;img src=&quot;https://s2.loli.net/2023/09/20/JDaHeUZR8TzsAXV.png&quot; alt=&quot;image.png&quot; /&gt;&lt;/p&gt;
&lt;p&gt;4.打开文件管理器打开启动系统核心优化的文件夹→找到了钛备份（专业版）→点击安装→安装完毕后返回桌面长按钛备份→点击详情→点击储存，清除全部数据。然后返回。点击权限。打开存储空间电话通讯录→返回到桌面打开钛备份→允许root→点击确定→点击右上角的菜单→点击导入备份（.TiBkp）→点击文件管理→点击启动系统核心优化文件夹。把里面的其余的4个文件恢复备份→都是点数据→有一些会显示正在运行，你就点确定→将文件全都恢复后。
&lt;img src=&quot;https://s2.loli.net/2023/09/20/IHcXBwlgmrOC2Wy.png&quot; alt=&quot;image.png&quot; /&gt;
&lt;img src=&quot;https://s2.loli.net/2023/09/20/IHcXBwlgmrOC2Wy.png&quot; alt=&quot;image.png&quot; /&gt;
&lt;img src=&quot;https://s2.loli.net/2023/09/20/86JQUd23hfsegcn.png&quot; alt=&quot;image.png&quot; /&gt;
&lt;img src=&quot;https://s2.loli.net/2023/09/20/wnrUb3Ej1JGsOeM.png&quot; alt=&quot;image.png&quot; /&gt;
&lt;img src=&quot;https://s2.loli.net/2023/09/20/DPKxMUWJheNlVmC.png&quot; alt=&quot;image.png&quot; /&gt;
&lt;img src=&quot;https://s2.loli.net/2023/09/20/Q3MLHg8xvcNR29s.png&quot; alt=&quot;image.png&quot; /&gt;
&lt;img src=&quot;https://s2.loli.net/2023/09/20/jg9DwyYUEoGRN2x.png&quot; alt=&quot;image.png&quot; /&gt;
&lt;img src=&quot;https://s2.loli.net/2023/09/20/WjJZSl2sTpqyk34.png&quot; alt=&quot;image.png&quot; /&gt;
&lt;img src=&quot;https://s2.loli.net/2023/09/20/j5d2zkEIqRnQZvu.png&quot; alt=&quot;image.png&quot; /&gt;
5.返回到桌面打开设置→点击无障碍→打开绿色守护，Tasker&lt;/p&gt;
&lt;p&gt;6.重启→打开RAM守护→使用root 启动→会显示被拒绝了→返回到桌面点开Alpha→点击超级用户点击RAM守护。允许然后返回桌面。→打开RAM守护。然后点击使用ROOT启动→然后用户应用只黑域钛备份→系统应用只留。流体手势，应用优化终端，绿色守护，讯飞输入法。剩下其他的都黑域掉。返回桌面
&lt;img src=&quot;https://s2.loli.net/2023/09/20/ZJDQ6PI75UW2faR.png&quot; alt=&quot;image.png&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://s2.loli.net/2023/09/20/TFCXybil9LYehz5.png&quot; alt=&quot;image.png&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://s2.loli.net/2023/09/20/sdcyAB275NuKUli.png&quot; alt=&quot;image.png&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://s2.loli.net/2023/09/20/vThI9OqdXpiHBMG.png&quot; alt=&quot;image.png&quot; /&gt;
7.点击绿色守护→允许root申请。点击设置→应用点击→应用优化终端→权限全部打开→状态栏滑下来一直点击浏览器视频等等→会向你申请root权限你点允许，然后他会重启→进入系统后状态栏滑下来。点击抖音快手b站等等→会自动重启。
&lt;img src=&quot;https://s2.loli.net/2023/09/20/MGWlhL7qmwHsUo2.png&quot; alt=&quot;image.png&quot; /&gt;
&lt;img src=&quot;https://s2.loli.net/2023/09/20/amW2nQrRhYDZCM6.png&quot; alt=&quot;image.png&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://s2.loli.net/2023/09/20/NAWSR1wC6JTfb45.png&quot; alt=&quot;image.png&quot; /&gt;
&lt;img src=&quot;https://s2.loli.net/2023/09/20/6w5x8fT1yCgKbWI.png&quot; alt=&quot;image.png&quot; /&gt;
&lt;img src=&quot;https://s2.loli.net/2023/09/20/rDEMG92whg8NjaI.png&quot; alt=&quot;image.png&quot; /&gt;
&lt;img src=&quot;https://s2.loli.net/2023/09/20/lST6WHucPXiJjbF.png&quot; alt=&quot;image.png&quot; /&gt;
&lt;img src=&quot;https://s2.loli.net/2023/09/20/fQFxIVZPdA4WLS2.png&quot; alt=&quot;image.png&quot; /&gt;&lt;/p&gt;
&lt;h2&gt;11.修改系统dpi，打开输入法&lt;/h2&gt;
&lt;p&gt;安装fox工具箱
&lt;img src=&quot;https://s2.loli.net/2023/09/20/wGTgaFPmzq68Ekn.png&quot; alt=&quot;image.png&quot; /&gt;
授予root权限&lt;/p&gt;
&lt;p&gt;点击分辨率修改&lt;/p&gt;
&lt;p&gt;改成1440x1920&lt;/p&gt;
&lt;p&gt;应用&lt;/p&gt;
&lt;p&gt;返回点击修改dpi&lt;/p&gt;
&lt;p&gt;改成300 并应用&lt;/p&gt;
&lt;p&gt;本教程完毕！&lt;/p&gt;
</content:encoded></item><item><title>30元贝尔S-010W-AV2B联通盒子刷机复活记录</title><link>https://blog.ytmc.fun/posts/30%E5%85%83%E8%B4%9D%E5%B0%94s-010w-av2b%E8%81%94%E9%80%9A%E7%9B%92%E5%AD%90%E5%88%B7%E6%9C%BA%E5%A4%8D%E6%B4%BB%E8%AE%B0%E5%BD%95/</link><guid isPermaLink="true">https://blog.ytmc.fun/posts/30%E5%85%83%E8%B4%9D%E5%B0%94s-010w-av2b%E8%81%94%E9%80%9A%E7%9B%92%E5%AD%90%E5%88%B7%E6%9C%BA%E5%A4%8D%E6%B4%BB%E8%AE%B0%E5%BD%95/</guid><description>之前我们花30元在闲鱼收了一台电视盒子，由于没有开通联通的iptv，导致无法正常使用，现在由我来教大家如何对这台盒子进行刷机，让其复活把！</description><pubDate>Wed, 17 Aug 2022 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;之前我们花30元在闲鱼收了一台电视盒子，由于没有开通联通的iptv，导致无法正常使用，现在由我来教大家如何对这台盒子进行刷机，让其复活把！
&amp;lt;!-- wp:html --&amp;gt;
盒子配置：
&amp;lt;a href=&quot;&quot;&amp;gt;&amp;lt;img src=&quot;https://s1.ax1x.com/2022/08/18/vD7yAs.md.jpg&quot; alt=&quot;vD7yAs.jpg&quot; border=&quot;0&quot;&amp;gt;&amp;lt;/a&amp;gt;
&amp;lt;!-- /wp:html --&amp;gt;
型号：s-010w-av2b
CPU：RK3228H-D
内存：1+8G
网卡：瑞昱8189FTV
其他硬件情况：
✅USB3.0
✅杜比音效
✅网口
✅闪存卡
✅4K解码
✅H265
&amp;lt;!-- wp:heading {&quot;className&quot;:&quot;is-style-default&quot;} --&amp;gt;
&amp;lt;h2 class=&quot;is-style-default&quot;&amp;gt;保姆式刷机教程：&amp;lt;/h2&amp;gt;
&amp;lt;!-- /wp:heading --&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;lt;!-- wp:paragraph --&amp;gt;
&amp;lt;p&amp;gt;1.下载刷机包 ?&amp;lt;a href=&quot;https://yitong233-my.sharepoint.com/:u:/g/personal/yitong233_yitong233_onmicrosoft_com/EZzIeE8IjCdNgmJtSTrFzigBw_ylETzOyrafOUP36phOKA?e=NBvXeg&quot; target=&quot;_blank&quot; rel=&quot;noreferrer noopener&quot;&amp;gt;立刻下载&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;
&amp;lt;!-- /wp:paragraph --&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;lt;!-- wp:paragraph --&amp;gt;
&amp;lt;p&amp;gt;2.准备一个U盘，保证格式为FAT32&amp;lt;/p&amp;gt;
&amp;lt;!-- /wp:paragraph --&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;lt;!-- wp:paragraph --&amp;gt;
&amp;lt;p&amp;gt;3.将U盘插入电脑&amp;lt;/p&amp;gt;
&amp;lt;!-- /wp:paragraph --&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;lt;!-- wp:paragraph --&amp;gt;
&amp;lt;p&amp;gt;4.将文件重命名为update.zip并放入U盘根目录&amp;lt;/p&amp;gt;
&amp;lt;!-- /wp:paragraph --&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;lt;!-- wp:paragraph --&amp;gt;
&amp;lt;p&amp;gt;5.将U盘拔出&amp;lt;/p&amp;gt;
&amp;lt;!-- /wp:paragraph --&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;lt;!-- wp:paragraph --&amp;gt;
&amp;lt;p&amp;gt;6.将盒子电源关闭，插入U盘，插入电源，打开盒子开关，盒子将自动升级，如下图&amp;lt;/p&amp;gt;
&amp;lt;!-- /wp:paragraph --&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;lt;!-- wp:image {&quot;sizeSlug&quot;:&quot;large&quot;} --&amp;gt;
&amp;lt;figure class=&quot;wp-block-image size-large&quot;&amp;gt;&amp;lt;img src=&quot;https://s1.ax1x.com/2022/08/18/vDjK54.jpg&quot; alt=&quot;&quot;/&amp;gt;&amp;lt;/figure&amp;gt;
&amp;lt;!-- /wp:image --&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;lt;!-- wp:paragraph --&amp;gt;
&amp;lt;p&amp;gt;7.等待&amp;lt;/p&amp;gt;
&amp;lt;!-- /wp:paragraph --&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;lt;!-- wp:paragraph --&amp;gt;
&amp;lt;p&amp;gt;8.升级完毕，就这么简单，盒子得以复活&amp;lt;/p&amp;gt;
&amp;lt;!-- /wp:paragraph --&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;lt;!-- wp:image {&quot;sizeSlug&quot;:&quot;large&quot;} --&amp;gt;
&amp;lt;figure class=&quot;wp-block-image size-large&quot;&amp;gt;&amp;lt;img src=&quot;https://s1.ax1x.com/2022/08/18/vD7yAs.jpg&quot; alt=&quot;&quot;/&amp;gt;&amp;lt;/figure&amp;gt;
&amp;lt;!-- /wp:image --&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;lt;!-- wp:group {&quot;layout&quot;:{&quot;type&quot;:&quot;default&quot;}} --&amp;gt;
&amp;lt;div class=&quot;wp-block-group&quot;&amp;gt;&amp;lt;!-- wp:quote --&amp;gt;
&amp;lt;blockquote class=&quot;wp-block-quote&quot;&amp;gt;&amp;lt;p&amp;gt;补一张拆机图&amp;lt;/p&amp;gt;&amp;lt;cite&amp;gt;转自：&amp;lt;a href=&quot;https://www.163.com/dy/article/EUET47UM0531AFNT.html&quot;&amp;gt;网页链接&amp;lt;/a&amp;gt;&amp;lt;/cite&amp;gt;&amp;lt;/blockquote&amp;gt;
&amp;lt;!-- /wp:quote --&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;lt;!-- wp:image {&quot;sizeSlug&quot;:&quot;large&quot;} --&amp;gt;
&amp;lt;figure class=&quot;wp-block-image size-large&quot;&amp;gt;&amp;lt;img src=&quot;https://nimg.ws.126.net/?url=http%3A%2F%2Fdingyue.ws.126.net%2F2019%2F11%2F20%2Fad2ef9a0d0ba428f83f8ecaaf9082cd9.png&amp;amp;thumbnail=660x2147483647&amp;amp;quality=80&amp;amp;type=jpg&quot; alt=&quot;&quot;/&amp;gt;&amp;lt;/figure&amp;gt;
&amp;lt;!-- /wp:image --&amp;gt;&amp;lt;/div&amp;gt;
&amp;lt;!-- /wp:group --&amp;gt;&lt;/p&gt;
</content:encoded></item><item><title>百元装机挑战——100元am2神机</title><link>https://blog.ytmc.fun/posts/%E7%99%BE%E5%85%83%E8%A3%85%E6%9C%BA%E6%8C%91%E6%88%98100%E5%85%83am2%E7%A5%9E%E6%9C%BA/</link><guid isPermaLink="true">https://blog.ytmc.fun/posts/%E7%99%BE%E5%85%83%E8%A3%85%E6%9C%BA%E6%8C%91%E6%88%98100%E5%85%83am2%E7%A5%9E%E6%9C%BA/</guid><description>100元装一台电脑？真的可以么！</description><pubDate>Sat, 30 Jul 2022 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;strong&gt;配置如下&lt;/strong&gt;：&lt;/p&gt;
&lt;p&gt;直播装一套老 am2&lt;br /&gt;
cpu ：amd x2 5200          淘宝15元&lt;br /&gt;
主板：翔升am2+               白嫖0元&lt;br /&gt;
内存 ddr2 800 2g×2        淘宝12元&lt;br /&gt;
显卡 主板自带集显                      0元&lt;br /&gt;
硬盘 杂牌32g固态+320g机械   淘宝45元&lt;br /&gt;
电源 大水牛额定300w       二手机箱自带 0元&lt;br /&gt;
机箱 p6小机箱    （带电源）   30元&lt;/p&gt;
&lt;p&gt;散热器   双热管      （自己的） 0元&lt;/p&gt;
&lt;p&gt;总价 92元&lt;/p&gt;
&lt;p&gt;配件图如下：&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://s3.bmp.ovh/imgs/2022/07/30/3fd0d3abd5f10a1b.jpg&quot; alt=&quot;配件图&quot; /&gt;&lt;/p&gt;
&lt;p&gt;详细配置图：&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://s3.bmp.ovh/imgs/2022/07/30/bf6c51f566702c91.jpg&quot; alt=&quot;详细配置图&quot; /&gt;&lt;/p&gt;
&lt;p&gt;娱乐大师：&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://s3.bmp.ovh/imgs/2022/07/30/592cd386b129d996.jpg&quot; alt=&quot;娱乐大师&quot; /&gt;&lt;/p&gt;
&lt;p&gt;总结：&lt;/p&gt;
&lt;p&gt;10多年前的老机器了，放现在也就看个视频，玩个4399，但是博主第一次接触的台式机就是这个配置，曾经在那台机器上学会了使用电脑，玩着罪恶都市，血战上海滩一类的游戏，现在把它装出来就有一番回忆的感觉。&lt;/p&gt;
</content:encoded></item></channel></rss>