<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[GaoMatrix的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/GaoMatrix</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; GaoMatrix]]></copyright><item><title><![CDATA[编写可复用的自定义按钮]]></title><link>https://blog.youkuaiyun.com/GaoMatrix/article/details/7107380</link><guid>https://blog.youkuaiyun.com/GaoMatrix/article/details/7107380</guid><author>GaoMatrix</author><pubDate>Tue, 27 Dec 2011 22:39:02 +0800</pubDate><description><![CDATA[转载：http://marshal.easymorse.com/archives/4606


Android的布局，要比iOS复杂的多。如果想写出和iOS类似的交互体验，付出的代价往往要增加一个数量级。

现在有个正在开发的Android项目，里面已经有了一些不合理的UI实现方式。比如按钮是一张图：






可以看出，应该用编程的方式来实现这个按钮，比如xml声明dr]]></description><category></category></item><item><title><![CDATA[学习笔记 ---- 设计模式之观察者模式]]></title><link>https://blog.youkuaiyun.com/GaoMatrix/article/details/7106615</link><guid>https://blog.youkuaiyun.com/GaoMatrix/article/details/7106615</guid><author>GaoMatrix</author><pubDate>Tue, 27 Dec 2011 17:30:29 +0800</pubDate><description><![CDATA[转载：http://www.cnblogs.com/shitouer/archive/2011/09/02/2164048.html

Head First里边给出的场景是：

    客户需要这样一个App：一个WheatherData类可以从气象站获得气象信息（temperature, humidity, pressure and so on）.一旦这些信息改变，就会更新气象站的三个公]]></description><category></category></item><item><title><![CDATA[使用java concurrent处理异步加载图片功能]]></title><link>https://blog.youkuaiyun.com/GaoMatrix/article/details/7105639</link><guid>https://blog.youkuaiyun.com/GaoMatrix/article/details/7105639</guid><author>GaoMatrix</author><pubDate>Tue, 27 Dec 2011 14:04:28 +0800</pubDate><description><![CDATA[转载：http://marshal.easymorse.com/archives/3081


java5开始，增加了concurrent api，用于并发处理。比如起多个线程并发从网络上下载图片，然后在本地显示。

这里写个简单的代码，来说明如何使用concurrent api提供的线程连接池。

运行结果类似这样：


start do 1 task … 
>>main t]]></description><category></category></item><item><title><![CDATA[在Release版本中如何关闭Debug版本中的log]]></title><link>https://blog.youkuaiyun.com/GaoMatrix/article/details/7104445</link><guid>https://blog.youkuaiyun.com/GaoMatrix/article/details/7104445</guid><author>GaoMatrix</author><pubDate>Mon, 26 Dec 2011 23:06:03 +0800</pubDate><description><![CDATA[之前在程序中有打了很多的log，当初打log的方式也没有统一，删掉肯定不行，统一修改也挺麻烦的。今天在stackoverflow上面看到有对这个的讨论
主要有以下三种方式关闭log信息http://stackoverflow.com/questions/2446248/deactivate-any-calls-to-log-before-publishing-are-there-tools-to]]></description><category></category></item><item><title><![CDATA[Android - get email attachment name in my application]]></title><link>https://blog.youkuaiyun.com/GaoMatrix/article/details/7091123</link><guid>https://blog.youkuaiyun.com/GaoMatrix/article/details/7091123</guid><author>GaoMatrix</author><pubDate>Wed, 21 Dec 2011 14:11:52 +0800</pubDate><description><![CDATA[之前从邮箱里面打开文件会调用我们的程序，然后我们的程序将文件通过流的方式读到本地，但是之前在传过来的intent里面没有文件名字的信息，所以一直用“附件”作为文件的名字，这样一是不能正确显示邮件里面文件的真实名字，再就是出现了其他的问题，看到其他的程序却可以显示，刚开始以为是通过底层解析获得的，但发现不是，原来还是通过android的机制就可以获得
还有特写要强调一点的就是，之前在网上搜这个问题]]></description><category></category></item><item><title><![CDATA[Android中如何做到Service被关闭后又自动启动]]></title><link>https://blog.youkuaiyun.com/GaoMatrix/article/details/7086481</link><guid>https://blog.youkuaiyun.com/GaoMatrix/article/details/7086481</guid><author>GaoMatrix</author><pubDate>Tue, 20 Dec 2011 10:22:38 +0800</pubDate><description><![CDATA[转载：GL（arui319）http://blog.youkuaiyun.com/arui319  http://blog.youkuaiyun.com/arui319/article/details/7040980


