<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Dragon__Wu的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Dragon__Wu</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Dragon__Wu]]></copyright><item><title><![CDATA[一个简易的音频播放器实现]]></title><link>https://blog.youkuaiyun.com/Dragon__Wu/article/details/109593256</link><guid>https://blog.youkuaiyun.com/Dragon__Wu/article/details/109593256</guid><author>Dragon__Wu</author><pubDate>Tue, 10 Nov 2020 10:12:22 +0800</pubDate><description><![CDATA[一个简易的音频播放器实现
XML代码块
&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:orientation="vertical"
    android:layout_height="match_parent"]]></description><category></category></item><item><title><![CDATA[使用通知]]></title><link>https://blog.youkuaiyun.com/Dragon__Wu/article/details/109527883</link><guid>https://blog.youkuaiyun.com/Dragon__Wu/article/details/109527883</guid><author>Dragon__Wu</author><pubDate>Fri, 06 Nov 2020 11:07:12 +0800</pubDate><description><![CDATA[使用通知
​	Android 8.0引入了通知渠道的概念，每一条通知都对应一个通知渠道，每个应用程序都可以自由地建立需要的通知渠道，但是通知渠道的控制权是掌握在用户手上的。这样用户就可以自由的选择所需要的通知，不怕被打扰了。
通知渠道一旦建立就不可以更改，因此需要开发者仔细分析自己的应用程序需要哪些类型的通知，然后再去创建相应的渠道。
通知渠道的创建
​	1、首先需要一个NotificationManager对通知进行管理，如下：
NotificationManager manager = (Notific]]></description><category></category></item><item><title><![CDATA[Android多线程的消息异步机制实现小例子]]></title><link>https://blog.youkuaiyun.com/Dragon__Wu/article/details/109512407</link><guid>https://blog.youkuaiyun.com/Dragon__Wu/article/details/109512407</guid><author>Dragon__Wu</author><pubDate>Thu, 05 Nov 2020 15:10:24 +0800</pubDate><description><![CDATA[文章目录在子线程中更新UI
在子线程中更新UI
在Android中是不允许在子线程中更新UI的，但是有的时候又必须去子线程中处理耗时操作，，然后跟据处理的结果来更新相应的UI控件。这时候可以使用Android提供的一套异步消息处理机制，完美的解决了在子线程中进行UI操作的问题
1.首先，定义一个Handler()对象，在其中重写handlerMessage()方法
2.然后可以在触发事件中，开启子线程，在子线程中创建一个Message对象，并使message.what=1;
再用上一步的handler.se]]></description><category></category></item><item><title><![CDATA[RecyclerView的点击事件]]></title><link>https://blog.youkuaiyun.com/Dragon__Wu/article/details/109463077</link><guid>https://blog.youkuaiyun.com/Dragon__Wu/article/details/109463077</guid><author>Dragon__Wu</author><pubDate>Tue, 03 Nov 2020 10:19:25 +0800</pubDate><description><![CDATA[文章目录实现recyclerView的子项点击事件
实现recyclerView的子项点击事件
第一种方法：我们可以这么做。在Adapter中，因为
内部类ViewHolder是调用父类中的构造函数super(itemView)，这个itemView就是当前子项布局，可以直接在其中以itemView.setOnclickListener设置点击事件；
当然也可以在其中先找到子项布局中的各个控件，分别设置点击事件。如：
public class StandTypeHolder extends Recycler]]></description><category></category></item><item><title><![CDATA[RecyclerView的使用]]></title><link>https://blog.youkuaiyun.com/Dragon__Wu/article/details/109462052</link><guid>https://blog.youkuaiyun.com/Dragon__Wu/article/details/109462052</guid><author>Dragon__Wu</author><pubDate>Tue, 03 Nov 2020 09:48:54 +0800</pubDate><description><![CDATA[文章目录添加RecyclerView依赖RecyclerView的使用步骤
添加RecyclerView依赖
1.首先在打开项目时，右键项目标题，点击open Module Settings，选择Dependencies,点击+号，选择Library Dependency,就可以在搜索框中找到所有版本的依赖了，点击OK即可。



