<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[serapme的专栏]]></title><description><![CDATA[]]></description><link>https://blog.csdn.net/serapme</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; serapme]]></copyright><item><title><![CDATA[重构]]></title><link>https://blog.csdn.net/serapme/article/details/47143693</link><guid>https://blog.csdn.net/serapme/article/details/47143693</guid><author>serapme</author><pubDate>Thu, 30 Jul 2015 08:53:21 +0800</pubDate><description><![CDATA[《重构，改善既有代码的设计》已入手，研读中]]></description><category></category></item><item><title><![CDATA[使用SpannableString实现一个load小动画]]></title><link>https://blog.csdn.net/serapme/article/details/47005723</link><guid>https://blog.csdn.net/serapme/article/details/47005723</guid><author>serapme</author><pubDate>Thu, 23 Jul 2015 17:51:03 +0800</pubDate><description><![CDATA[依旧是github开源项目：WaitingDots 
这个项目代码不多，实现的很简单，但是很有意思因为动画的基本元素不是画出来的，而是使用了spannableString来实现。


DotsTextView.java
JumpingSpan.java
MainActivity.java 
DotstextView是动画的实现主体。 
JumpingSpan是基本元素，是动画中的插件 
MainA]]></description><category></category></item><item><title><![CDATA[Android动画学习笔记-Android Animation]]></title><link>https://blog.csdn.net/serapme/article/details/47006049</link><guid>https://blog.csdn.net/serapme/article/details/47006049</guid><author>serapme</author><pubDate>Wed, 22 Jul 2015 16:52:29 +0800</pubDate><description><![CDATA[转载一篇动画的博文原文点这里 
3.0以前，android支持两种动画模式，tween animation,frame animation，在android3.0中又引入了一个新的动画系统：property animation，这三种动画模式在SDK中被称为property animation,view animation,drawable animation。 可通过NineOldAndroids]]></description><category></category></item><item><title><![CDATA[策略模式]]></title><link>https://blog.csdn.net/serapme/article/details/46993103</link><guid>https://blog.csdn.net/serapme/article/details/46993103</guid><author>serapme</author><pubDate>Tue, 21 Jul 2015 22:19:12 +0800</pubDate><description><![CDATA[琢磨了一下策略模式，发现各个模式之间并不是区别特别大，他们都是基于软件工程一个大的基础上进行细微化差别的设计。要想熟练的选择和使用各个模式要了解每个模式的应用场景。 
比如这次学习的策略模式，在大话设计模式中举了一个商场促销几种方案的例子，如果以简单工厂模式切入写出的程序和策略模式答题不差。我在用简单工厂模式构想这个商场打折的问题时候相到的方法和策略模式无二。 
所以这次主要是给出策略模式的理论知识]]></description><category></category></item><item><title><![CDATA[快速排序]]></title><link>https://blog.csdn.net/serapme/article/details/46992477</link><guid>https://blog.csdn.net/serapme/article/details/46992477</guid><author>serapme</author><pubDate>Tue, 21 Jul 2015 21:35:25 +0800</pubDate><description><![CDATA[先手打一个快速排序热身 
排序方法很多，选一个快速排序傍身没错的 
code:public void QuickSort(int[] data,int start ,int end) {
    int low = start;
    int high = end;
    if(low < high) {
        int tmp = data[low];
        while(lo]]></description><category></category></item><item><title><![CDATA[全排列]]></title><link>https://blog.csdn.net/serapme/article/details/46980745</link><guid>https://blog.csdn.net/serapme/article/details/46980745</guid><author>serapme</author><pubDate>Tue, 21 Jul 2015 09:15:02 +0800</pubDate><description><![CDATA[Q:给了1234四个数，列出所有的排列组合。 
A:全排列算法。 
Code:public class Algorithm {    static int[] data= {1,2,3,4};
    static int[] tmp = new int[4];
    static int[] out =new int[4];
    static boolean[] used = new boo]]></description><category></category></item><item><title><![CDATA[三次贝塞尔曲线画圆的方法。]]></title><link>https://blog.csdn.net/serapme/article/details/46929375</link><guid>https://blog.csdn.net/serapme/article/details/46929375</guid><author>serapme</author><pubDate>Mon, 20 Jul 2015 10:26:20 +0800</pubDate><description><![CDATA[上一篇说的仿58同城loadingview的项目，中有一个利用贝塞尔曲线进行绘制圆的步骤，这个贝塞尔曲线理论挺复杂，特此单独说一下所知的和能用到的。 