那如何做到启动一个Service，并且在用户关闭后能自动又启动了呢？

 一般的，都会在上面说到的BroadcastReceiver的实现里面，监听手机启动完成后，启动一个Service，这是]]></description><category></category></item><item><title><![CDATA[类的声明周期 一]]></title><link>https://blog.youkuaiyun.com/GaoMatrix/article/details/7085970</link><guid>https://blog.youkuaiyun.com/GaoMatrix/article/details/7085970</guid><author>GaoMatrix</author><pubDate>Mon, 19 Dec 2011 23:26:57 +0800</pubDate><description><![CDATA[1.
类的生命周期从类被加载、连接和初始化开始，到类被卸载结束。当类处于声明周期中时，他的二进制数据位于方法区内，在堆区内还会有一个相应的描述这个类的Class对象。只有当类处于生命周期中时，Java程序才能使用他，比如调用类的静态属性和方法，或者创建类的实例。
当通过java命令运行一个java程序时，就启动了一个java虚拟机进程。java虚拟机进程从启动到终止的过程，称为java虚拟机的]]></description><category></category></item><item><title><![CDATA[惹恼程序员的十件事]]></title><link>https://blog.youkuaiyun.com/GaoMatrix/article/details/7085019</link><guid>https://blog.youkuaiyun.com/GaoMatrix/article/details/7085019</guid><author>GaoMatrix</author><pubDate>Mon, 19 Dec 2011 17:51:45 +0800</pubDate><description><![CDATA[转载：http://blog.youkuaiyun.com/haoel/article/details/4053048

程序员是一个比较特殊的群体，他们因为长期和电脑打交道所养成的性格和脾气也是比较相近的。当然，既然是人，当然是会有性格的，也是会有脾气的。下面，让我来看看十件能把程序惹毛了的事情。一方面我们可以看看程序员的共性，另一方面我们也可以看看程序员的缺点。无论怎么样，我都希望他们对你的日常工作都]]></description><category></category></item><item><title><![CDATA[结对编程的利与弊]]></title><link>https://blog.youkuaiyun.com/GaoMatrix/article/details/7083921</link><guid>https://blog.youkuaiyun.com/GaoMatrix/article/details/7083921</guid><author>GaoMatrix</author><pubDate>Mon, 19 Dec 2011 13:45:44 +0800</pubDate><description><![CDATA[转载：http://blog.youkuaiyun.com/haoel/article/details/3868090

结对编程(Pair-Programming)可能是近年来最为流行的编程方式。所谓结对编程，也就是两个人写一个程序，其中，一个人叫Driver，另一个人叫Observer，Driver在编程代码，而Observer在旁边实时查看Driver的代码，并帮助Driver编程。并且，Drive]]></description><category></category></item><item><title><![CDATA[编程修养 阅读笔记四]]></title><link>https://blog.youkuaiyun.com/GaoMatrix/article/details/7083569</link><guid>https://blog.youkuaiyun.com/GaoMatrix/article/details/7083569</guid><author>GaoMatrix</author><pubDate>Mon, 19 Dec 2011 11:54:24 +0800</pubDate><description><![CDATA[转载：http://blog.youkuaiyun.com/haoel/article/details/2872

26、为常量声明宏
————————
最好不要在程序中出现数字式的“硬编码”（不要在程序中出现魔幻数字），如：
    int user[120];
    