RecyclerView的使用步骤
1.首先在布局文件下添加recyclerView控件，添加id，然后就可以在Activity中找到控件。
2.要想使用recyclerView]]></description><category></category></item><item><title><![CDATA[在活动中使用Menu]]></title><link>https://blog.youkuaiyun.com/Dragon__Wu/article/details/109461587</link><guid>https://blog.youkuaiyun.com/Dragon__Wu/article/details/109461587</guid><author>Dragon__Wu</author><pubDate>Tue, 03 Nov 2020 09:15:40 +0800</pubDate><description><![CDATA[文章目录在活动中使用Menu
在活动中使用Menu
1.在res目录下新建目录Menu,然后再Menu目录下新建以menu命名的xml文件，，且文件内根元素为menu。
这样就就可以在里面添加菜单标题了。一个item就是一个标题。可以有id以及title。
一个标题还能内嵌下一级标题
&lt;menu xmlns:android="http://schemas.android.com/apk/res/android"&gt;
    &lt;item android:title="ListView效果"
 ]]></description><category></category></item><item><title><![CDATA[尚学堂第十一章多线程习题答案]]></title><link>https://blog.youkuaiyun.com/Dragon__Wu/article/details/108053671</link><guid>https://blog.youkuaiyun.com/Dragon__Wu/article/details/108053671</guid><author>Dragon__Wu</author><pubDate>Mon, 17 Aug 2020 13:13:07 +0800</pubDate><description><![CDATA[一：
1.A 2.C 3.AB 4.C 5.D
三：
1.下面展示一些 内联代码片。
/**
 * 	设计一个多线程，火车售票模拟程序
 * 	假如有100张票要卖出，现有5个售票点同时售票，模拟售卖情况
 * @author Justin_Wu
 *
 */
public class Code1 implements Runnable{
	private static int ticketNum=100;
	private boolean flag = true;
	private int count1;]]></description><category></category></item><item><title><![CDATA[java中ArrayList和LinkedList的一些底层实现]]></title><link>https://blog.youkuaiyun.com/Dragon__Wu/article/details/107481230</link><guid>https://blog.youkuaiyun.com/Dragon__Wu/article/details/107481230</guid><author>Dragon__Wu</author><pubDate>Tue, 21 Jul 2020 09:47:27 +0800</pubDate><description><![CDATA[ArrayList和LinkedList都是List的实现类，ArrayList底层是用数组实现的，但是能够存储任意个数的元素，不像数组要先确定元素的个数，它会根据元素个数进行扩容，查询效率搞，增删效率低，线程不安全；初始数组长度默认为10，如果存满，就会自动扩容为原数组长度+原数组一半的长度进行扩容，并将原数组内容复制到新的数组里面；
LinkedList底层是采用双向链表来实现的，特点是查询效率低，增删效率高，线程不安全。
Vector向量，底层是一个长度可以动态增长的对象数组，他的相关方法都进行了线程]]></description><category></category></item><item><title><![CDATA[JAVA中泛型的简单样例]]></title><link>https://blog.youkuaiyun.com/Dragon__Wu/article/details/107441974</link><guid>https://blog.youkuaiyun.com/Dragon__Wu/article/details/107441974</guid><author>Dragon__Wu</author><pubDate>Sun, 19 Jul 2020 10:47:47 +0800</pubDate><description><![CDATA[@简单的泛型样例
泛型的功能
类似于在使用之前用符号占用了一个类型选项，后面使用需要具体到哪种类型，有点类似形参和实参，常用的符号有E、T、V
public class TestGeneric {
public static void main(String[] args) {
Collection col = new Collection&lt;&gt;();
col.set(“模拟”, 1);
col.set(“张三”, 2);
System.out.println(col.get(1));
}
}
c]]></description><category></category></item><item><title><![CDATA[HashMap的特点以及和HashTable的区别]]></title><link>https://blog.youkuaiyun.com/Dragon__Wu/article/details/106411459</link><guid>https://blog.youkuaiyun.com/Dragon__Wu/article/details/106411459</guid><author>Dragon__Wu</author><pubDate>Thu, 28 May 2020 19:10:00 +0800</pubDate><description><![CDATA[#HashMap和HashTable的区别
HashMap采用散列算法来实现，是Map接口最常用的实现类。由于底层使用的是哈希表来存储数据，因此，要求键不能重复，一旦重复，新的键值会将原来的键值覆盖掉。
HashMap在查找，增删方面的效率很高。
HashMap和HashTabel用法几乎一样，底层实现也几乎一样，但是HashTable的方法添加了synchronized关键字以确保线程同步检查，效率较低。
HashMap:线程不安全，效率高。允许key或value为null;
HashTable:线程安全]]></description><category></category></item></channel></rss>