比如上一个loadingView的项目中，要用到Path.cubic（）来使用贝塞尔曲线画一个圆，那么首先要了解的是 
Path.cubic()方法的定义：void cubicTo(float x1,float y1,float x2,float y]]></description><category></category></item><item><title><![CDATA[animation之objectAnimator]]></title><link>https://blog.csdn.net/serapme/article/details/46925637</link><guid>https://blog.csdn.net/serapme/article/details/46925637</guid><author>serapme</author><pubDate>Fri, 17 Jul 2015 12:12:22 +0800</pubDate><description><![CDATA[这次借助github上的开源项目ShapeLoadingView来学习下ObjectAnimator和animatorSet. 
代码结构目录：
ShapeLoadingView.java
LoadingView.java 
LoadingView是绘制三个基本图形的类。 
ShapeLoadingView初始化图形并操作图形进行动画。 
下面上加了注释的代码：
package com.mingle]]></description><category></category></item><item><title><![CDATA[开放与封闭]]></title><link>https://blog.csdn.net/serapme/article/details/46918791</link><guid>https://blog.csdn.net/serapme/article/details/46918791</guid><author>serapme</author><pubDate>Thu, 16 Jul 2015 22:58:17 +0800</pubDate><description><![CDATA[软件工程中的开放与封闭原则是一个开发前的指南，当你进行工程开发时要依据这个原则。 
开放封闭就是对扩展开放对修改封闭，目的是指导开发一个当需求增加时，不需要修改原有代码而进行代码扩展即可实现。为什么不去修改原代码呢？ 
举一个badCase: 
开发一个库，里面定义了加法，用户调用你这个库实现了他的1+1的需求，这时候业务扩大了另一个客户需要加法的同时也希望能够使用减法，作为一个合格的开发产品，你不]]></description><category></category></item><item><title><![CDATA[animation-circleProgress]]></title><link>https://blog.csdn.net/serapme/article/details/46907425</link><guid>https://blog.csdn.net/serapme/article/details/46907425</guid><author>serapme</author><pubDate>Thu, 16 Jul 2015 11:08:27 +0800</pubDate><description><![CDATA[CircleProgress 
github上一个开源项目 
代码的主要目录是这样 
 1. CircleProgress 
 2. EaseInOutCubicInterpolator 
 3. MainActivity 
 MainActivity是主界面负责布局的初始化和动画的启动暂停等控制 
 EaseInOutCubicInterpolator是时间插值生成的类 
 下面附上加了注释的代码]]></description><category></category></item><item><title><![CDATA[装饰模式]]></title><link>https://blog.csdn.net/serapme/article/details/46899647</link><guid>https://blog.csdn.net/serapme/article/details/46899647</guid><author>serapme</author><pubDate>Wed, 15 Jul 2015 22:14:13 +0800</pubDate><description><![CDATA[装饰模式-动态的给对象添加新功能。装饰：所谓锦上添花，装饰就是给加上“花”而它的核心本质还是“锦”。 
那么难免就有一个疑问那就直接加花就可以了啊，为什么要弄一个装饰模式出来呢？ 
举个例子：一个家伙要和面，准备蒸个馒头吃吃。然后准备一些面，加水，呀，水多了，加面…无穷尽也~ 
我们把装饰单独拿出来实现主体和附加功能的分离，在不使主体变得臃肿的情况下添加需要的新功能。再拿蒸馒头举例，蒸馒头吃的是面，]]></description><category></category></item><item><title><![CDATA[简单工厂模式]]></title><link>https://blog.csdn.net/serapme/article/details/46884645</link><guid>https://blog.csdn.net/serapme/article/details/46884645</guid><author>serapme</author><pubDate>Tue, 14 Jul 2015 22:26:58 +0800</pubDate><description><![CDATA[设计模式在我看来是为了软件工程，通过设计包括封装，继承，多态等降低程序的耦合程度，使软件工程容易修改并且易于服用。虽然作为厂商工作者，不需要面对客户开发客户端接口架构一类的工作，但设计模式在日常的code工作中是一下手就知有没有，不像刷acm无视代码结构一样。 
这次说一下简单工厂模式，毕竟这个比较容易理解在大话设计模式第一篇，翻一本书来来回回看到最多。何为工厂，能够批量按照模具生产的东西。何为模式]]></description><category></category></item><item><title><![CDATA[material颜色采样]]></title><link>https://blog.csdn.net/serapme/article/details/46877857</link><guid>https://blog.csdn.net/serapme/article/details/46877857</guid><author>serapme</author><pubDate>Tue, 14 Jul 2015 14:44:08 +0800</pubDate><description><![CDATA[http://www.materialpalette.com/light-blue/cyan 
默默地收下这个materia设计的网站，用来颜色采样棒棒的！]]></description><category></category></item><item><title><![CDATA[soundPool和audiofocus]]></title><link>https://blog.csdn.net/serapme/article/details/46877003</link><guid>https://blog.csdn.net/serapme/article/details/46877003</guid><author>serapme</author><pubDate>Tue, 14 Jul 2015 13:54:42 +0800</pubDate><description><![CDATA[audiofocus试验： 
使用soundPool来写一个播放音频的porject. 
资源初始化：setContentView(R.layout.activity_main);
        Button bt1 = (Button)findViewById(R.id.bt1);
        Button bt2 = (Button)findViewById(R.id.bt2);]]></description><category></category></item><item><title><![CDATA[androidStudio 又添一个新武器 findBugs]]></title><link>https://blog.csdn.net/serapme/article/details/46866625</link><guid>https://blog.csdn.net/serapme/article/details/46866625</guid><author>serapme</author><pubDate>Mon, 13 Jul 2015 19:11:57 +0800</pubDate><description><![CDATA[今天为我的androidStudio开发又添了一个新武器：findBugs,可以在code和编译过程中查找代码存在的问题，这个对我这种编程风格的人来说帮助很大(PS:我的编程风格是写代码先写更改，然后通过不断测试样例进行改进，调试需要花些时间，之前有文说这种编程风格比先想好再写需要更多时间，所以也在不断调整)。 
