<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[ff20081528的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/ff20081528</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; ff20081528]]></copyright><item><title><![CDATA[设计模式(五)之工厂模式(Mediator Pattern)]]></title><link>https://blog.youkuaiyun.com/ff20081528/article/details/18987441</link><guid>https://blog.youkuaiyun.com/ff20081528/article/details/18987441</guid><author>ff20081528</author><pubDate>Sat, 08 Feb 2014 18:23:58 +0800</pubDate><description><![CDATA[工厂模式
1、描述
定义一个用于创建对象的接口，让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。
2、使用场景
用户需要一个类的子类的实例，但不希望与该类的子类形成耦合。
得到一个类的子类的实例最常用的办法就是直接new一个该对象，但是在某些情况下，用户可能不应该或无法使用这种办法来得到一个子类的实例，其原因是系统不允许用户代码和该类的子类形成耦合或者用户不知道该类有哪些]]></description><category></category></item><item><title><![CDATA[设计模式(四)之单例模式]]></title><link>https://blog.youkuaiyun.com/ff20081528/article/details/18980559</link><guid>https://blog.youkuaiyun.com/ff20081528/article/details/18980559</guid><author>ff20081528</author><pubDate>Sat, 08 Feb 2014 10:31:13 +0800</pubDate><description><![CDATA[单例模式
1、描述
保证一个类仅有一个实例，并提供一个访问它的全局访问点。
2、使用场景
在某些情况下，我们可能需要某个类只创建一个对象，即不让用对该类实例化出多余二个实例。
3、模式中的角色
单例类(Singleton):只可以创建出一个实例。
4、类图]]></description><category></category></item><item><title><![CDATA[设计模式(三)之生成器模式(Builder Pattern)]]></title><link>https://blog.youkuaiyun.com/ff20081528/article/details/18964913</link><guid>https://blog.youkuaiyun.com/ff20081528/article/details/18964913</guid><author>ff20081528</author><pubDate>Fri, 07 Feb 2014 16:31:39 +0800</pubDate><description><![CDATA[生成器模式
1、描述
将一个复杂对象的构建与它的表现分离，使同样的构建过程可以创建不同的表现。
2、使用场景
当系统准备为用户提供一个内部结构复杂的对象，而且在构造方法中编写创建该对象的代码无法满足用户需求时，就可以使用生成器模式来构造这样的对象。
当某些系统要求对象的构造过程必须独立于创建该对象的类时。]]></description><category></category></item><item><title><![CDATA[设计模式(二)之装饰模式(Decorator Pattern)]]></title><link>https://blog.youkuaiyun.com/ff20081528/article/details/18960127</link><guid>https://blog.youkuaiyun.com/ff20081528/article/details/18960127</guid><author>ff20081528</author><pubDate>Fri, 07 Feb 2014 11:59:16 +0800</pubDate><description><![CDATA[装饰模式
1、描述
动态的给对象添加一些额外的职责。在许多设计中，可能需要改进类的某个对象的功能，而不是该类创建的全部对象。
2、]]></description><category></category></item><item><title><![CDATA[基于ViewFlipper实现图片浏览组件]]></title><link>https://blog.youkuaiyun.com/ff20081528/article/details/18223243</link><guid>https://blog.youkuaiyun.com/ff20081528/article/details/18223243</guid><author>ff20081528</author><pubDate>Mon, 13 Jan 2014 15:54:24 +0800</pubDate><description><![CDATA[前段时间一个朋友问我有没有做过手机商城的广告浏览的功能，我也看了下，基本上所有的商城也都有衣蛾这样的东西。在网上搜了下，开源的也有，网友自己写的也有。但是没有找到完全符合朋友需求的一个组件。为此也就花了点时间帮朋友写了这么一个组件，在此分享出来，希望对一些朋友有用，能省一些开发时间。组件的功能
1，自动播放功能（带有切换动画）；

2，手指滑动切换（手指效果和动画效果同步）；

3，能够循环滑动和播放；

