<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[abcfrom0的专栏]]></title><description><![CDATA[学习是一个循序渐进的过程]]></description><link>https://blog.youkuaiyun.com/abcfrom0</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; abcfrom0]]></copyright><item><title><![CDATA[android中实现不被kill的service]]></title><link>https://blog.youkuaiyun.com/abcfrom0/article/details/14522623</link><guid>https://blog.youkuaiyun.com/abcfrom0/article/details/14522623</guid><author>abcfrom0</author><pubDate>Fri, 08 Nov 2013 15:24:52 +0800</pubDate><description><![CDATA[参考链接：http://www.eoeandroid.com/thread-120983-1-1.html
注：本文不代表个人观点，仅是网上搜集的资料，在此做个笔记。

1.在service中重写下面的方法，这个方法有三个返回值， START_STICKY是service被kill掉后自动重写创建
@Override
public int onStartCommand(Intent in]]></description><category></category></item><item><title><![CDATA[GitHub最火的Android开源项目（三）]]></title><link>https://blog.youkuaiyun.com/abcfrom0/article/details/11924891</link><guid>https://blog.youkuaiyun.com/abcfrom0/article/details/11924891</guid><author>abcfrom0</author><pubDate>Mon, 23 Sep 2013 11:38:11 +0800</pubDate><description><![CDATA[此前，优快云移动频道推出的GitHub平台上“最受欢迎的开源项目”系列文章引发了许多读者的热议，在“直接拿来用！最火的Android开源项目”系列文章（一）、（二）中，我们也相继盘点了40个GitHub上最受欢迎的Android开源项目。对于GitHub上如此众多的项目，有人不断Mark，有人分享自己的经验，有人心生“看得眼花缭乱，果然是需要终身学习的时代”的感慨，不管怎么样，如果能让你真的有所]]></description><category></category></item><item><title><![CDATA[GitHub最火的Android开源项目（二）]]></title><link>https://blog.youkuaiyun.com/abcfrom0/article/details/11924837</link><guid>https://blog.youkuaiyun.com/abcfrom0/article/details/11924837</guid><author>abcfrom0</author><pubDate>Mon, 23 Sep 2013 11:36:13 +0800</pubDate><description><![CDATA[在《直接拿来用！最火的Android开源项目（一）》中，我们详细地介绍了GitHub上最受欢迎的TOP20 Android开源项目，引起了许多读者的热议，作为开发者，你最常用的是哪些开源项目？使用起来是否能让你得心应手？今天，我们将介绍另外20个Android开源项目，在这些项目中，你又用到了哪些呢？

21. drag-sort-listview

DragSortListView（DS]]></description><category></category></item><item><title><![CDATA[GitHub上最火的40个Android开源项目（一）]]></title><link>https://blog.youkuaiyun.com/abcfrom0/article/details/11924807</link><guid>https://blog.youkuaiyun.com/abcfrom0/article/details/11924807</guid><author>abcfrom0</author><pubDate>Mon, 23 Sep 2013 11:34:52 +0800</pubDate><description><![CDATA[GitHub在中国的火爆程度无需多言，越来越多的开源项目迁移到GitHub平台上。更何况，基于不要重复造轮子的原则，了解当下比较流行的Android与iOS开源项目很是必要。利用这些项目，有时能够让你达到事半功倍的效果。为此，优快云特整理了在GitHub平台上最受欢迎的Android及iOS开源项目，以飨开发者。

