<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[chanzhu的博客]]></title><description><![CDATA[每一行代码，一个故事]]></description><link>https://blog.youkuaiyun.com/changsimeng</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; changsimeng]]></copyright><item><title><![CDATA[Solr7.4.0+IK Analyzer7.5.0]]></title><link>https://blog.youkuaiyun.com/changsimeng/article/details/83338276</link><guid>https://blog.youkuaiyun.com/changsimeng/article/details/83338276</guid><author>changsimeng</author><pubDate>Wed, 24 Oct 2018 08:51:46 +0800</pubDate><description><![CDATA[配置IK分词

到github的ik官方下载ik分词器,并解压出来，加到/opt/modules/solr7/tomcat-solr/webapps/solr/WEB-INF/lib
 



 

在/opt/modules/solr7/tomcat-solr/webapps/solr/WEB-INF/目录下新建一个classes目录，加入官方所说的配置文件


 

 

修改/opt/mod...]]></description><category></category></item><item><title><![CDATA[CentOS下Solr7.4.0安装部署到Tomcat]]></title><link>https://blog.youkuaiyun.com/changsimeng/article/details/83306861</link><guid>https://blog.youkuaiyun.com/changsimeng/article/details/83306861</guid><author>changsimeng</author><pubDate>Tue, 23 Oct 2018 15:10:45 +0800</pubDate><description><![CDATA[操作系统：CentOS7.5 64位
Solr版本：Solr7.4.0
Tomcat版本：apache-tomcat-8.5.4

JDK版本：java version &quot;1.8.0_191&quot;

部署
第一步：下载安装包
下载Solr7.4.0：


wget http://mirrors.hust.edu.cn/apache/lucene/solr/7.4.0/solr-7.4.0.tgz


...]]></description><category></category></item><item><title><![CDATA[SpringMVC 逆向工程的创建 mybatis-generator:generate -e]]></title><link>https://blog.youkuaiyun.com/changsimeng/article/details/82496334</link><guid>https://blog.youkuaiyun.com/changsimeng/article/details/82496334</guid><author>changsimeng</author><pubDate>Fri, 07 Sep 2018 14:49:48 +0800</pubDate><description><![CDATA[首先创建maven项目：



 

配置IDEA相关依赖和插件：


&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&amp;gt;

&amp;lt;project xmlns=&quot;http://maven.apache.org/POM/4.0.0&quot; xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;
         x...]]></description><category></category></item><item><title><![CDATA[Mysql 8.0 1251 client does no support authentic的错误解决方式]]></title><link>https://blog.youkuaiyun.com/changsimeng/article/details/82454214</link><guid>https://blog.youkuaiyun.com/changsimeng/article/details/82454214</guid><author>changsimeng</author><pubDate>Thu, 06 Sep 2018 09:50:39 +0800</pubDate><description><![CDATA[报错弹框：



mysqlclient命令：


USE mysql; 
ALTER USER ‘root’@’localhost’ IDENTIFIED WITH mysql_native_password BY ‘mysql’; 
FLUSH PRIVILEGES;

解决方式：

1.查看用户信息


select host,user,plugin,authentication_strin...]]></description><category></category></item><item><title><![CDATA[android studio3.0之后，butterknife的重新定义依赖方式]]></title><link>https://blog.youkuaiyun.com/changsimeng/article/details/81025645</link><guid>https://blog.youkuaiyun.com/changsimeng/article/details/81025645</guid><author>changsimeng</author><pubDate>Fri, 13 Jul 2018 09:11:34 +0800</pubDate><description><![CDATA[从很多网站看到新的依赖方式，我都没有成功！各种各样的坑，在此我希望后面的人不要再入这样的坑，github上面的指导配置也是有问题的，现在我将我的配置方式分享个大家：第一步：直接获取butter knife插件：第二步：获取依赖：很简单的两步走，最后我们就可以直接使用了：...]]></description><category></category></item><item><title><![CDATA[Mysql问题only_full_group_by]]></title><link>https://blog.youkuaiyun.com/changsimeng/article/details/80913286</link><guid>https://blog.youkuaiyun.com/changsimeng/article/details/80913286</guid><author>changsimeng</author><pubDate>Wed, 04 Jul 2018 15:23:05 +0800</pubDate><description><![CDATA[ select * from fruits GROUP BY s_id,f_name;]]></description><category></category></item><item><title><![CDATA[android studio 3.0 快速配置NDK开发]]></title><link>https://blog.youkuaiyun.com/changsimeng/article/details/80853666</link><guid>https://blog.youkuaiyun.com/changsimeng/article/details/80853666</guid><author>changsimeng</author><pubDate>Fri, 29 Jun 2018 11:19:53 +0800</pubDate><description><![CDATA[1.创建一个支持C/C++的Android项目2.配置环境：1&amp;gt;下载需要的ndk环境2&amp;gt;指定ndk位置3&amp;gt;输出的so文件类型环境配置完之后，我们紧接着要关键的步骤3.创建native方法，调用方法；4.根据native方法编辑h文件，一般来说h文件需要开发人员编写，但是我们可以根据studio偷偷懒：我们Build -&amp;gt; Make Project一下，我们会发现在/JniT...]]></description><category></category></item><item><title><![CDATA[SpringMVc绑定POJO失败的问题]]></title><link>https://blog.youkuaiyun.com/changsimeng/article/details/80019770</link><guid>https://blog.youkuaiyun.com/changsimeng/article/details/80019770</guid><author>changsimeng</author><pubDate>Fri, 20 Apr 2018 16:11:57 +0800</pubDate><description><![CDATA[在前端表单向后端控制器传参数的过程中，采用debug后发现pojo的属性值都是默认值，或null或0.0；在网上查了很多资料，呼声比较高的是po类没有get set方法，以及前端jsp页面包含 enctype=&quot;multipart/form-data&quot; ，二进制传输会使pojo绑定为null，废话不多说看我的错误原因吧：看debug控制台通过HttpServletRequest获取的pojo确实是...]]></description><category></category></item><item><title><![CDATA[Android多媒体--MediaCodec 中文API文档]]></title><link>https://blog.youkuaiyun.com/changsimeng/article/details/79193928</link><guid>https://blog.youkuaiyun.com/changsimeng/article/details/79193928</guid><author>changsimeng</author><pubDate>Mon, 29 Jan 2018 12:40:29 +0800</pubDate><description><![CDATA[Android多媒体--MediaCodec 中文API文档

