<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[csc48656的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/csc48656</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; csc48656]]></copyright><item><title><![CDATA[Netty中Channel通道]]></title><link>https://blog.youkuaiyun.com/csc48656/article/details/130775158</link><guid>https://blog.youkuaiyun.com/csc48656/article/details/130775158</guid><author>csc48656</author><pubDate>Fri, 19 May 2023 23:11:29 +0800</pubDate><description><![CDATA[而对于每一条传输通道（如NioServerChannel实例），其parent属性的值为接收到该连接的服务器连接监听通道。Netty在对通道进行初始化的时候，将pipeline属性初始化为DefaultChannelPipeline的实例，也表示每个通道都有一条ChannelPipeline处理器流水线。通道是通信的主题，由它负责同对端进行网络通信，可以写入数据到对端，也可以从对端读取数据。除了不进行传输之外，EmbeddedChannel 的其他的事件机制和处理流程和真正的。传输通道是一模一样的。]]></description><category></category></item><item><title><![CDATA[Netty的Bootstrap引导类]]></title><link>https://blog.youkuaiyun.com/csc48656/article/details/130715305</link><guid>https://blog.youkuaiyun.com/csc48656/article/details/130715305</guid><author>csc48656</author><pubDate>Wed, 17 May 2023 23:53:14 +0800</pubDate><description><![CDATA[Bootstrap类是Netty提供的一个便利的工厂类，可以通过它来完成Netty的客户端或服务器端的Netty组件的组装，以及Netty的初始化。在Netty中，有两个引导类Bootstrap和ServerBootstrap，分别用在服务器和客户端，两个类都继承AbstractBootstrap。两个类的仅是使用的地方不同，配置和使用方法都是相同的。已ServerBootstrap类作为重点介绍。介绍之前需要了解两个基础概念：父子通道、EventLoopGroup线程组（事件循环线程组）。]]></description><category></category></item><item><title><![CDATA[枚举类的使用]]></title><link>https://blog.youkuaiyun.com/csc48656/article/details/120877471</link><guid>https://blog.youkuaiyun.com/csc48656/article/details/120877471</guid><author>csc48656</author><pubDate>Thu, 21 Oct 2021 00:16:10 +0800</pubDate><description><![CDATA[枚举类简介

JDK1.5之前需要自定义枚举类
JDK 1.5 新增的 enum 关键字用于定义枚举类
若枚举类只有一个对象，则可以作为一种单例模式的实现方式
枚举类的属性


枚举类对象的属性不应该允许被改动，所以应该使用private final修饰
枚举类的使用private final 修饰的属性应该在构造器中为其赋值
若枚举类显示的定义了带参数的构造器，则在列出枚举值时也必须对应的传入参数。

如何自定义枚举类

私有化类的构造器，保证不能在类的外部创建其对象
在类的内部创建枚举类的实例。声明为：]]></description><category></category></item><item><title><![CDATA[单例设计模式介绍]]></title><link>https://blog.youkuaiyun.com/csc48656/article/details/120714267</link><guid>https://blog.youkuaiyun.com/csc48656/article/details/120714267</guid><author>csc48656</author><pubDate>Tue, 19 Oct 2021 20:38:09 +0800</pubDate><description><![CDATA[1 单例设计模式介绍
类的单例设计模式，就是采取一定的方法保证在整个软件系统中对某个类只能存在一个对象实例，并且该类只提供一个取得其对象实例的方法（静态方法）。
2 单例设计模式八种方式

饿汉式(静态常量）
饿汉式(静态代码块)
懒汉式(线程不安全)
懒汉式(线程安全，同步方法)
懒汉式(线程安全，同步代码块)
双重检查
静态内部类
枚举

2.1 饿汉式(静态常量)
2.1.1 步骤如下

构造方法有化（防止 new）
类的内部创建对象
向外暴露一个静态的公共方法

2.1.2 代码实现
class S]]></description><category></category></item><item><title><![CDATA[23种设计模式]]></title><link>https://blog.youkuaiyun.com/csc48656/article/details/120713636</link><guid>https://blog.youkuaiyun.com/csc48656/article/details/120713636</guid><author>csc48656</author><pubDate>Mon, 11 Oct 2021 22:53:34 +0800</pubDate><description><![CDATA[设计模式介绍