下面，就让我们一起来看看，在GitHub平台上，究竟有哪些Android开源]]></description><category></category></item><item><title><![CDATA[Eclipse快捷键]]></title><link>https://blog.youkuaiyun.com/abcfrom0/article/details/10025373</link><guid>https://blog.youkuaiyun.com/abcfrom0/article/details/10025373</guid><author>abcfrom0</author><pubDate>Sat, 17 Aug 2013 14:55:20 +0800</pubDate><description><![CDATA[Ctrl+1 快速修复(最经典的快捷键,就不用多说了)
Ctrl+D: 删除当前行 
Ctrl+Alt+↓ 复制当前行到下一行(复制增加)
Ctrl+Alt+↑ 复制当前行到上一行(复制增加)
Alt+↓ 当前行和下面一行交互位置(特别实用,可以省去先剪切,再粘贴了)
Alt+↑ 当前行和上面一行交互位置(同上)
Alt+← 前一个编辑的页面
Alt+→ 下一个编辑的页面(当然是针对]]></description><category></category></item><item><title><![CDATA[thrift 0.9.0 tutorial例子]]></title><link>https://blog.youkuaiyun.com/abcfrom0/article/details/9968401</link><guid>https://blog.youkuaiyun.com/abcfrom0/article/details/9968401</guid><author>abcfrom0</author><pubDate>Wed, 14 Aug 2013 17:43:07 +0800</pubDate><description><![CDATA[thrift 0.9.0的版本的例子编译cpp有好多问题，特此记录一下
1. 在tutorial/cpp下直接make，出现一堆错误，随便截取一下
”/usr/local/include/thrift/protocol/TProtocol.h:312: error: ‘uint32_t’ does not name a type“还有什么ntohl找不到什么的，是由于MakeFile中没有指定]]></description><category></category></item><item><title><![CDATA[thrift安装]]></title><link>https://blog.youkuaiyun.com/abcfrom0/article/details/9965297</link><guid>https://blog.youkuaiyun.com/abcfrom0/article/details/9965297</guid><author>abcfrom0</author><pubDate>Wed, 14 Aug 2013 15:58:03 +0800</pubDate><description><![CDATA[thrift是Facebook开发的一款开源RPC框架，扩展性强，可以支持多种语言如C/C++、Java、Python、Perl、Ruby等等，功能非常强大，可以高效的开发后台服务。通过简单的编写通讯接口文件（.thrift文件），待通过thrift源代码生成工具编译成对应语言的代码后，便可直接开发服务内部逻辑，而无需关注通讯部分代码。
安装平台 Ubuntu 10.04 LTS 64位（Vmw]]></description><category></category></item><item><title><![CDATA[const用法]]></title><link>https://blog.youkuaiyun.com/abcfrom0/article/details/9749359</link><guid>https://blog.youkuaiyun.com/abcfrom0/article/details/9749359</guid><author>abcfrom0</author><pubDate>Sun, 04 Aug 2013 19:53:46 +0800</pubDate><description><![CDATA[const在C/C++中，是用于限定变量的限定符，而根据ANSI标准对声明的解释规则我们可以理解为类型限定符总是来解释紧接着该限定符的标识符。比如：
1. int *ap[]; 
首先ap[]作为一个整体的标识符，int ap[]表示“int型数组”，这个声明不存在限定符(const, volatile), *符号表示是指针，因此ap是一个指向int型的指针数组类型
2. const cha]]></description><category></category></item><item><title><![CDATA[ubuntu下rpm的安装 pdf中文显示]]></title><link>https://blog.youkuaiyun.com/abcfrom0/article/details/9746805</link><guid>https://blog.youkuaiyun.com/abcfrom0/article/details/9746805</guid><author>abcfrom0</author><pubDate>Sun, 04 Aug 2013 14:51:11 +0800</pubDate><description><![CDATA[在类debian系统下安装rpm格式的软件包用alien进行格式转换。不过lz貌似是把rpm包管理机制当成软件包了……

如果安装rpm包，照下面做：
1.apt-get install alien
alien -i xxx.rpm 直接安装
alien -d xxx.rpm 生成Debian包

2.apt-get install rpm
mkdir /var/lib/rpm
rpm --ini]]></description><category></category></item><item><title><![CDATA[面试经典题目 atoi实现 htoi实现]]></title><link>https://blog.youkuaiyun.com/abcfrom0/article/details/9733971</link><guid>https://blog.youkuaiyun.com/abcfrom0/article/details/9733971</guid><author>abcfrom0</author><pubDate>Sat, 03 Aug 2013 17:39:04 +0800</pubDate><description><![CDATA[考察点：
1. 不合法检查
a. NULL 
b. ""
c. "+"
d. "         "
e. "124jio"
2. 溢出情况的处理