*由于工作需要，需要利用MediaCodec实现Playback及Transcode等功能，故在学习过程中翻译了Google官方的MediaCodec API文档，由于作者水平限制，文中难免有错误和不恰当之处，望批评指正。
*转载请注明出处：http://www.cnblogs.com/roger-yu/
从API 16开始，]]></description><category></category></item><item><title><![CDATA[popupwindow弹出的editTextView]]></title><link>https://blog.youkuaiyun.com/changsimeng/article/details/75090243</link><guid>https://blog.youkuaiyun.com/changsimeng/article/details/75090243</guid><author>changsimeng</author><pubDate>Thu, 13 Jul 2017 18:59:44 +0800</pubDate><description><![CDATA[public void getCommentView(final Activity context, View view, final CommentResult commentResult) {
        liveCommentResult = commentResult;
        if (commentView == null) {
            commentView]]></description><category></category></item><item><title><![CDATA[Android中的EditText默认时不弹出软键盘的方法]]></title><link>https://blog.youkuaiyun.com/changsimeng/article/details/75043769</link><guid>https://blog.youkuaiyun.com/changsimeng/article/details/75043769</guid><author>changsimeng</author><pubDate>Thu, 13 Jul 2017 09:48:10 +0800</pubDate><description><![CDATA[Android中的EditText默认时不弹出软键盘的方法




方法一：
　　在 AndroidMainfest.xml中选择哪个activity，设置windowSoftInputMode属性为 adjustUnspecified|stateHidden


1 <activity android:name=".Main"
2       android:label="@s]]></description><category></category></item><item><title><![CDATA[设置TabLayout的indicator长度]]></title><link>https://blog.youkuaiyun.com/changsimeng/article/details/74421868</link><guid>https://blog.youkuaiyun.com/changsimeng/article/details/74421868</guid><author>changsimeng</author><pubDate>Wed, 05 Jul 2017 14:02:42 +0800</pubDate><description><![CDATA[public void setIndicator(TabLayout tabs, int leftDip, int rightDip) {
    Class tabLayout = tabs.getClass();
    Field tabStrip = null;
    try {
        tabStrip = tabLayout.getDeclaredField("mTabStr]]></description><category></category></item><item><title><![CDATA[fargment重叠问题解决]]></title><link>https://blog.youkuaiyun.com/changsimeng/article/details/73799948</link><guid>https://blog.youkuaiyun.com/changsimeng/article/details/73799948</guid><author>changsimeng</author><pubDate>Tue, 27 Jun 2017 15:17:50 +0800</pubDate><description><![CDATA[一、问题描述

相信大家在使用Fragment的过程中，肯定碰到过Fragment重叠的问题，重启应用就好了。然而原因是什么呢？

二、原因分析

首先，Android管理Fragment有两种方式，使用add、hide、show的方式和replace方式，两种方式各有优缺点。



replace方式 
如果使用这种方式，是可以避免重叠的问题，但是每次replace会把生命]]></description><category></category></item><item><title><![CDATA[expandableListView嵌套GridView]]></title><link>https://blog.youkuaiyun.com/changsimeng/article/details/73457411</link><guid>https://blog.youkuaiyun.com/changsimeng/article/details/73457411</guid><author>changsimeng</author><pubDate>Mon, 19 Jun 2017 10:17:08 +0800</pubDate><description><![CDATA[在做项目的时候，想在 ExpandableListView 中嵌套一个 GridView，在实现的过程中，遇到了不少坑，所以写篇博客记录一下，也顺便帮助下和我一样的新手。