好吧，给出添加插件方法：AndroidStudio->Settigns->Plugin]]></description><category></category></item><item><title><![CDATA[论备份的重要性]]></title><link>https://blog.csdn.net/serapme/article/details/46755005</link><guid>https://blog.csdn.net/serapme/article/details/46755005</guid><author>serapme</author><pubDate>Sat, 04 Jul 2015 13:57:46 +0800</pubDate><description><![CDATA[今天怀着怀着悲痛的心情写下这句话，备份很重要！ 
昨天由于自己闲着蛋疼就在工作PC上安装了一个pack然后因为别的事要走，一看这个安装这么久竟然还没搞好！果断关机走人了，然后第二天就悲催了，系统挂掉了，修复不好，只能选择之前的一个备份点还原，然后咧，发现自己最后一次备份系统是在2013年！OMG，没有办法只能还原到那时候，然后这两年在PC的痕迹都被擦出了，虽然看着2013年的PC和文件，桌面等感觉怪]]></description><category></category></item><item><title><![CDATA[细节取胜的javadoc]]></title><link>https://blog.csdn.net/serapme/article/details/46725859</link><guid>https://blog.csdn.net/serapme/article/details/46725859</guid><author>serapme</author><pubDate>Thu, 02 Jul 2015 14:08:23 +0800</pubDate><description><![CDATA[今个以为开发经验丰富的同事提出有个修改有问题，希望改一下，老前辈发话，心虚的紧，马上看了下，问题说是我的方法注释中写了一个** doesn't **建议改为does not说这个生成javadoc有问题，咦，不禁困惑，这个写法我记得没有违反javadoc的语法规则。 
但前辈说了必然不虚，赶快查阅了ORACLE的javadoc文档 
how to write docdocument for java]]></description><category></category></item><item><title><![CDATA[JAVA字符串的优化]]></title><link>https://blog.csdn.net/serapme/article/details/46710237</link><guid>https://blog.csdn.net/serapme/article/details/46710237</guid><author>serapme</author><pubDate>Wed, 01 Jul 2015 14:48:15 +0800</pubDate><description><![CDATA[Java 程序优化：字符串操作、基本运算方法等优化策略 
看了这篇文档，略有所感，所以本篇算是一个读后感。和上篇JAVA一种提升输出速度的方法 进一步。 
主要涉及了7种优化方式。 
1.subString(begin,end): 
subString是截取String中一段的方法，我在这个上面还吃过苦头的，之前做过一个大数据量的subString一直OOM，没找到解决办法，今天看到文中提到如果使用]]></description><category></category></item><item><title><![CDATA[适配器及适配器模式]]></title><link>https://blog.csdn.net/serapme/article/details/46695967</link><guid>https://blog.csdn.net/serapme/article/details/46695967</guid><author>serapme</author><pubDate>Tue, 30 Jun 2015 15:00:35 +0800</pubDate><description><![CDATA[今个看了JVM垃圾回收工作原理，看了以后对如何系统化学习产生了一点迷思，想写一篇困惑的blog，后来想想，还是在行动中思考，所以写一篇适配器。 
看看百度百科怎么说：适配器：
适配器是英语Adapter/adaptor的汉语翻译。适配器就是一个接口转换器，它可以是一个独立的硬件接口设备，允许硬件或电子接口与其它硬件或电子接口相连，也可以是信息接口。比如：电源适配器、三角架基座转接部件、USB与串口的]]></description><category></category></item><item><title><![CDATA[适配器及适配器模式]]></title><link>https://blog.csdn.net/serapme/article/details/46695905</link><guid>https://blog.csdn.net/serapme/article/details/46695905</guid><author>serapme</author><pubDate>Tue, 30 Jun 2015 14:56:28 +0800</pubDate><description><![CDATA[今个看了JVM垃圾回收工作原理，看了以后对如何系统化学习产生了一点迷思，想写一篇困惑的blog，后来想想，还是在行动中思考，所以写一篇适配器。 
看看百度百科怎么说：适配器：
适配器是英语Adapter/adaptor的汉语翻译。适配器就是一个接口转换器，它可以是一个独立的硬件接口设备，允许硬件或电子接口与其它硬件或电子接口相连，也可以是信息接口。比如：电源适配器、三角架基座转接部件、USB与串口的]]></description><category></category></item></channel></rss>