4，有图片浏览指示标；]]></description><category></category></item><item><title><![CDATA[深入了解ViewFlipper工作机制]]></title><link>https://blog.youkuaiyun.com/ff20081528/article/details/18089883</link><guid>https://blog.youkuaiyun.com/ff20081528/article/details/18089883</guid><author>ff20081528</author><pubDate>Fri, 10 Jan 2014 17:52:31 +0800</pubDate><description><![CDATA[平时我们在使用ViewFlipper的时候一方面感叹ViewFlipper的使用很简单，另一方面，我们时常感叹ViewFlipper给我们的接口方法太少，很多常用的效果都不好做，很难施展拳脚，这篇文章将详细介绍ViewFlipper的架构以及它的工作原理，相信看了这篇文章后你会发现ViewFlipper能展现的效果也可以很多，自己也可以根据自己的需求来定制属于自己的ViewFlipper。]]></description><category></category></item><item><title><![CDATA[android实现向右滑动返回功能]]></title><link>https://blog.youkuaiyun.com/ff20081528/article/details/17845753</link><guid>https://blog.youkuaiyun.com/ff20081528/article/details/17845753</guid><author>ff20081528</author><pubDate>Sat, 04 Jan 2014 17:42:53 +0800</pubDate><description><![CDATA[在ios7中，苹果的原生态应用几乎都能够通过向右滑动来返回到前一个页面，这样可以避免用户在单手操作时用大拇指去点击那个遥远的返回键（iphone5的这种返回被吐糟为反人类设计）。然而现在android的手机市场上几乎很难找到小于4寸屏的手机了，几乎所有的应用都是通过点击左上角的返回来退到上一个页面，如果单手拿一个大屏手机，我是觉得会发疯。为此花了点时间写了个向右滑动返回的demo。]]></description><category></category></item><item><title><![CDATA[View工作原理（四）view的layout过程]]></title><link>https://blog.youkuaiyun.com/ff20081528/article/details/17784911</link><guid>https://blog.youkuaiyun.com/ff20081528/article/details/17784911</guid><author>ff20081528</author><pubDate>Fri, 03 Jan 2014 10:40:53 +0800</pubDate><description><![CDATA[一、android中view的layout过程总概
	Layout过程其实就是父视图按照子视图的大小及布局参数将子视图放在窗口的合适的位置上。
	视图的布局过程是从ViewRoot对象调用根视图的layout()方法开始，接着layout()方法调用根视图的onLay]]></description><category></category></item><item><title><![CDATA[layout_weight属性详解（源码解读）]]></title><link>https://blog.youkuaiyun.com/ff20081528/article/details/17582787</link><guid>https://blog.youkuaiyun.com/ff20081528/article/details/17582787</guid><author>ff20081528</author><pubDate>Thu, 26 Dec 2013 14:37:17 +0800</pubDate><description><![CDATA[在上一篇文章中《View工作原理（三）视图大小计算过程（measure过程） 》，我们详细的介绍了View的measure过程，我在讲解LinearLayout的measure过程中，提到了layout_weight这个属性，今天就来详细介绍下这个属性。如果要完全理解这篇文章，建议先看看前一篇文章。
	这里我们还是以LinearLayout的纵向布局来分析，即measureVertical()方]]></description><category></category></item><item><title><![CDATA[View工作原理（三）视图大小计算过程（measure过程）]]></title><link>https://blog.youkuaiyun.com/ff20081528/article/details/17560135</link><guid>https://blog.youkuaiyun.com/ff20081528/article/details/17560135</guid><author>ff20081528</author><pubDate>Wed, 25 Dec 2013 18:20:43 +0800</pubDate><description><![CDATA[一、android视图measure过程总概
	视图大小计算的过程是从根视图measure()方法开始，接着该方法会调用根视图的onMeasure()方法，onMeasure()方法会对所包含的子视图逐一执行measure()方法，如果子视图是ViewGroup子类对象（LinearLayout、FrameLayout、RelativeLayout等布局），则继续调用子视图的measure()方]]></description><category></category></item><item><title><![CDATA[View工作原理（二）导致View重建原因]]></title><link>https://blog.youkuaiyun.com/ff20081528/article/details/17417973</link><guid>https://blog.youkuaiyun.com/ff20081528/article/details/17417973</guid><author>ff20081528</author><pubDate>Thu, 19 Dec 2013 16:26:03 +0800</pubDate><description><![CDATA[导致View重建的原因有三个：
1、视图本身内部状态变化引起重绘；
2、view树内部添加或者删除子view；
3、View本身的大小及可见性发生变化。
	这三种情况最后都直接或者间接的调用到了三个方法，invalidate()、requestLayout()和requestFocus()，而这三个函数最终都会调用到ViewRoot中的schueduleTraversals()方法，该方法]]></description><category></category></item><item><title><![CDATA[View工作原理（一）事件传递原理详解]]></title><link>https://blog.youkuaiyun.com/ff20081528/article/details/17353869</link><guid>https://blog.youkuaiyun.com/ff20081528/article/details/17353869</guid><author>ff20081528</author><pubDate>Mon, 16 Dec 2013 15:49:01 +0800</pubDate><description><![CDATA[View源码解读之触摸事件分发过程。通过代码的讲解来详细阐述事件分发，并通过例子程序来巩固这一个原理。]]></description><category></category></item><item><title><![CDATA[读《从技术走向管理》一书笔记（一）]]></title><link>https://blog.youkuaiyun.com/ff20081528/article/details/17333587</link><guid>https://blog.youkuaiyun.com/ff20081528/article/details/17333587</guid><author>ff20081528</author><pubDate>Sun, 15 Dec 2013 14:00:03 +0800</pubDate><description><![CDATA[序：最近总监给一本书《从技术走向管理》的书籍，最近正在研读，读的过程中挺有感触的，很对话感觉写的就是我自己。所以想写下一些本人认为很有感触的内容分享给博友们，希望对你们的管理有一定的帮助。
	这篇博文，是从书的01-20章节的摘要。]]></description><category></category></item><item><title><![CDATA[android背景图片及状态切换]]></title><link>https://blog.youkuaiyun.com/ff20081528/article/details/17286245</link><guid>https://blog.youkuaiyun.com/ff20081528/article/details/17286245</guid><author>ff20081528</author><pubDate>Thu, 12 Dec 2013 17:50:41 +0800</pubDate><description><![CDATA[android SDK中关于颜色状态背景的说明：http://developer.android.com/guide/topics/resources/color-list-resource.html