设计模式是程序员在面对同类软件工程设计问题所总结出来的有用的经验，
模式不是代码，而是某类问题的通用解决方案，设计模式（Design pattern）
代表了最佳的实践。这些解决方案是众多软件开发人员经过相当长的一段时
间的试验和错误总结出来的。
设计模式的本质提供软件的维护性、通用性和扩展性，并降低软件的复杂度。
&lt;&lt;设计模式&gt;&gt; 是经典的书，作者是 Erich Gamma、Richard Helm、Ralph
Johnson 和 John Vlissides De]]></description><category></category></item><item><title><![CDATA[GreenDao3.0的使用一]]></title><link>https://blog.youkuaiyun.com/csc48656/article/details/78936654</link><guid>https://blog.youkuaiyun.com/csc48656/article/details/78936654</guid><author>csc48656</author><pubDate>Sat, 30 Dec 2017 11:27:35 +0800</pubDate><description><![CDATA[项目中需要用到数据库的存储，以前用到数据库很少，so去问了问度娘，找到了GreenDao
      直接使用原生SQLite，需要编写sql语句和解析查询结果，这是一个相当乏味和耗时的工作。GreenDAO通过将Java对象映射到数据库表（称为ORM，对象关系映射）将我们从其中解脱出来。通过简单的面向对象API，你就可以来存储，更新，删除和查询Java对象了。
目录：
一、GreenDAO]]></description><category></category></item><item><title><![CDATA[ViewStub用法]]></title><link>https://blog.youkuaiyun.com/csc48656/article/details/74737144</link><guid>https://blog.youkuaiyun.com/csc48656/article/details/74737144</guid><author>csc48656</author><pubDate>Fri, 07 Jul 2017 16:34:24 +0800</pubDate><description><![CDATA[在开发应用程序的时候，经常会遇到这样的情况，会在运行时动态根据条件来决定显示哪个View或某个布局。那么最通常的想法就是把可能用到的View都写在上面，先把它们的可见性都设为View.GONE，然后在代码中动态的更改它的可见性。这样的做法的优点是逻辑简单而且控制起来比较灵活。但是它的缺点就是，耗费资源。虽然把View的初始可见View.GONE但是在Inflate布局的时候View仍然会被Infl]]></description><category></category></item><item><title><![CDATA[玩转Android之数据库框架greenDAO3.0使用指南]]></title><link>https://blog.youkuaiyun.com/csc48656/article/details/73996578</link><guid>https://blog.youkuaiyun.com/csc48656/article/details/73996578</guid><author>csc48656</author><pubDate>Fri, 30 Jun 2017 14:33:04 +0800</pubDate><description><![CDATA[版权声明：本文为sang原创文章，转载请注明出处。
装载自http://blog.youkuaiyun.com/u012702547/article/details/52226163；


用过ActiveAndroid、玩过ORMLite，穿过千山万水，最终还是发现greenDAO好用，ActiveAndroid我之前有一篇文章介绍过 玩转Android之数据库框架ActiveAndroid的使用，]]></description><category></category></item><item><title><![CDATA[Android之Viewpager+Fragment实现懒加载]]></title><link>https://blog.youkuaiyun.com/csc48656/article/details/73740716</link><guid>https://blog.youkuaiyun.com/csc48656/article/details/73740716</guid><author>csc48656</author><pubDate>Mon, 26 Jun 2017 15:43:24 +0800</pubDate><description><![CDATA[装载自：http://www.cnblogs.com/android-blogs/p/6256833.html

    我们在做应用开发的时候，一个Activity里面可能会以viewpager（或其他容器）与多个Fragment来组合使用。而ViewPager默认会缓存三页数据，即：Viewpager每加载一个Fragment，都会预先加载此Fragment左侧或右侧的Fragment。而]]></description><category></category></item><item><title><![CDATA[WAMPServer集成环境安装]]></title><link>https://blog.youkuaiyun.com/csc48656/article/details/73729770</link><guid>https://blog.youkuaiyun.com/csc48656/article/details/73729770</guid><author>csc48656</author><pubDate>Sun, 25 Jun 2017 21:23:31 +0800</pubDate><description><![CDATA[学习与慕课网视频：http://www.imooc.com/learn/54

