<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[lu_pan_feng的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/lu_pan_feng</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; lu_pan_feng]]></copyright><item><title><![CDATA[okhttp学习]]></title><link>https://blog.youkuaiyun.com/lu_pan_feng/article/details/78420014</link><guid>https://blog.youkuaiyun.com/lu_pan_feng/article/details/78420014</guid><author>lu_pan_feng</author><pubDate>Wed, 01 Nov 2017 23:16:53 +0800</pubDate><description><![CDATA[okhttp]]></description><category></category></item><item><title><![CDATA[okhttp]]></title><link>https://blog.youkuaiyun.com/lu_pan_feng/article/details/78277959</link><guid>https://blog.youkuaiyun.com/lu_pan_feng/article/details/78277959</guid><author>lu_pan_feng</author><pubDate>Wed, 18 Oct 2017 21:15:42 +0800</pubDate><description><![CDATA[对okhttp3的源码进行学习的笔记]]></description><category></category></item><item><title><![CDATA[二分法查找升序和降序集合]]></title><link>https://blog.youkuaiyun.com/lu_pan_feng/article/details/74895370</link><guid>https://blog.youkuaiyun.com/lu_pan_feng/article/details/74895370</guid><author>lu_pan_feng</author><pubDate>Sun, 09 Jul 2017 17:21:18 +0800</pubDate><description><![CDATA[二分法查找list并进行数据的增删改 
系统提供的方法是对升序list或数组进行查找 
返回的值>0则代表找到,小于0表示没有找到  
如果小于0 那么取反则是数据需要插入的位置 
list和数组的查找系统提供的方法为  :  Collections.binarySearch()    
ContainerHelpers.binarySearch()  
public class Test {]]></description><category></category></item><item><title><![CDATA[PopupWindow 设置动画无效]]></title><link>https://blog.youkuaiyun.com/lu_pan_feng/article/details/70655309</link><guid>https://blog.youkuaiyun.com/lu_pan_feng/article/details/70655309</guid><author>lu_pan_feng</author><pubDate>Mon, 24 Apr 2017 20:12:24 +0800</pubDate><description><![CDATA[PopupWindow 设置动画的方式,网上教程一搜一片,不在复制.
但是设置后发现动画无效, 发现:
popupWindow.setAnimationStyle(R.style.PopupAnimation);
popupWindow.showAtLocation(findViewById(R.id.parent), Gravity.CENTER| Gravity.CENTER, 0, 0)]]></description><category></category></item><item><title><![CDATA[学习笔记-包管理机制]]></title><link>https://blog.youkuaiyun.com/lu_pan_feng/article/details/53321059</link><guid>https://blog.youkuaiyun.com/lu_pan_feng/article/details/53321059</guid><author>lu_pan_feng</author><pubDate>Thu, 24 Nov 2016 15:36:45 +0800</pubDate><description><![CDATA[在对加密APK安装的部分,按照书中所述:

➜  /Users/lpf/Downloads openssl enc -aes-128-cbc -k 000102030405060708090A0B0C0D0E0F -iv 000102030405060708090A0B0C0D0E0F -in okcoin_no_jiami.apk -out okcoin_jiami.apk


// ]]></description><category></category></item><item><title><![CDATA[Socket.io解压缩]]></title><link>https://blog.youkuaiyun.com/lu_pan_feng/article/details/52698537</link><guid>https://blog.youkuaiyun.com/lu_pan_feng/article/details/52698537</guid><author>lu_pan_feng</author><pubDate>Thu, 29 Sep 2016 09:15:58 +0800</pubDate><description><![CDATA[项目中的数据请求,因为是交易平台,数据的实时性要求比较高,从之前的轮询请求获取数据要改成数据的推送.
用的Socket.io 框架 . 因为数据量比较大,如果直接传输会对带宽造成影响.后台把数据压缩后传输,在客户端接收到数据后,解压后展示.
服务端压缩代码如下:

public static void  sendMessage(SocketIOClient client,String me]]></description><category></category></item><item><title><![CDATA[java.lang.IllegalArgumentException parameter must be a descendant of this view]]></title><link>https://blog.youkuaiyun.com/lu_pan_feng/article/details/52296369</link><guid>https://blog.youkuaiyun.com/lu_pan_feng/article/details/52296369</guid><author>lu_pan_feng</author><pubDate>Wed, 24 Aug 2016 08:14:11 +0800</pubDate><description><![CDATA[java.lang.IllegalArgumentException: parameter must be a descendant of this view
 at android.view.ViewGroup.offsetRectBetweenParentAndChild(ViewGroup.java:5335)
 at android.view.ViewGroup.offsetDesce]]></description><category></category></item><item><title><![CDATA[Error:(710) Apostrophe not preceded by \ (in )]]></title><link>https://blog.youkuaiyun.com/lu_pan_feng/article/details/52293955</link><guid>https://blog.youkuaiyun.com/lu_pan_feng/article/details/52293955</guid><author>lu_pan_feng</author><pubDate>Tue, 23 Aug 2016 20:00:18 +0800</pubDate><description><![CDATA[Error:(710) Apostrophe not preceded by \ (in )