为这个120声明一个宏吧。为所有出现在程序中的这样的常量都声明一个宏吧。比如TimeOut的时间，最大的用户数量，还有其它]]></description><category></category></item><item><title><![CDATA[memset用法详解]]></title><link>https://blog.youkuaiyun.com/GaoMatrix/article/details/7083648</link><guid>https://blog.youkuaiyun.com/GaoMatrix/article/details/7083648</guid><author>GaoMatrix</author><pubDate>Mon, 19 Dec 2011 11:43:29 +0800</pubDate><description><![CDATA[memest原型 (please type "man memset" in your shell) 


 void *memset(void *s,  int c, size_t n); 


memset:作用是在一段内存块中填充某个给定的值，它对较大的结构体或数组进行清零操作的一种最快方法。


常见的三种错误



第一: 搞反了c 和 n的位置. 


一]]></description><category></category></item><item><title><![CDATA[编程修养 阅读笔记二]]></title><link>https://blog.youkuaiyun.com/GaoMatrix/article/details/7083444</link><guid>https://blog.youkuaiyun.com/GaoMatrix/article/details/7083444</guid><author>GaoMatrix</author><pubDate>Mon, 19 Dec 2011 11:02:50 +0800</pubDate><description><![CDATA[转载：http://blog.youkuaiyun.com/haoel/article/details/2872

9、变量的初始化
————————
接上一条，变量一定要被初始化再使用。C/C++编译器在这个方面不会像JAVA一样帮你初始化，这一切都需要你自己来，如果你使用了没有初始化的变量，结果未知。好的程序员从来都会在使用变量前初始化变量的。如：
    1) 对malloc分配的内存进行me]]></description><category></category></item><item><title><![CDATA[编程修养 阅读笔记三]]></title><link>https://blog.youkuaiyun.com/GaoMatrix/article/details/7082465</link><guid>https://blog.youkuaiyun.com/GaoMatrix/article/details/7082465</guid><author>GaoMatrix</author><pubDate>Sun, 18 Dec 2011 22:07:57 +0800</pubDate><description><![CDATA[转载：http://blog.youkuaiyun.com/haoel/article/details/2872

16、把相同或近乎相同的代码形成函数和宏
—————————————————————
有人说，最好的程序员，就是最喜欢“偷懒”的程序，其中不无道理。
如果你有一些程序的代码片段很相似，或直接就是一样的，请把他们放在一个函数中。而如果这段代码不多，而且会被经常使用，你还想避免函数调用的开]]></description><category></category></item><item><title><![CDATA[编程修养 阅读笔记一]]></title><link>https://blog.youkuaiyun.com/GaoMatrix/article/details/7082191</link><guid>https://blog.youkuaiyun.com/GaoMatrix/article/details/7082191</guid><author>GaoMatrix</author><pubDate>Sun, 18 Dec 2011 21:51:39 +0800</pubDate><description><![CDATA[转载：http://blog.youkuaiyun.com/haoel/article/details/2872
什么是好的程序员？是不是懂得很多技术细节？还是懂底层编程？还是编程速度比较快？我觉得都不是。对于一些技术细节来说和底层的技术，只要看帮助，查资料就能找到，对于速度快，只要编得多也就熟能生巧了。
我认为好的程序员应该有以下几方面的素质：

  1、有专研精神，勤学善问、举一反三。
  2、]]></description><category></category></item><item><title><![CDATA[Java异常处理 一]]></title><link>https://blog.youkuaiyun.com/GaoMatrix/article/details/7081290</link><guid>https://blog.youkuaiyun.com/GaoMatrix/article/details/7081290</guid><author>GaoMatrix</author><pubDate>Sun, 18 Dec 2011 11:33:25 +0800</pubDate><description><![CDATA[1.异常处理的越早，损失越小
2.在一些传统的编程语言中，如C语言中，没有专门处理异常的机制，程序员通常用方法的特定返回值来表示异常情况。Java语言按照面向对象的思想来处理异常，使得程序具有更好的可维护性，Java语言处理异常具有以下优点：
   >把各种不同类型的异常情况进行分类，用Java类来表示异常情况，这种类被称为异常类。把异常情况表示成异常类，可以充分发挥类的可扩展和可重用的优势]]></description><category></category></item><item><title><![CDATA[高效的java异常处理]]></title><link>https://blog.youkuaiyun.com/GaoMatrix/article/details/7081283</link><guid>https://blog.youkuaiyun.com/GaoMatrix/article/details/7081283</guid><author>GaoMatrix</author><pubDate>Sun, 18 Dec 2011 10:58:19 +0800</pubDate><description><![CDATA[1 基本信息
