<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[maoyusan的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/maoyusan</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; maoyusan]]></copyright><item><title><![CDATA[myBatis学习的使用]]></title><link>https://blog.youkuaiyun.com/maoyusan/article/details/121085683</link><guid>https://blog.youkuaiyun.com/maoyusan/article/details/121085683</guid><author>maoyusan</author><pubDate>Mon, 01 Nov 2021 18:34:36 +0800</pubDate><description><![CDATA[添加配置mybatis-config


&lt;?xml version="1.0" encoding="UTF-8" ?&gt;
&lt;!DOCTYPE configuration
        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-config.dtd"&gt;
&lt;configuration&gt;
    &lt;properties resource="d]]></description><category></category></item><item><title><![CDATA[Android之游戏开发（植物大战僵尸）]]></title><link>https://blog.youkuaiyun.com/maoyusan/article/details/120418371</link><guid>https://blog.youkuaiyun.com/maoyusan/article/details/120418371</guid><author>maoyusan</author><pubDate>Tue, 28 Sep 2021 01:06:54 +0800</pubDate><description><![CDATA[画布


]]></description><category></category></item><item><title><![CDATA[昨日个人总结]]></title><link>https://blog.youkuaiyun.com/maoyusan/article/details/120306212</link><guid>https://blog.youkuaiyun.com/maoyusan/article/details/120306212</guid><author>maoyusan</author><pubDate>Wed, 15 Sep 2021 12:45:42 +0800</pubDate><description><![CDATA[昨天买了一个1t移动硬盘，装系统倒是挺快的，存了很多视频资料，发现空间依然很大，感觉买的不值得，因为自己电脑的控件是足够的，所以相当于买了浪费，再加上想用手机读取电脑的东西可以用远程桌面，这个一个软件就能是实现的事情为什么要使用移动硬盘插上来用，那个玩意又占空间，手拿手机和它不方便，容易发烫耗电特别块，所以这是很不合理的地方，没有深度思考利与弊。

   后面又个寝室的同学装系统，给自己u盘做成了启动盘，但是电脑按F9它查找不到，那个用了八年的u盘却没啥问题，重装系统的时候因为测试自...]]></description><category></category></item><item><title><![CDATA[Android Adapter 点击按钮展示更多数据遇到的坑]]></title><link>https://blog.youkuaiyun.com/maoyusan/article/details/120107316</link><guid>https://blog.youkuaiyun.com/maoyusan/article/details/120107316</guid><author>maoyusan</author><pubDate>Sat, 04 Sep 2021 23:02:07 +0800</pubDate><description><![CDATA[从网络请求得到数据的不要追加新集合，直接使用sulist重新设置adapter 不用使用adapter.notifyDataSetChanged()进行更新不知道是什么bug会导致数据重复，这样写法得再加个判断，否则找不到数据再渲染会导致闪退。


  if (rows.size() &gt;= i + 5) {
                    recy.setAdapter(new MyRecyAdapter(rows.subList(0, i = i + 5)));
            ..]]></description><category></category></item><item><title><![CDATA[Android——遇到的问题（一）]]></title><link>https://blog.youkuaiyun.com/maoyusan/article/details/120028375</link><guid>https://blog.youkuaiyun.com/maoyusan/article/details/120028375</guid><author>maoyusan</author><pubDate>Tue, 31 Aug 2021 22:30:42 +0800</pubDate><description><![CDATA[当集合里面还有集合的时候，如果渲染Adapter会无从下手，那为什么不把集合里的每个集合的元素都放在一个元素里面？所以可以fori循环大的循环，然后新建一个集合，根据下标，遍历大循环，然后调用新集合的.addAll,就会把所有元素添加到新集合里面。

关于权限问题，高版本权限可能需要动态权限申请，暂时问题没有解决，后面需要注意。

id是可以重复定义的，这意味着可以对布局进行复用，用include直接引用，同时也可以从里面找到布局信息。

关于变量名最好统一前缀，变量名尽量简单，因为后面写的活动类或者布局太]]></description><category></category></item><item><title><![CDATA[模仿sql查询集合对象过滤符合条件]]></title><link>https://blog.youkuaiyun.com/maoyusan/article/details/119849011</link><guid>https://blog.youkuaiyun.com/maoyusan/article/details/119849011</guid><author>maoyusan</author><pubDate>Sun, 22 Aug 2021 10:03:11 +0800</pubDate><description><![CDATA[List&lt;User&gt; list = new ArrayList&lt;&gt;();
        User user1 = new User("张三",15,"男");
        User user2 = new User("李四",22,"男");
        User user3 = new User("王五",25,"男");
        User user4 = new User("赵六",30,"男");
        User user5 = new User..]]></description><category></category></item><item><title><![CDATA[android之Gaile更新头像]]></title><link>https://blog.youkuaiyun.com/maoyusan/article/details/119721740</link><guid>https://blog.youkuaiyun.com/maoyusan/article/details/119721740</guid><author>maoyusan</author><pubDate>Sun, 15 Aug 2021 22:44:21 +0800</pubDate><description><![CDATA[头像每次上传一定不能重复命名，否则Gaile会自动加载缓存里面的图片，而不是服务器上传后的图片，需要每次头像不重名，这就可以图片名字加一个时间，这样每次上传的图片名字都不一样，获取的时候也不一样，那么如何获取，很简单，数据库更新每次上传头像名字+时间的图片，然后 获取请求只需要查询该图片名字字段，条件就是用户名的名字。