基于上述考虑的代码如下，采用一个全局状态变量来处理不合法和溢出情况。

int atoi(const char *s) { 
  char *p; 
  int sign; 
  long long total;]]></description><category></category></item><item><title><![CDATA[随手记（C & C++）]]></title><link>https://blog.youkuaiyun.com/abcfrom0/article/details/9709083</link><guid>https://blog.youkuaiyun.com/abcfrom0/article/details/9709083</guid><author>abcfrom0</author><pubDate>Thu, 01 Aug 2013 23:39:11 +0800</pubDate><description><![CDATA[1. C单个文件过大带来文件组织的问题，采用头文件来解决。与此同时需要同时编译相关联的所有.c文件，因为有了依赖问题，所以需要写make文件。]]></description><category></category></item><item><title><![CDATA[C语言实现泛型]]></title><link>https://blog.youkuaiyun.com/abcfrom0/article/details/9708561</link><guid>https://blog.youkuaiyun.com/abcfrom0/article/details/9708561</guid><author>abcfrom0</author><pubDate>Thu, 01 Aug 2013 22:28:59 +0800</pubDate><description><![CDATA[C语言理论上并不支持泛型编程，因此对于一些通用算法通常都采用函数指针+void *强制类型转换来实现，但是对于一些数据结构，并不支持类似C++的标准库的各种通用结构的实现。
想要实现相应的效果，还可以采用宏编程来实现，同普通的函数不同，宏扩展可以忽视类型信息，从而简化用户使用。
可以学习/usr/include/tgmath.h中的写法。]]></description><category></category></item><item><title><![CDATA[Java类的初始化流程]]></title><link>https://blog.youkuaiyun.com/abcfrom0/article/details/9274371</link><guid>https://blog.youkuaiyun.com/abcfrom0/article/details/9274371</guid><author>abcfrom0</author><pubDate>Mon, 08 Jul 2013 18:15:49 +0800</pubDate><description><![CDATA[Java中一个类在被加载，直至一个对象被构造出来时，会调用以下几个过程：

1.为静态变量分配空间进行初始化；
2.调用static initializer（静态初始化程序）对静态变量进行初始化赋值；
3.调用父类的构造函数；
4.调用自身的构造函数；


静态变量是在类被加载时被初始化的，而类的加载时收到Java虚拟机的控制的，故静态变量分配空间的过程则首先在Java虚拟机加载该]]></description><category></category></item><item><title><![CDATA[程序竞赛中的小技巧[持续更新]]]></title><link>https://blog.youkuaiyun.com/abcfrom0/article/details/8505545</link><guid>https://blog.youkuaiyun.com/abcfrom0/article/details/8505545</guid><author>abcfrom0</author><pubDate>Tue, 15 Jan 2013 14:20:31 +0800</pubDate><description><![CDATA[1.判定一个浮点数m是不是整数

floor(m+0.5)==m]]></description><category></category></item><item><title><![CDATA[math.h的使用注意]]></title><link>https://blog.youkuaiyun.com/abcfrom0/article/details/8504397</link><guid>https://blog.youkuaiyun.com/abcfrom0/article/details/8504397</guid><author>abcfrom0</author><pubDate>Tue, 15 Jan 2013 10:19:13 +0800</pubDate><description><![CDATA[1.首先在使用gcc时，默认并不连接数学库/usr/lib/libm.a，只连接/usr/lib/libc.a，因此在使用math.h时，需要加参数选项-lm。
2.在ansi标准中，M_PI并未定义，因此为满足ansi标砖，使用PI时，需要自定义

const double PI = 4.0 * atan(1.0);
3.另外，math.h中，三角函数，反三角函数，双曲三角函数的输入为弧]]></description><category></category></item></channel></rss>