<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title type="text">博客园_Terry_龙_分类_Android</title><id>http://feed.cnblogs.com/blog/u/65692/category/253122/rss</id><updated>2012-05-28T19:38:42Z</updated><generator>feed.cnblogs.com</generator><link rel="alternate" type="text/html" href="http://www.cnblogs.com/TerryBlog/category/253122.html"/><link rel="self" type="application/atom+xml" href="http://feed.cnblogs.com/blog/u/65692/category/253122/rss"/><entry><id>http://www.cnblogs.com/TerryBlog/archive/2012/02/23/2364862.html</id><title type="text">Android 调用堆栈跟踪</title><summary type="text">Android开发中，我们也会经常遇到段错误，也就是SIGSEGV（11），这个时候libc的backtrace会打印出对应的堆栈信 息，而你看到的仅仅是一对数字，好像无从查起。如下面这一从串断错误：ActivityManager(1105):Displayedactivitycom.android.browser/.BrowserActivity:2460ms(total2460ms)I/DEBUG(13002):************************************************I/DEBUG(13002):Buildfingerprint:'unk..</summary><published>2012-02-23T06:40:00Z</published><updated>2012-02-23T06:40:00Z</updated><author><name>Terry_龙</name><uri>http://www.cnblogs.com/TerryBlog/</uri></author><link rel="alternate" href="http://www.cnblogs.com/TerryBlog/archive/2012/02/23/2364862.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/TerryBlog/archive/2012/02/23/2364862.html"/><content type="html"/></entry><entry><id>http://www.cnblogs.com/TerryBlog/archive/2012/02/07/2340902.html</id><title type="text">使用NDK移植开源项目,JNI的使用技巧</title><summary type="text">jni 的介绍JNI是Java Native Interface的缩写，中文为JAVA本地调用。从Java1.1开始，Java Native Interface(JNI)标准成为java平台的一部分，它允许Java代码和其他语言写的代码进行交互。JNI一开始是为了本地已编译语言，尤其是C和C++而设计的，但是它并不妨碍你使用其他语言，只要调用约定受支持就可以了。以下介绍Android 中如何使用jni移植开源库的技巧.JNI日志输出到Logcat中#include &lt;android/log.h&gt;#define LOG_TAG "===xcloud==="#def</summary><published>2012-02-07T01:58:00Z</published><updated>2012-02-07T01:58:00Z</updated><author><name>Terry_龙</name><uri>http://www.cnblogs.com/TerryBlog/</uri></author><link rel="alternate" href="http://www.cnblogs.com/TerryBlog/archive/2012/02/07/2340902.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/TerryBlog/archive/2012/02/07/2340902.html"/><content type="html"/></entry><entry><id>http://www.cnblogs.com/TerryBlog/archive/2012/01/08/2316482.html</id><title type="text">android 处理图片工具</title><summary type="text">packagecom.wireme.activity;importjava.io.ByteArrayOutputStream;importjava.io.File;importjava.io.FileNotFoundException;importjava.io.FileOutputStream;importjava.io.IOException;importandroid.graphics.Bitmap;importandroid.graphics.BitmapFactory;importandroid.graphics.Canvas;importandroid.graphics.Color</summary><published>2012-01-08T08:40:00Z</published><updated>2012-01-08T08:40:00Z</updated><author><name>Terry_龙</name><uri>http://www.cnblogs.com/TerryBlog/</uri></author><link rel="alternate" href="http://www.cnblogs.com/TerryBlog/archive/2012/01/08/2316482.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/TerryBlog/archive/2012/01/08/2316482.html"/><content type="html"/></entry><entry><id>http://www.cnblogs.com/TerryBlog/archive/2011/07/26/2117626.html</id><title type="text">Android Ap 开发 设计模式第九篇：桥接模式</title><summary type="text">Bridge Pattern模式解读 bridge 是“桥梁”的意思。就像现实社会里的桥梁担负着连接两岸的重大责任一样，Bridge Pattern也是负责连接2个不同位置的参与者。 桥接模式沟通着“功能的类层次”和“实现的类层次”。将“功能的类层次”和“实现的类层次”分成2个独立的类层次可能会弄得支离破碎，所以必须在2个类层次之间建一座沟通的桥梁。程序示例 按照上面的分法，本例可以分为4个类按照“功能的类层次”和“实现的类层次”分开，分别为：功能的类层次 Display 该类为打印内容的类 CountDisplay 该类不仅可以打印内容还可以参数指定打印次数实现的类层次 DisplayIm.</summary><published>2011-07-26T12:30:00Z</published><updated>2011-07-26T12:30:00Z</updated><author><name>Terry_龙</name><uri>http://www.cnblogs.com/TerryBlog/</uri></author><link rel="alternate" href="http://www.cnblogs.com/TerryBlog/archive/2011/07/26/2117626.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/TerryBlog/archive/2011/07/26/2117626.html"/><content type="html"/></entry><entry><id>http://www.cnblogs.com/TerryBlog/archive/2011/07/25/2116617.html</id><title type="text">Android Ap 开发 设计模式第八篇：抽象工厂模式</title><summary type="text">Abstract Factory Pattern模式解读 abstract 是“抽象”，factory 是“工厂”，所以合起来abstract factory 就是“抽象工厂”的意思。Abstract Factory Pattern 中的抽象工厂则是把各种抽象零件合成抽象产品。换句话说，处理的重点是在接口(api)而不是零件的具体实现。只利用接口（API）就能把零件组合成产品。 模板方法模式和生成模式的情形 是在子类进行具体的实现，而抽象工厂模式也同样是由子类来处理具体 的实现。在子类就会出现具体工厂利用具体零件组合而成的具体产品。程序示例 本篇涉及的类较多，较之单例模式而言理解真来比较难。.</summary><published>2011-07-25T13:27:00Z</published><updated>2011-07-25T13:27:00Z</updated><author><name>Terry_龙</name><uri>http://www.cnblogs.com/TerryBlog/</uri></author><link rel="alternate" href="http://www.cnblogs.com/TerryBlog/archive/2011/07/25/2116617.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/TerryBlog/archive/2011/07/25/2116617.html"/><content type="html"/></entry><entry><id>http://www.cnblogs.com/TerryBlog/archive/2011/07/18/2109993.html</id><title type="text">Android Ap 开发 设计模式第七篇：生成器模式</title><summary type="text">Builder Pattern模式解读 生活在深圳这所高速发展的城市，高楼大厦林立。所谓万丈高楼平地起，在我们感慨楼层的高耸之外，更要配服楼层的建造者和设计者。大楼首先得打稳地基、搭建骨架，再由下往上一层层盖上去。而这样的架构从程序的设计模式来说有个专用名词叫：“Builder ”。 场景模拟 由一个固定的建筑材料“固定的字符串”，然后将这些建筑材料组合拼装，按照楼层的需要建造不同的大楼层，如：商务层、购务层、停车层等“组合拼装字备份域控制器串”。功能演示 测试程序结构图如下： UML图中，共有四个类： Builder 抽象类：不含实际处理内容，仅声明抽象方法。 Director 类：负责产.</summary><published>2011-07-18T13:31:00Z</published><updated>2011-07-18T13:31:00Z</updated><author><name>Terry_龙</name><uri>http://www.cnblogs.com/TerryBlog/</uri></author><link rel="alternate" href="http://www.cnblogs.com/TerryBlog/archive/2011/07/18/2109993.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/TerryBlog/archive/2011/07/18/2109993.html"/><content type="html"/></entry><entry><id>http://www.cnblogs.com/TerryBlog/archive/2011/07/14/2106785.html</id><title type="text">Android Ap 开发 设计模式第六篇：原型模式</title><summary type="text">Prototype Pattern名称由来 不是利用类来产生实例对象，而是从一个对象实例产生出另一个新的对象实例 ，根据被视为原型的对象实例 ，建立起的另一个新的对象实例就称为原型模式（Ptototype Pattern）。需求场景种类过多无法整合成类时第一种情形：若须处理的对象种类太多，如果要一个个设成不同的类，须产生大量的源程序文件不容易利用类产生对象实例时第二种情形：该对象的实例产生过程太复杂，很难利用类来建立。希望把框架和所产生的对象实例分开时第三种情形：希望让产生对象实例时的框架不会只存在于某些特殊类时。功能演示 测试程序类结构图如下： 模式UML图中，共有三个类：接口，Produ.</summary><published>2011-07-14T13:26:00Z</published><updated>2011-07-14T13:26:00Z</updated><author><name>Terry_龙</name><uri>http://www.cnblogs.com/TerryBlog/</uri></author><link rel="alternate" href="http://www.cnblogs.com/TerryBlog/archive/2011/07/14/2106785.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/TerryBlog/archive/2011/07/14/2106785.html"/><content type="html"/></entry><entry><id>http://www.cnblogs.com/TerryBlog/archive/2011/07/13/2105690.html</id><title type="text">Android Ap 开发 设计模式第五篇：单件模式</title><summary type="text">Singleton Pattern名称由来java 是一门面向对象的语言，android 用的也是java 开发ap ，在java/C# 里面所有的物体（类）都可以看作是一个对象，而要使用这个对象无外乎为它在内存里面分配一个对象，一般情况下最直接的方法是new 一个对象，让它存在于内存中。 单件/例模式是所有设计模式中可以说是最简单最易懂的一种编程方式 ，想保证某个特定类的对象实例绝对只有一个时，想在程序上表达出对象实例只会有一个时，这种做法就被称为单件/例模式。 Singleton 是指只有1个元素的集合。就是因为它只会有1 个对象实例，因而得名。由于其简单性，在此就不把UML图画出来了。.</summary><published>2011-07-13T12:36:00Z</published><updated>2011-07-13T12:36:00Z</updated><author><name>Terry_龙</name><uri>http://www.cnblogs.com/TerryBlog/</uri></author><link rel="alternate" href="http://www.cnblogs.com/TerryBlog/archive/2011/07/13/2105690.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/TerryBlog/archive/2011/07/13/2105690.html"/><content type="html"/></entry><entry><id>http://www.cnblogs.com/TerryBlog/archive/2011/07/12/2104693.html</id><title type="text">Android Ap 开发 设计模式第四篇：工厂方法模式</title><summary type="text">Factory Method Pattern模板模式的衍生品？ 以Template Method Pattern 架构获取产生对象实例的工厂就是Factory Method Pattern。 工厂方法模式在父类规定对象的创建方法，但并没有深入到较具体的类名。所有具体的完整内容 都放在子类。根据这个原则，我们可以大致分成产生对象实例的大纲（框架）和实际生产对象实例的类两方面。场景模拟 以一个工厂进厂打工为原型，工人们进厂须先登记信息，由所登记的信息进入创建工卡，工人们每天进厂必须使用工卡打卡，开始一天的劳动。以此为例，进行编程，设计UML图如下：程序实现 抽象类Product定义抽象方法cre.</summary><published>2011-07-12T13:07:00Z</published><updated>2011-07-12T13:07:00Z</updated><author><name>Terry_龙</name><uri>http://www.cnblogs.com/TerryBlog/</uri></author><link rel="alternate" href="http://www.cnblogs.com/TerryBlog/archive/2011/07/12/2104693.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/TerryBlog/archive/2011/07/12/2104693.html"/><content type="html"/></entry><entry><id>http://www.cnblogs.com/TerryBlog/archive/2011/07/06/2099542.html</id><title type="text">Android Ap 开发 设计模式第二篇：适配器模式</title><summary type="text">Adapter Pattern 适配器模式似曾相识 做过Android Ap开发的朋友一般情况下都会用到Google 提供的BaseAdapter 适配器做扩展，用来填充ListView、GridView 等窗口控件。用过的朋友都会觉得很简单很方便就可以对控件做一个数据源。而BaseAdapter 正是一个适配器，Google 考虑到适配器的一个特性则可以如此概括用 “既有内容” 去实现 “需要结果” 。Adapter Pattern 适配器模式共分为两种：类的 Adapter Pattern （即所谓的继承）对象的 Adapter Pattern (即所谓的委托）场景需求 给定的一个字符串.</summary><published>2011-07-06T13:05:00Z</published><updated>2011-07-06T13:05:00Z</updated><author><name>Terry_龙</name><uri>http://www.cnblogs.com/TerryBlog/</uri></author><link rel="alternate" href="http://www.cnblogs.com/TerryBlog/archive/2011/07/06/2099542.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/TerryBlog/archive/2011/07/06/2099542.html"/><content type="html"/></entry><entry><id>http://www.cnblogs.com/TerryBlog/archive/2011/07/05/2098666.html</id><title type="text">Android Ap 开发 设计模式第一篇：迭代器模式</title><summary type="text">Iterator Pattern迭代器模式场景猜想 经常编写代码都会碰到遍历一个数组，使用for循环得到数组下标之后去做进一步操作。例如下文代码：int[]array=newint[5];for(inti=0;i&lt;array.length;i++){System.out.println(""+i);}或：int[]array=newint[5];for(inti:array){System.out.println(""+i);}当然，还有更多的作法，利用将 i 将下标推移的方式遍历数组元素。 使用设计模式来编写的时候，可以将 i 的行为，抽象化为迭</summary><published>2011-07-05T13:18:00Z</published><updated>2011-07-05T13:18:00Z</updated><author><name>Terry_龙</name><uri>http://www.cnblogs.com/TerryBlog/</uri></author><link rel="alternate" href="http://www.cnblogs.com/TerryBlog/archive/2011/07/05/2098666.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/TerryBlog/archive/2011/07/05/2098666.html"/><content type="html"/></entry><entry><id>http://www.cnblogs.com/TerryBlog/archive/2011/05/12/2044900.html</id><title type="text">android 打包自己的自定义组件成JAR包</title><summary type="text">在项目开发过程中，我们难免会用到自己去制作自定义的VIEW控件，之后我们别的项目如果需要的话就直接将其复制到对应的项目中使用，虽说这么做是一个解决问题的方法，但毕竟不是很好。原因是，当我们项目积累越来越多，会发现自定义的控件越来越多，而且这些自定义的控件都是可以重复利用的，这时我们可以想想，如果把这些自定义控件都封装成一个JAR包，然后用一个项目积累起来，之后我们以后开发项目只要在原来JAR包的基础上做扩展或者直接使用，可以大大减少自己的工作重复性。首先Android 工程的基本面貌是这样的：当然对应的Activity 文件被我删除了，因为当编译成jar 包我们并不需要Activity 文件。</summary><published>2011-05-12T15:00:00Z</published><updated>2011-05-12T15:00:00Z</updated><author><name>Terry_龙</name><uri>http://www.cnblogs.com/TerryBlog/</uri></author><link rel="alternate" href="http://www.cnblogs.com/TerryBlog/archive/2011/05/12/2044900.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/TerryBlog/archive/2011/05/12/2044900.html"/><content type="html"/></entry><entry><id>http://www.cnblogs.com/TerryBlog/archive/2011/04/23/2025654.html</id><title type="text">android与PC，C#与Java 利用protobuf 进行无障碍通讯【Socket】</title><summary type="text">protobuf 是什么？Protocol buffers是一种编码方法构造的一种有效而可扩展的格式的数据。谷歌使用其内部几乎RPC协议和文件格式的所有协议缓冲区。参考文档http://code.google.com/intl/zh-CN/apis/protocolbuffers/docs/overview.htmlAPI的参考文档protobuf 适用的语言正宗（Google 自己内部用的）的protobuf支持三种语言：Java 、c++和Pyton，很遗憾的是并不支持.Net 或者 Lua 等语言，但社区的力量是不容忽视的，由于protobuf确实比Json、XML有速度上.</summary><published>2011-04-23T06:52:00Z</published><updated>2011-04-23T06:52:00Z</updated><author><name>Terry_龙</name><uri>http://www.cnblogs.com/TerryBlog/</uri></author><link rel="alternate" href="http://www.cnblogs.com/TerryBlog/archive/2011/04/23/2025654.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/TerryBlog/archive/2011/04/23/2025654.html"/><content type="html"/></entry><entry><id>http://www.cnblogs.com/TerryBlog/archive/2011/04/20/2022502.html</id><title type="text">在Eclipse中配置google protobuf(转)</title><summary type="text">官方文档http://code.google.com/intl/zh-CN/apis/protocolbuffers/docs/javatutorial.htmlhttp://code.google.com/intl/zh-CN/apis/protocolbuffers/docs/reference/java/index.htmlhttp://code.google.com/intl/zh-CN/apis/protocolbuffers/docs/proto.htmlhttp://code.google.com/intl/zh-CN/apis/protocolbuffers/docs/refe</summary><published>2011-04-20T09:02:00Z</published><updated>2011-04-20T09:02:00Z</updated><author><name>Terry_龙</name><uri>http://www.cnblogs.com/TerryBlog/</uri></author><link rel="alternate" href="http://www.cnblogs.com/TerryBlog/archive/2011/04/20/2022502.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/TerryBlog/archive/2011/04/20/2022502.html"/><content type="html"/></entry><entry><id>http://www.cnblogs.com/TerryBlog/archive/2011/04/18/2019907.html</id><title type="text">众多Android 开源项目推荐，给力工作给力学习</title><summary type="text">FBReaderJFBReaderJ用于Android平台的电子书阅读器，它支持多种电子书籍格式包括：oeb、ePub和fb2。此外还支持直接读取zip、tar和gzip等压缩文档。 项目地址：http://www.fbreader.org/FBReaderJ/ AngleAngle是一款专为Android平台设计的，适合快速开发的2D游戏引擎，基于OpenGL ES技术开发。该引擎全部用Java...</summary><published>2011-04-18T07:20:00Z</published><updated>2011-04-18T07:20:00Z</updated><author><name>Terry_龙</name><uri>http://www.cnblogs.com/TerryBlog/</uri></author><link rel="alternate" href="http://www.cnblogs.com/TerryBlog/archive/2011/04/18/2019907.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/TerryBlog/archive/2011/04/18/2019907.html"/><content type="html"/></entry><entry><id>http://www.cnblogs.com/TerryBlog/archive/2011/03/07/1973308.html</id><title type="text">Android 使用AsyncTask 后监听异步加载完毕的动作</title><summary type="text">AsyncTask 的使用方法网上有很多例子，使用起来也非常的方便。这里就不详细说具体的使用方法了，同学可以Google 一下，很多。场景模拟 当我们在加载一个列表的时候，比如GridView ，这时候我们考虑到不阻塞UI的做法，一般会使用线程Thread 、Timer 或者使用AsyncTask ，而这些操作都是在在后台另外开一个线程给我们找数据，具体得到的数据需要使用Handler 去更新UI，AsyncTask 也是一样使用到的Handler 只是它将Handler 封装在了onPostExecute 执行操作中。而这一操作可能会产生一个问题，比如你有一个列表更新数据库使用到的是Asy.</summary><published>2011-03-07T02:16:00Z</published><updated>2011-03-07T02:16:00Z</updated><author><name>Terry_龙</name><uri>http://www.cnblogs.com/TerryBlog/</uri></author><link rel="alternate" href="http://www.cnblogs.com/TerryBlog/archive/2011/03/07/1973308.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/TerryBlog/archive/2011/03/07/1973308.html"/><content type="html"/></entry><entry><id>http://www.cnblogs.com/TerryBlog/archive/2011/01/26/1945747.html</id><title type="text">Android 分享两个你学习android 平台开发必须碰到的几个知识点的组件【天气预报、日期】View 组件</title><summary type="text">本篇文章将分享两个VIEW组件，一个天气组件和一个日期组件，这两个组件本来是一个App Widget 后来，我看着好玩，将他们弄成一个VIEW的组件，可以像使用Windows Phone 7 的用户控件一样拖放到你想要的项目中。本篇将演示这两个组件的编写过程，工程文件如下：包名介绍：com.terry.weather程序的入口包com.yaomei.adapter天气预报组件使用到的数据源com.yaomei.model天气预报使用到的模型包com.yaomei.util获取天气信息的工具包com.yaomei.widget天气预报组件、日期组件的存放位置从包名</summary><published>2011-01-26T11:47:00Z</published><updated>2011-01-26T11:47:00Z</updated><author><name>Terry_龙</name><uri>http://www.cnblogs.com/TerryBlog/</uri></author><link rel="alternate" href="http://www.cnblogs.com/TerryBlog/archive/2011/01/26/1945747.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/TerryBlog/archive/2011/01/26/1945747.html"/><content type="html"/></entry><entry><id>http://www.cnblogs.com/TerryBlog/archive/2011/01/21/1941600.html</id><title type="text">Android 机顶盒手势、数据分页演示DEMO</title><summary type="text">上篇讲了一篇机顶盒的一个封装类《GridView》，利用这个封装的GridView 可以实现一些例如移动、位移图标等基础组件“GridView”无法实现的一些功能。本篇将会提出一部分可供运行的代码演示一个分页、手势换屏的DEMO版本，供大家学习。DEMO 的工程目录如下：包名解释：com.yaomei.activity.adapter DEMO使用到的自定义Adaptercom.yaomei.activity.infoDEMO入口com.yaomei.dbHelper数据库帮助类com.yaomei.model应用程序JAVA BEANcom.</summary><published>2011-01-21T13:29:00Z</published><updated>2011-01-21T13:29:00Z</updated><author><name>Terry_龙</name><uri>http://www.cnblogs.com/TerryBlog/</uri></author><link rel="alternate" href="http://www.cnblogs.com/TerryBlog/archive/2011/01/21/1941600.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/TerryBlog/archive/2011/01/21/1941600.html"/><content type="html"/></entry><entry><id>http://www.cnblogs.com/TerryBlog/archive/2011/01/18/1938637.html</id><title type="text">Android 分享机顶盒项目的封装类《GridView》</title><summary type="text">由于使用系统自带的GridView 不够灵活，不能允许拖拉控件，故自己结合LinearLayout 封装的一个GridView ，通过本篇文章的阅读你可以学会如何自定义控件，如何使用组合控件，如何为自己的组合控件添加数据源和如何为自定义控件添加属性。首先，我们要实现的效果是这样的：上面1 2也是一个封装控件，用来为应用程序分页，具体如何实现下篇文章会提到，本篇先讲GridView。如图，这是一个标准的800*480大小的屏幕，所以设置了一页GridView 显示的应用程序数据为 三行五列，不足五列则按需显示。按照上面的图例需求，大致上可以把GridView 画成如下的方式：思路</summary><published>2011-01-18T13:12:00Z</published><updated>2011-01-18T13:12:00Z</updated><author><name>Terry_龙</name><uri>http://www.cnblogs.com/TerryBlog/</uri></author><link rel="alternate" href="http://www.cnblogs.com/TerryBlog/archive/2011/01/18/1938637.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/TerryBlog/archive/2011/01/18/1938637.html"/><content type="html"/></entry><entry><id>http://www.cnblogs.com/TerryBlog/archive/2011/01/13/1934951.html</id><title type="text">Android 解码Gif 图像并播放</title><summary type="text">Android 播放GIF之前就有过一篇文章是讲述如何使用GIF文件并播放。可以通过这里 了解关于播放GIF的一种方法。如果前面有了解过的朋友肯定知道这上面的做法比较麻烦，又要去分解图片，又要写各种麻烦的XML文件，有点郁闷，而且还带来的直接后果是一个比较多动作的GIF图片可能会将项目的体积变大，这点很多朋友都无法接受。不过这样的好处也显而易见，就是运行的速度会比你去解码的速度要快。以下这种方法是需要解码，但是速度的话保证不了，可能开线程的时候没有处理好吧，以下面这张图片为例做解码播放：首先，先编写一个GIF解码的帮助类，该类提供了几个操作GIF图片的方法，比如图片的初始化呀，切换</summary><published>2011-01-13T13:37:00Z</published><updated>2011-01-13T13:37:00Z</updated><author><name>Terry_龙</name><uri>http://www.cnblogs.com/TerryBlog/</uri></author><link rel="alternate" href="http://www.cnblogs.com/TerryBlog/archive/2011/01/13/1934951.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/TerryBlog/archive/2011/01/13/1934951.html"/><content type="html"/></entry></feed>