摘要：本文倡导一种对异常条件本质的思考方式，并描述一些有助于设计的模式。最后，本文还将在AOP模型中，作为相互渗透的问题，来讨论异常的处理。当你能正确使用异常时，它们会有极大的好处。本文将帮助你做到这一点。
原作者：Barry Ruzek   译者： 易晓斓，原文：http://www.yeeyan.com/articles/view/2091/976
2 为何异常是如此重要]]></description><category></category></item><item><title><![CDATA[六种异常处理的陋习]]></title><link>https://blog.youkuaiyun.com/GaoMatrix/article/details/7081217</link><guid>https://blog.youkuaiyun.com/GaoMatrix/article/details/7081217</guid><author>GaoMatrix</author><pubDate>Sun, 18 Dec 2011 10:19:22 +0800</pubDate><description><![CDATA[你觉得自己是一个Java专家吗？是否肯定自己已经全面掌握了Java的异常处理机制？在下面这段代码中，你能够迅速找出异常处理的六个问题吗？ 





1 OutputStreamWriter out = ... 
2 java.sql.Connection conn = ... 
3 try { // ⑸ 
4 　Statement stat = conn.createState]]></description><category></category></item><item><title><![CDATA[计算机程序的执行过程]]></title><link>https://blog.youkuaiyun.com/GaoMatrix/article/details/7079061</link><guid>https://blog.youkuaiyun.com/GaoMatrix/article/details/7079061</guid><author>GaoMatrix</author><pubDate>Fri, 16 Dec 2011 23:57:37 +0800</pubDate><description><![CDATA[一。 计算机程序的执行过程
程序就是指令的集合

为使计算机按预定要求工作，首先要编制程序。程序是一个特定的指令序列，它告诉计算机要做哪些事，按什么步骤去做。指令是一组二进制信息的代码，用来表示计算机所能完成的基本操作。
   1．程序
程序是为求解某个特定问题而设计的指令序列。程序中的每条指令规定机器完成一组基本操作。如果把计算机完成一次任务的过程比作乐队的一次演奏，那么控制器就好比是]]></description><category></category></item><item><title><![CDATA[十个让你变成糟糕的程序员的行为]]></title><link>https://blog.youkuaiyun.com/GaoMatrix/article/details/7076558</link><guid>https://blog.youkuaiyun.com/GaoMatrix/article/details/7076558</guid><author>GaoMatrix</author><pubDate>Fri, 16 Dec 2011 11:04:00 +0800</pubDate><description><![CDATA[转载：http://coolshell.cn/articles/1081.html

之前本站发表过《优秀程序员的十个习惯》以及《程序员需要具备的基本技能》，那是我们需要去学习和培养的。这里，我们主要讨论十个糟糕程序员的特征，主要是需要让我们去避免和小心的。

1) 情绪化的思维

如果你开始使用不同颜色的眼光来看待这个世界的话，那么你可能会成为一个很糟糕的程序员。情绪化的思维或态度很]]></description><category></category></item><item><title><![CDATA[五个方法成为更好的程序员]]></title><link>https://blog.youkuaiyun.com/GaoMatrix/article/details/7076497</link><guid>https://blog.youkuaiyun.com/GaoMatrix/article/details/7076497</guid><author>GaoMatrix</author><pubDate>Fri, 16 Dec 2011 10:37:18 +0800</pubDate><description><![CDATA[转载：http://blog.youkuaiyun.com/haoel/article/details/5755230

对我来说，一个好的程序员应该是努力去追求尽可能无错的高质量的符合需求的代码实现。 一些人也许认为好的程序员是那些懂得多门编程语言，懂得很牛技术的程序员，是的，这在某些情况下是对的。但归根到底，无论你用什么样的技术，什么样的语言，所有的程序被写出来，其功能都要符合需求以及尽可能地健壮无错]]></description><category></category></item></channel></rss>