W:windows
A:Apache
M:MySQL
P:PHP
//  在Windows操作系统中Apache+MySQL+PHP的环境实现的集成环境



localhost:本地主机的意思，点击后就可以通过浏览器打开WAMPSever信息的界面。
PHP My Admin：（WAMP集成开发包中不仅带]]></description><category></category></item><item><title><![CDATA[MySQL数据库安装与配置详解]]></title><link>https://blog.youkuaiyun.com/csc48656/article/details/73717940</link><guid>https://blog.youkuaiyun.com/csc48656/article/details/73717940</guid><author>csc48656</author><pubDate>Sun, 25 Jun 2017 15:36:41 +0800</pubDate><description><![CDATA[装载自http://www.cnblogs.com/sshoub/p/4321640.html；

目录

一、概述

二、MySQL安装

三、安装成功验证

四、NavicatforMySQL下载及使用

 



一、概述

　　MySQL版本：5.7.17

　　下载地址：http://rj.baidu.com/soft/detail/12585.h]]></description><category></category></item><item><title><![CDATA[Android图片压缩（质量压缩和尺寸压缩）&Bitmap转成字符串上传]]></title><link>https://blog.youkuaiyun.com/csc48656/article/details/73611625</link><guid>https://blog.youkuaiyun.com/csc48656/article/details/73611625</guid><author>csc48656</author><pubDate>Thu, 22 Jun 2017 22:11:51 +0800</pubDate><description><![CDATA[android图片压缩总结

总结来看，图片有三种存在形式：硬盘上时是file，网络传输时是stream，内存中是stream或bitmap，所谓的质量压缩，它其实只能实现对file的影响，你可以把一个file转成bitmap再转成file，或者直接将一个bitmap转成file时，这个最终的file是被压缩过的，但是中间的bitmap并没有被压缩（或者说几乎没有被压缩，我不确定），因为big]]></description><category></category></item><item><title><![CDATA[android 解决小米手机上选择照片路径为null情况]]></title><link>https://blog.youkuaiyun.com/csc48656/article/details/73611595</link><guid>https://blog.youkuaiyun.com/csc48656/article/details/73611595</guid><author>csc48656</author><pubDate>Thu, 22 Jun 2017 22:08:47 +0800</pubDate><description><![CDATA[转载：http://blog.youkuaiyun.com/tablle/article/details/51882915

小米手机选择图库崩溃了,这是一个上传头像的功能,相信很多应用都有这个功能,于是我就把手机拿过来打log看了下返回的路径 为null,在网上搜索了下解决方案,现在把解决方案记录下：

这是在onActivityResult方法中执行的,





[html] vie]]></description><category></category></item><item><title><![CDATA[Material Design之CollapsingToolbarLayout使用]]></title><link>https://blog.youkuaiyun.com/csc48656/article/details/73199321</link><guid>https://blog.youkuaiyun.com/csc48656/article/details/73199321</guid><author>csc48656</author><pubDate>Wed, 14 Jun 2017 09:40:11 +0800</pubDate><description><![CDATA[CollapsingToolbarLayout作用是提供了一个可以折叠的Toolbar，它继承至FrameLayout，给它设置layout_scrollFlags，它可以控制包含在CollapsingToolbarLayout中的控件(如：ImageView、Toolbar)在响应layout_behavior事件时作出相应的scrollFlags滚动事件(移除屏幕或固定在屏幕顶端)。

使]]></description><category></category></item><item><title><![CDATA[理解根目录下的build.gradle]]></title><link>https://blog.youkuaiyun.com/csc48656/article/details/73071905</link><guid>https://blog.youkuaiyun.com/csc48656/article/details/73071905</guid><author>csc48656</author><pubDate>Sun, 11 Jun 2017 22:43:46 +0800</pubDate><description><![CDATA[在使用Android Studio创建工程时，会在根目录创建类似如下的build.gradle。本文将从初学者的角度来解释每一行的意思，具体的细节还需查看gradle的API文档。