...]]></description><category></category></item><item><title><![CDATA[超简单实现：Android头像拍照或相册上传]]></title><link>https://blog.youkuaiyun.com/maoyusan/article/details/119672054</link><guid>https://blog.youkuaiyun.com/maoyusan/article/details/119672054</guid><author>maoyusan</author><pubDate>Fri, 13 Aug 2021 11:43:55 +0800</pubDate><description><![CDATA[网上很多写的过于复杂，这个是我写过最简单的方式。

先导入一个强大的图片加载框架,Glide

点击上传头像实现的方法


 /*打开图库*/
        Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
        intent.setType("image/*");
    //处理返回集
        startActivityForResult(intent, 2); 




点击拍照实现的方法


 打开相机
 Intent.]]></description><category></category></item><item><title><![CDATA[Android实现头像拍照或相册上传]]></title><link>https://blog.youkuaiyun.com/maoyusan/article/details/119617309</link><guid>https://blog.youkuaiyun.com/maoyusan/article/details/119617309</guid><author>maoyusan</author><pubDate>Wed, 11 Aug 2021 21:58:52 +0800</pubDate><description><![CDATA[一、相机拍照

先配置里添加文件读写权限


   &lt;!-- 读写文件权限 --&gt;
&lt;uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /&gt;
    &lt;uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /&gt;

在res下面的xml新建一个file_paths配置文件


&lt;?x.]]></description><category></category></item><item><title><![CDATA[Android之PopupWindow制作底部弹窗]]></title><link>https://blog.youkuaiyun.com/maoyusan/article/details/119612911</link><guid>https://blog.youkuaiyun.com/maoyusan/article/details/119612911</guid><author>maoyusan</author><pubDate>Wed, 11 Aug 2021 17:59:21 +0800</pubDate><description><![CDATA[先创建一个底部弹窗的资源文件




&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:background="#fff"
        android:layout_height="match..]]></description><category></category></item><item><title><![CDATA[Android Adapter notifyDataSetChanged()更新失败的原因]]></title><link>https://blog.youkuaiyun.com/maoyusan/article/details/119137689</link><guid>https://blog.youkuaiyun.com/maoyusan/article/details/119137689</guid><author>maoyusan</author><pubDate>Tue, 27 Jul 2021 10:38:37 +0800</pubDate><description><![CDATA[研究了一上午，这个方法更新是集合里的新增的元素数据，意味着只能给集合.add添加数据才能用这个方法，不然就会失败。

如果你把你要渲染的集合列表全部重新添加了，那么还是用setAdapater的方法吧。
...]]></description><category></category></item><item><title><![CDATA[Android之json解析 Gson包的使用]]></title><link>https://blog.youkuaiyun.com/maoyusan/article/details/119055927</link><guid>https://blog.youkuaiyun.com/maoyusan/article/details/119055927</guid><author>maoyusan</author><pubDate>Sat, 24 Jul 2021 12:01:34 +0800</pubDate><description><![CDATA[先new一个Gson



Gson gson = new Gson();


调用方法，左边是要解析的json，右边new一个TypeToken，泛型就是json解析后的对象，要一一对应



List&lt;City&gt; cities = gson.fromJson(json, new TypeToken&lt;List&lt;City&gt;&gt;() {}.getType());

如果有数据头，那么还是一样的，只不过泛型要先写数据头的对象，具体哪个字段带你要解析的json对象，就再带...]]></description><category></category></item><item><title><![CDATA[Android之okHttp的简单用法]]></title><link>https://blog.youkuaiyun.com/maoyusan/article/details/119055794</link><guid>https://blog.youkuaiyun.com/maoyusan/article/details/119055794</guid><author>maoyusan</author><pubDate>Sat, 24 Jul 2021 11:53:08 +0800</pubDate><description><![CDATA[一共三步，先看前两步，先new一个okHttp，再new一Request.Builder().url(填网页url).get().build() 然后这里是get请求，最后build。



        OkHttpClient client = new OkHttpClient();
        Request request = new Request.Builder().url(url).get().build();