是因为在xml文件的文本中含有  '  或者 %  




java.lang.IllegalAccessException: access to constructor not allowed

构造方法不是public


java.lang.RuntimeException:]]></description><category></category></item><item><title><![CDATA[工具介绍]]></title><link>https://blog.youkuaiyun.com/lu_pan_feng/article/details/52243615</link><guid>https://blog.youkuaiyun.com/lu_pan_feng/article/details/52243615</guid><author>lu_pan_feng</author><pubDate>Thu, 18 Aug 2016 18:21:43 +0800</pubDate><description><![CDATA[HFS小型服务器, 可用于局域网之间快速的传递资料,方便快捷
点击下载



Everything, 可快速搜索电脑中的文件
点击下载



GifCam, 可录制屏幕,生成gif动图,可用于博客内
点击下载]]></description><category></category></item><item><title><![CDATA[打造高质量Android应用读书笔记]]></title><link>https://blog.youkuaiyun.com/lu_pan_feng/article/details/51759559</link><guid>https://blog.youkuaiyun.com/lu_pan_feng/article/details/51759559</guid><author>lu_pan_feng</author><pubDate>Sat, 25 Jun 2016 18:35:08 +0800</pubDate><description><![CDATA[原书代码:   https://github.com/Macarse/50AH-code 
 
Hack1: 最简单的方法实现一个按钮宽度为父布局的一半:
weightSum 和layout_weight 属性
 
Hack5: TextSwitcher ImageSwitcher 文本或图片切换时可以添加动画效果.
     http://wiki.jikexueyuan.com/p]]></description><category></category></item><item><title><![CDATA[ListView悬浮头布局]]></title><link>https://blog.youkuaiyun.com/lu_pan_feng/article/details/51759095</link><guid>https://blog.youkuaiyun.com/lu_pan_feng/article/details/51759095</guid><author>lu_pan_feng</author><pubDate>Sat, 25 Jun 2016 16:56:35 +0800</pubDate><description><![CDATA[Hack 26 为LIstView添加分段表头 
ListView分条目展示  并且条目头悬浮展示
布局为FrameLayout  下层为ListView 上层为TextView, 其中TextView与item中的分类头一致
public class Hack26Activity extends Activity{


    private TextView mTopHeader; //]]></description><category></category></item><item><title><![CDATA[LED时钟显示]]></title><link>https://blog.youkuaiyun.com/lu_pan_feng/article/details/51723463</link><guid>https://blog.youkuaiyun.com/lu_pan_feng/article/details/51723463</guid><author>lu_pan_feng</author><pubDate>Mon, 20 Jun 2016 21:27:35 +0800</pubDate><description><![CDATA[类似于LED 时钟的样式, 字体设置通过ttf设置,ttf为字体格式
1.新建assets文件夹,文件夹的的位置必须是和res平级


2.新建LedTextView 设置字体
    public class LEDTextView extends TextView {

    private static final String FONTS_FOLDER = "fonts";

]]></description><category></category></item><item><title><![CDATA[格式化TextView 的文本]]></title><link>https://blog.youkuaiyun.com/lu_pan_feng/article/details/51723429</link><guid>https://blog.youkuaiyun.com/lu_pan_feng/article/details/51723429</guid><author>lu_pan_feng</author><pubDate>Mon, 20 Jun 2016 21:21:49 +0800</pubDate><description><![CDATA[Hack10 格式化TextView 的文本


可以通过Html.fromHtml()方法设置TextView的文本内容.该方法将HTML转化为一个Spanned

对象,并以此为参数调用TextView的setText()方法.

另外一种方法,不是用HTML格式化文本内容,而是使用SpannableString类创建一个Spanned对象.这种方法可以实现TextView的部分]]></description><category></category></item><item><title><![CDATA[listView动画效果]]></title><link>https://blog.youkuaiyun.com/lu_pan_feng/article/details/51660706</link><guid>https://blog.youkuaiyun.com/lu_pan_feng/article/details/51660706</guid><author>lu_pan_feng</author><pubDate>Mon, 13 Jun 2016 21:17:05 +0800</pubDate><description><![CDATA[创建动画集合对象 加入动画

创建LayoutAnimationController 对象,把动画集合对象传入构造方法中

LayoutAnimationController controller = new LayoutAnimationController(set, 0.5f);