在网上也找到了一篇翻译文章：http://wiki.eoeandroid.com/Color_State_List
 
	因为赶潮流，在刚结束的项目中，整个项目的设计风格都是扁平化的，相对于拟]]></description><category></category></item><item><title><![CDATA[设计模式(一)之模板方法模式（Template Method Pattern）]]></title><link>https://blog.youkuaiyun.com/ff20081528/article/details/17282883</link><guid>https://blog.youkuaiyun.com/ff20081528/article/details/17282883</guid><author>ff20081528</author><pubDate>Thu, 12 Dec 2013 15:01:05 +0800</pubDate><description><![CDATA[模板方法模式 
 1、 描述
            定义一个操作中的算法的骨架，而将一些步骤延迟到子类中。模板方法使子类可以不改变一个算的结构即可重定义该算法的某些特定步骤。
2、使用场景]]></description><category></category></item><item><title><![CDATA[下拉刷新之ScrollView--PullToRefreshScrollView]]></title><link>https://blog.youkuaiyun.com/ff20081528/article/details/17268151</link><guid>https://blog.youkuaiyun.com/ff20081528/article/details/17268151</guid><author>ff20081528</author><pubDate>Wed, 11 Dec 2013 18:49:47 +0800</pubDate><description><![CDATA[开发android的人基本都知道有一个下拉刷新的开源组件，基本都认为下拉刷新的都是ListView（今天就遇到了这样的人）。其实下拉刷新这是一个整套的开源组件。能够实现下拉的组件有：]]></description><category></category></item><item><title><![CDATA[Tasks and Back stack  详解]]></title><link>https://blog.youkuaiyun.com/ff20081528/article/details/17219951</link><guid>https://blog.youkuaiyun.com/ff20081528/article/details/17219951</guid><author>ff20081528</author><pubDate>Mon, 09 Dec 2013 11:12:57 +0800</pubDate><description><![CDATA[一个应用往往包含很多activities．每个activity都应围绕着用户可执行的特定动作来设计，并且可以启动其它activities．例如，一个email应用可能有一个显示新邮件列表的activity．当用户选择一个邮件，一个新的activity被打开以显示邮件内容．]]></description><category></category></item><item><title><![CDATA[Activity的四种launchMode]]></title><link>https://blog.youkuaiyun.com/ff20081528/article/details/17170165</link><guid>https://blog.youkuaiyun.com/ff20081528/article/details/17170165</guid><author>ff20081528</author><pubDate>Fri, 06 Dec 2013 17:05:55 +0800</pubDate><description><![CDATA[合抱之木，生於毫末；九層之台，起於累土；千里之行，始於足下。《老子》
今天在社区看到有朋友问“如何在半年内成为顶级架构师”，有网友道“关灯睡觉，不用半年的...”,的确，做梦还来的快一些。作为一个程序员，树立远大的目标是值得欣赏的，但不能只去空想，要一步一步地实践才行。成大事者，须从小事做起；万事起于忽微，量变引起质变。
我们今天要讲的是Activity的四种launchMode。

la]]></description><category></category></item><item><title><![CDATA[Android中startActivity的permission检测与UID机制]]></title><link>https://blog.youkuaiyun.com/ff20081528/article/details/17167803</link><guid>https://blog.youkuaiyun.com/ff20081528/article/details/17167803</guid><author>ff20081528</author><pubDate>Fri, 06 Dec 2013 15:13:54 +0800</pubDate><description><![CDATA[我们经常在一个activity中去start另一个activity，或者与另一个acitivity的结果进行交互（startActivityForResult）。但有没有想过可能会出现的permission问题呢？如果你遇到了permission denial的Exception，那么你需要读读这篇文章啦。 

我们在同一个application内部，可以随意的startActivity fr]]></description><category></category></item><item><title><![CDATA[activity配置信息详解]]></title><link>https://blog.youkuaiyun.com/ff20081528/article/details/17163621</link><guid>https://blog.youkuaiyun.com/ff20081528/article/details/17163621</guid><author>ff20081528</author><pubDate>Fri, 06 Dec 2013 11:14:42 +0800</pubDate><description><![CDATA[翻译原文地址:http://developer.android.com/guide/topics/manifest/activity-element.html#config
声明一个Activity（Activity的子类)可以实现应用程序的可视化用户界面的一部分。 所有的Activity必须以<activity>在manifest文件中的元素形式存在。 任何未声明的Activity将不会被系统所识别并且永远不会被执行。]]></description><category></category></item></channel></rss>