第三步就是new一个回调，成功和失败


  client.newCa..]]></description><category></category></item><item><title><![CDATA[Android之实现Servlet]]></title><link>https://blog.youkuaiyun.com/maoyusan/article/details/118913815</link><guid>https://blog.youkuaiyun.com/maoyusan/article/details/118913815</guid><author>maoyusan</author><pubDate>Mon, 19 Jul 2021 20:50:50 +0800</pubDate><description><![CDATA[被搞了四天心态，终于把Servlet成功实现了，主要是jdbc没连接成功，问题在于jdbc版本最好和MySQL版本一致，整体流程是先写一个properties，里面写入连接jdbc的参数，如driver，url，username，password，然后写一个BaseDao的类，获取连接资源


private static	String url=null;
 private static String user=null;
 private static String password =null;
 
/]]></description><category></category></item><item><title><![CDATA[Android之分类显示]]></title><link>https://blog.youkuaiyun.com/maoyusan/article/details/118852045</link><guid>https://blog.youkuaiyun.com/maoyusan/article/details/118852045</guid><author>maoyusan</author><pubDate>Sat, 17 Jul 2021 09:37:09 +0800</pubDate><description><![CDATA[首先要连接jdbc，这里有个莫名其妙的错误一直解决不了，但是先跳过了，重要的是思路和流程。

连接jdbc，将内容转换成json字符串。

先写连接数据库获取数据的方法，当调用Serlvet的时候调用方法连接数据库进行操作


public class CategoryDaoImple implements CategoryDao {


    @Override
    public List&lt;Category&gt; getCategoryList()  {
        Connection]]></description><category></category></item><item><title><![CDATA[SiderBar 设置事件跳转]]></title><link>https://blog.youkuaiyun.com/maoyusan/article/details/118672104</link><guid>https://blog.youkuaiyun.com/maoyusan/article/details/118672104</guid><author>maoyusan</author><pubDate>Mon, 12 Jul 2021 12:13:39 +0800</pubDate><description><![CDATA[设置自定义监听事件，先声明一个接口，再传一个方法


  private OnTouchingLetterChangedLister letterChangedLister;
    private OnTouchingLetterChangedLister lister;
    private int choose;

    /*定义监听事件*/
    public interface OnTouchingLetterChangedLister{
        public void onTou.]]></description><category></category></item><item><title><![CDATA[SiderBar的绘制]]></title><link>https://blog.youkuaiyun.com/maoyusan/article/details/118669481</link><guid>https://blog.youkuaiyun.com/maoyusan/article/details/118669481</guid><author>maoyusan</author><pubDate>Mon, 12 Jul 2021 11:30:10 +0800</pubDate><description><![CDATA[首先要写一个类来继承VIew 必须把所有方法都实现，否则运行的时候会运行报错。


public class SiderBar extends View {


    public SiderBar(Context context) {
        super(context);
    }

    public SiderBar(Context context, @Nullable AttributeSet attrs) {
        super(context, attrs);
    }]]></description><category></category></item><item><title><![CDATA[java渲染城市定位]]></title><link>https://blog.youkuaiyun.com/maoyusan/article/details/118634968</link><guid>https://blog.youkuaiyun.com/maoyusan/article/details/118634968</guid><author>maoyusan</author><pubDate>Sat, 10 Jul 2021 20:46:31 +0800</pubDate><description><![CDATA[@Override
        protected List&lt;City&gt; doInBackground(Void... voids) {
            HttpClient client = new DefaultHttpClient();
            HttpPost httpPost = new HttpPost(Coasts.City_data_URI);

            try {
                HttpResponse h...]]></description><category></category></item><item><title><![CDATA[android之城市定位]]></title><link>https://blog.youkuaiyun.com/maoyusan/article/details/118571254</link><guid>https://blog.youkuaiyun.com/maoyusan/article/details/118571254</guid><author>maoyusan</author><pubDate>Thu, 08 Jul 2021 13:06:11 +0800</pubDate><description><![CDATA[先实现LocationListener接口 会重写四个方法


    @Override
    public void onLocationChanged(@NonNull Location location) {

      
    }

    @Override
    public void onStatusChanged(String provider, int status, Bundle extras) {

    }

    @Override
    publ...]]></description><category></category></item><item><title><![CDATA[FrameLayout的用法]]></title><link>https://blog.youkuaiyun.com/maoyusan/article/details/118365068</link><guid>https://blog.youkuaiyun.com/maoyusan/article/details/118365068</guid><author>maoyusan</author><pubDate>Wed, 07 Jul 2021 09:40:16 +0800</pubDate><description><![CDATA[表单

EditText：

hiht：主要是设置提示的文本信息

textColorHint：设置提示文本信息的颜色

inputType：设置输入的类型

singleLine：限制行数

android:selectAllOnFocus="true"获取焦点，选取文本框所有文本

ImageView：

src:图片引用

scaleType:设置缩放类型

RadioButton:

单选按钮 可以配合 RadioGroup使用

button="@null"给取消默认样式
...]]></description><category></category></item></channel></rss>