如果要学习gradle，推荐一篇写得很好的blog深入理解Android之Gradle。个人认为最重要的一点是不要把build.gradle简单地看作配置文件，而是要把它看作一种编程框架，使用其API或者Groo]]></description><category></category></item><item><title><![CDATA[解决：android databinding 使用@BindingAdapter 导致application namespace for attribute {} will be ignored]]></title><link>https://blog.youkuaiyun.com/csc48656/article/details/73009398</link><guid>https://blog.youkuaiyun.com/csc48656/article/details/73009398</guid><author>csc48656</author><pubDate>Sat, 10 Jun 2017 22:54:38 +0800</pubDate><description><![CDATA[使用Android databinding的时候使用了@BindingAdater自定义属性之后一直有这个application
 namespace for attribute {} will be ignored问题，虽然不报错，但是总觉得不爽
将 @BindingAdapter("bind:colorTint") 改成@BindingAdapter({"colorTint"})就ok了。]]></description><category></category></item><item><title><![CDATA[你所不知道的Activity转场动画——ActivityOptions]]></title><link>https://blog.youkuaiyun.com/csc48656/article/details/73007143</link><guid>https://blog.youkuaiyun.com/csc48656/article/details/73007143</guid><author>csc48656</author><pubDate>Sat, 10 Jun 2017 20:33:16 +0800</pubDate><description><![CDATA[相信大家对于Activity的过度动画都很熟悉了，一般情况下我们直接使用
overridePendingTransition(enterAnim, exitAnim);11
但是这种老旧、生硬的方式怎么能适合我们的MD风格的App呢!好在google在新的sdk中给我们提供了另外一种Activity的过度动画——ActivityOptions。并且提供了兼容包——ActivityOptions]]></description><category></category></item><item><title><![CDATA[Android解决多个Fragment切换时布局重新实例化问题]]></title><link>https://blog.youkuaiyun.com/csc48656/article/details/72972173</link><guid>https://blog.youkuaiyun.com/csc48656/article/details/72972173</guid><author>csc48656</author><pubDate>Fri, 09 Jun 2017 21:32:01 +0800</pubDate><description><![CDATA[本文借鉴自：http://www.jianshu.com/p/d9143a92ad94



至于fragment的使用就不多说了，直奔主题， 







布局文件：
LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schem]]></description><category></category></item><item><title><![CDATA[uiautomatorviewer.bat的使用]]></title><link>https://blog.youkuaiyun.com/csc48656/article/details/72954004</link><guid>https://blog.youkuaiyun.com/csc48656/article/details/72954004</guid><author>csc48656</author><pubDate>Fri, 09 Jun 2017 10:04:11 +0800</pubDate><description><![CDATA[1、找到uiautomatorviewer.bat文件，我的是在:C:\Users\Administrator\AppData\Local\Android\sdk\tools\bin文件下，双击打开即可，如下图。




2、有可能出现Unable
 to connect to adb. Check if adb is installed correctly，解决方法是：


打]]></description><category></category></item><item><title><![CDATA[Android RecycleView 的findChildViewUnder()方法，十分方便返回指定位置的childView]]></title><link>https://blog.youkuaiyun.com/csc48656/article/details/72943260</link><guid>https://blog.youkuaiyun.com/csc48656/article/details/72943260</guid><author>csc48656</author><pubDate>Thu, 08 Jun 2017 23:31:17 +0800</pubDate><description><![CDATA[版权声明：本文为博主原创文章，未经博主允许不得转载。




观察到现在很多列表视图和网格视图需要返回指定位置下的view，例如小米手机的相册功能，滑动到不同的日期的图片，提示框出现的日期也随之变化。在listview和gridview中，估计需要自己写方法来获取，但强大的RecycleView提供了一个非常便利的findChildViewUnder（float x ,float y）来]]></description><category></category></item></channel></rss>