mListView.setLayoutAnimation(conreoller);
mList =]]></description><category></category></item><item><title><![CDATA[设计模式学习--享元模式]]></title><link>https://blog.youkuaiyun.com/lu_pan_feng/article/details/51563334</link><guid>https://blog.youkuaiyun.com/lu_pan_feng/article/details/51563334</guid><author>lu_pan_feng</author><pubDate>Thu, 02 Jun 2016 07:31:21 +0800</pubDate><description><![CDATA[享元模式:使用共享对象可有效地支持大量的细粒度的对象.


享元模式是对象池的一种实现,用来尽可能的减少内存使用量,它适合用于可能存在大量重复对象的场景,来缓存可共享的对象,达到对象共享,避免创建过多对象的效果,这样一来就可以提升性能,避免内存溢出等.
享元对象中的部分状态是可以共享,可以共享的状态成为内部状态,内部状态不会随着环境变化,不可共享的状态则称为外部状态,他们会随着环境的改变而]]></description><category></category></item><item><title><![CDATA[饼状图]]></title><link>https://blog.youkuaiyun.com/lu_pan_feng/article/details/51559726</link><guid>https://blog.youkuaiyun.com/lu_pan_feng/article/details/51559726</guid><author>lu_pan_feng</author><pubDate>Wed, 01 Jun 2016 22:35:59 +0800</pubDate><description><![CDATA[项目中有一个统计信息的饼状图:




看到这种图首先想到了MPAndroidChart开源图库.
 具体参考



http://blog.youkuaiyun.com/shineflowers/article/details/44701645

http://www.tuicool.com/articles/NviA3iU

但是导入的jar包是几百KB,具体记不大清楚了. 又]]></description><category></category></item><item><title><![CDATA[设计模式学习--责任链模式]]></title><link>https://blog.youkuaiyun.com/lu_pan_feng/article/details/51553164</link><guid>https://blog.youkuaiyun.com/lu_pan_feng/article/details/51553164</guid><author>lu_pan_feng</author><pubDate>Wed, 01 Jun 2016 07:30:43 +0800</pubDate><description><![CDATA[责任链模式: 使多个对象都有机会处理请求,从而避免了请求的发送者和接受者之间的耦合关系,将这些对象连成一条链,并沿着这条链传递该请求,只到有对象处理他未止.


使用场景:
多个对象可以处理同一个请求,但具体由哪个对象处理则在运行时动态觉得
在请求处理者不明确的情况下向对个对象中的一个提交一个请求
需要动态指定一组对象处理请求


对于职责链中的一个处理者对象,其只有两个行为,一]]></description><category></category></item><item><title><![CDATA[经典文章集合]]></title><link>https://blog.youkuaiyun.com/lu_pan_feng/article/details/51485782</link><guid>https://blog.youkuaiyun.com/lu_pan_feng/article/details/51485782</guid><author>lu_pan_feng</author><pubDate>Mon, 23 May 2016 23:41:24 +0800</pubDate><description><![CDATA[double精度计算

http://www.cnblogs.com/mingforyou/p/3344489. html      


侧滑菜单DrawerLayout 
http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2014/0925/1713.html 
     


解决DrawerLayout以及vie]]></description><category></category></item><item><title><![CDATA[handler的内部实现]]></title><link>https://blog.youkuaiyun.com/lu_pan_feng/article/details/51485768</link><guid>https://blog.youkuaiyun.com/lu_pan_feng/article/details/51485768</guid><author>lu_pan_feng</author><pubDate>Mon, 23 May 2016 23:37:22 +0800</pubDate><description><![CDATA[handler的内部基本上可以分为四部分

一 Message对象创建  
handler.obtainMessage(),在底层是调用的Message.obtain方法,如果消息池中有Message对象,就直接调用,如果为空,才new Message()进行创建.
消息队列中的顺序是由消息本身维护的,消息队列中的消息是类似单链表的结构,每个消息对象都有一个next属性,指向下一个消息.]]></description><category></category></item><item><title><![CDATA[设计模式学习--迭代器模式]]></title><link>https://blog.youkuaiyun.com/lu_pan_feng/article/details/51485703</link><guid>https://blog.youkuaiyun.com/lu_pan_feng/article/details/51485703</guid><author>lu_pan_feng</author><pubDate>Mon, 23 May 2016 23:33:10 +0800</pubDate><description><![CDATA[迭代器模式:提供一种方法循序访问一个容器对象中的各个元素,而又不暴漏该对象的内部表示


迭代器模式又称为游标模式,其源于对容器的访问,比如list map 数组等,我们知道对容器对象的访问必然涉及遍历算法,我们可以将遍历的方法封装找容器中,或者不提供遍历方法. 如果我们将遍历的方法封装到容器中,那么对于容器类来说就承担了过多的功能,容器类不仅要维护自身内部的数据元素而且还有对外提供遍历的接]]></description><category></category></item></channel></rss>