我一直觉得，再多的文字，再多的代码片段，都不如写个小 Demo 更直观，所以在以后的博客中，我都尽量用小 Demo 来讲解，也给出源码。

先上一张最终效果图：



打开 Android Studio，我们新]]></description><category></category></item><item><title><![CDATA[Android Studio混淆模板]]></title><link>https://blog.youkuaiyun.com/changsimeng/article/details/73392875</link><guid>https://blog.youkuaiyun.com/changsimeng/article/details/73392875</guid><author>changsimeng</author><pubDate>Sat, 17 Jun 2017 22:49:48 +0800</pubDate><description><![CDATA[首先要在build.gradle中开启混淆，也就是minifyEnabled true，我用的build.gradle具体如下所示：
def releaseTime() {
    return new Date().format("yyyy.MM.dd", TimeZone.getTimeZone("UTC"))
}

android {
    .... 

    buildTypes {]]></description><category></category></item><item><title><![CDATA[ListView的divider设置]]></title><link>https://blog.youkuaiyun.com/changsimeng/article/details/73278020</link><guid>https://blog.youkuaiyun.com/changsimeng/article/details/73278020</guid><author>changsimeng</author><pubDate>Thu, 15 Jun 2017 12:42:11 +0800</pubDate><description><![CDATA[android中ListView默认的分割线是填充满整个listview的宽度的，然后设计师需要的偏偏就是不填充满的状态，找了相关资料，写了个demo验证下。


 

当然最简单的实现方式就是用图片了，但是图片就要涉及到分辨率，那用颜色填充会比较直接。

在drawable中定义我需要的分割线main_list_divider_line.xml


Xml代码  


]]></description><category></category></item><item><title><![CDATA[Android 多个事件分发和处理]]></title><link>https://blog.youkuaiyun.com/changsimeng/article/details/73203679</link><guid>https://blog.youkuaiyun.com/changsimeng/article/details/73203679</guid><author>changsimeng</author><pubDate>Wed, 14 Jun 2017 11:20:33 +0800</pubDate><description><![CDATA[说起Android滑动冲突，是个很常见的场景，比如SliddingMenu与ListView的嵌套，要解决滑动冲突，不得不提及到View的事件分发机制。

一、Touch事件传递规则分析
首先，我们要知道Touch事件是包装在MotionEvent对象中的，在手指与屏幕接触过程中产生一系列事件，典型的事件有以下三种：
ACTION_DOWN:手指刚接触屏幕的瞬间
ACTION_UP:手指]]></description><category></category></item><item><title><![CDATA[Android滑动事件冲突]]></title><link>https://blog.youkuaiyun.com/changsimeng/article/details/73201479</link><guid>https://blog.youkuaiyun.com/changsimeng/article/details/73201479</guid><author>changsimeng</author><pubDate>Wed, 14 Jun 2017 10:53:31 +0800</pubDate><description><![CDATA[首先，我们假设这样一个场景：一个ViewPager里面嵌套一个ViewPager，内部滑动方向和外部滑动方向一样时，该怎么解决这一冲突呢？ 
针对滑动冲突这里给出两种解决方案：外部拦截法，内部拦截法。

外部拦截法

情景：一个ViewPager嵌套了一个Listview，一个是左右滑动，一个上下滑动。这个时候我们可以用外部拦截法，来处理冲突。在父容器ViewPager中，重写onInt]]></description><category></category></item><item><title><![CDATA[popWindow的应用与分析]]></title><link>https://blog.youkuaiyun.com/changsimeng/article/details/73193071</link><guid>https://blog.youkuaiyun.com/changsimeng/article/details/73193071</guid><author>changsimeng</author><pubDate>Tue, 13 Jun 2017 19:29:54 +0800</pubDate><description><![CDATA[PopupWindow使用

       PopupWindow这个类用来实现一个弹出框，可以使用任意布局的View作为其内容，这个弹出框是悬浮在当前activity之上的。

 
PopupWindow使用Demo

　　这个类的使用，不再过多解释，直接上代码吧。

　　比如弹出框的布局：

弹出框布局

 

　　Activity的布局中只有一个按钮，按下后会弹]]></description><category></category></item><item><title><![CDATA[解决 Android N 7.0 上 报错：android.os.FileUriExposedException]]></title><link>https://blog.youkuaiyun.com/changsimeng/article/details/72899392</link><guid>https://blog.youkuaiyun.com/changsimeng/article/details/72899392</guid><author>changsimeng</author><pubDate>Wed, 07 Jun 2017 14:28:14 +0800</pubDate><description><![CDATA[解决 Android N 上 安装Apk时报错：android.os.FileUriExposedException: file:///storage/emulated/0/Download/appName-2.3.0.apk
 exposed beyond app through Intent.getData()


解决方法
1、在AndroidManifest.xml中添加如下代码]]></description><category></category></item></channel></rss>