- 博客(30)
- 收藏
- 关注
原创 锁屏上显示Activity
本文原文地址:http://www.race604.com/activity-over-keyguard/在Android中,有些比较强的提醒,需要用户紧急处理的内容。需要唤醒屏幕,甚至在锁定屏幕的情况下,也要显示出来。例如,来电界面和闹钟提醒界面。这是怎样实现的呢?其实,实现起来非常简单。只要给Activity的Window添加如下属性即可:@Overrideprotected v
2015-01-07 12:55:16
13651
1
原创 Android中使用MVP模式简介
本文原文地址:http://www.race604.com/android-mvp/经常在各种地方看到有人提到MVP,在Android的开发中MVP模式越来越流行,我这里也学习和总结一下MVP模式。 本文参考自:MVP for Android, The Clean Architecture以及Resources for Learning Dagger for Android。软件架
2014-12-25 13:02:32
7955
翻译 给Apk瘦身
原文地址:http://t.cn/RhA02xh,这里简单总结如下。现在apk越来越大,原因有如下几个:多dpi支持([l|m|tv|h|x|xx|xxx]dpi)Android开发工具和生态系统的发展为了提高用户体验的高分辨率ui设计...减少Apk大小的,可以从如下几个方面入手:Java源代码资源文件res/assetsnative code保持代码卫生
2014-09-11 17:04:48
5683
原创 Android中实现类似iOS的SwitchButton控件
iOS的SwitchButton深入人心,也被Android上的产品设计借鉴,在Android4.0中,系统就带有原生的Switch控件了。但是在老版本的Android上,怎样实现这个功能呢?最简单的方法就是,把SwitchButton看成是个CheckBox或者ToggleButton,直接设置button属性或者background属性就可以。但是这样实现,并没有像iOS上
2013-07-31 17:36:36
10873
1
翻译 Android中,Context,什么是Context?
注:本文翻译自Context, What Context?,原文链接在这里,作者是Dave Smith。ps:这个网站的是设计风格非常清新。Context可能是Android应用中最常用的元素,而它也可能是最容易误用的。Context对象是如此常见和传递使用,它可能会很容易产生并不是你预期的情形。加载资源、启动一个新的Activity、获取系统服务、获取内部文件路径以及创建view
2013-07-15 14:21:32
26803
6
翻译 使用U盘和git在多个电脑上共享工作
译注:因为需要频繁的在各电脑上切换,例如在实验室电脑和自己的电脑上工作,工作代码又需要在同版本控制之下。要满足这样的需求,可以使用网上免费的Git托管服务器,例如GitHub,但是免费的托管项目,又需要开源。如果有一个可以可以移动的Git服务器,问题就解决了,本文就是一个把Git服务器版本库放到U盘里面的解决方案,当然你要保证你的U盘别丢了。(第一次翻译别人的博客,翻译不正确的地方请指出。)
2012-07-03 19:37:55
6768
原创 Android在layout xml中使用include
在Android的layout样式定义中,可以使用xml文件方便的实现,有时候为了模块的复用,使用include标签可以达到此目的。例如: Android开发的官方网站的说明在这里:https://developer.android.com/resources/articles/layout-tricks-reuse.html其中,有提到: Similarly, you
2012-05-14 10:52:36
64334
原创 Linux把窗口快捷切换到最前的方法
在Linux使用的时候,可能需要来回切换窗口,需要把某个窗口提到最前来,也就是激活,如果没有打开此程序,就先打开。例如经常需要把字典调出来。在Windows下的有道字典就有这个功能。在Linux可以更加方便的对任何程序实现此功能。这里需要用到wmctrl工具。在Ubuntu下,首先安装:sudo apt-get install wmctrlwmctrl的用
2012-03-03 10:08:31
13908
2
原创 VIM使用小技巧-重新载入文件
有时候要使用VIM打开了一些文件,但是在其他地方把次文件改动了,例如使用git进行checkout等操作,需要重新载入此文件。1 重新载入当前文件::e:e! #放弃当前修改,强制重新载入2 重新载入所有打开的文件::bufdo e 或者 :bufdo :e!:bufdo命令表示把后面的命令应用到所有buffer中的文件。参考网址:1 http://
2012-03-02 23:37:59
29301
2
转载 [转载]一位在MIT教数学的老师总结了十条经验
1.你能够做到每天七个小时坐在书桌前。2.只有在学你觉得学不会的东西时才能学到东西。3.总的来说,知其所以然比知其然重要得多。4.在科学和工程方面,没有人能骗太久。5.并不是天才才能做有创造性的工作。6.你必须对自己高标准严要求。7.世界变化很快,你最好选学那些坚实恒久的学科,少赶时髦。8.你永远赶不上进度,别人也一样。9.未来的计算机文化是正发生在你的身边,并不是
2011-12-11 23:36:12
992
原创 背景差分算法研究资源分享
因为我专业的关系,一直想把我做的工作系统的总结一下。有一个想法就是把背景差分领域相关的所有算法和研究动态都总结起来,并且以一种方式表现出来。今天在搜集资料的时候惊异的发现这样一个网站:https://sites.google.com/site/backgroundsubtraction/overview,和我的想法不谋而合,此网站整理了几乎所有背景差分算法(Background Subtrac
2011-12-04 16:49:36
1383
原创 FastCV专注于移动平台的计算机视觉库
FastCV是Qualcomm公司开发提供的专注于移动平台的计算机视觉库(Computer vision library),针对移动平台做了优化的。项目网站地址在这里:https://developer.qualcomm.com/develop/mobile-technologies/computer-vision-fastcv。下载FastCV SDK还有点复杂,需要注册,还需要等待审核,步
2011-11-30 23:57:11
3104
转载 【转自BYR】慎思而行——对选择工作的建议
在论坛转一篇帖子,原文地址在这里:http://bbs.byr.cn/article/Job/1077476我转载本文在这里是因为有些地方我还没有看懂,留下来以后慢慢阅读。如果作者觉得我转载在这里不太合适,或者冒犯了作者,请和我联系。发信人: antinucleon (搞山寨的), 信区: Job标 题: 慎思而行——对选择工作的建议发信站: 北邮人论坛 (Sun No
2011-11-06 13:40:10
1467
转载 C++中可以在构造函数中调用另一个构造函数吗?
今天在面试的时候,写了一个类,自己在另一个构造函数中调用了另一个构造函数,面试官说,这样不行吧,你回去查查。后来回来一查,果然我写的有问题。下面一篇文章写的很好详细,我这里转过来,原文来自这里:http://www.cnblogs.com/chio/archive/2007/10/20/931043.html--------从这里开始转载---------题目如下:问下列代码的打印结果
2011-10-31 15:45:32
12578
原创 记录几个面试题
1. 不使用循环把十进制数转换成八进制数:int trans(int num, char* str, int len); (提示:使用递归,代码后面再补上)2. 非递归实现二叉树的后序遍历;http://blog.youkuaiyun.com/race604/article/details/69086403 进程之间的通信方式;http://zhidao.baidu.com/question/1450
2011-10-27 00:09:49
835
转载 二叉树的非递归遍历
在面试的时候被问到二叉树的非递归遍历,折腾很久还是没有正确的写出来。这里转载一篇文章,写的很详细。原文地址是:http://www.cnblogs.com/MichaelYin/archive/2010/12/23/1915316.html-----------------------------转载开始-------------------------------------------
2011-10-26 21:33:00
1147
原创 指针和引用的区别
1 非空区别:指针可以为空,而引用不能为空,应用必须在声明的时候,同时初始化。2 可修改区别:引用初始化后就不可以修改,从一而终。指针可以在需要的时候修改其指向的地址。3 合法性检查的区别:指针需要检查是否为空,而引用不需要4 应用场合的区别:因为前面的所述的指针和引用的区别,在应用场合也是不一样的,例如,存在指向不存在的对象的可能,或者能够在不同的时刻指向不同的对象,
2011-10-22 23:29:23
602
原创 STL中Vector的内存释放问题
Vector是STL中最常见的模板之一,其内存是连续的。Vector的大小有size和capacity之别,内存可以动态增长。Vector调用clear()之后,只会把size设置为0,而内存空间并没有释放。 vector 中的内建有内存管理,当 vector 离开它的生
2011-10-16 22:08:26
5436
原创 C中各类型的长度
记住如下原则: 1 ANSI C规定char类型一定是8位。 2 long类型的长度和cpu字长一样。 3 int长度没有规定,但是不比short短不比long长,并且linux上支持的所有体系中int长度目前都是32位。4 short和int类似,目前linux
2011-10-16 21:57:23
1159
原创 pow(x,y)函数的实现算法
函数pow(x,y)实现运算x^y,即x的y次方,这里x和y都为整数。这里有算法的原理剖析:http://www.diybl.com/course/3_program/c++/cppjs/2007114/83860.html算法的基本思想是,减少乘法次数,重复利用结算
2011-10-08 18:05:57
10106
原创 Shell中的预定义变量
系统在ksh中预定义了许多和shell编程相关的变量,他们有:●$$ 当前执行的进程PID●$0 当前执行的shell文件名●$# 传递给shell程序的所有位置参数个数●$* 传递给shell程序的所有位置参数的值●$? 上一条命令执行的返回码 (0表示
2011-10-06 11:03:29
1824
原创 蓄水池抽样
随即抽样问题: 要求从N个元素中随机的抽取k个元素,其中N无法确定。是在 《计算机程序设计与艺术》 中看到的这个题目,书中只给出了解法,没给出证明。解决方法是叫Reservoir Sampling (蓄水池抽样) Init
2011-09-30 20:28:34
583
原创 类成员初始化顺序
类成员是按照它们在类里被声明的顺序进行初始化的,和它们在成员初始化列表中列出的顺序没一点关系。http://apps.hi.baidu.com/share/detail/31876752
2011-09-30 16:31:56
474
原创 图片解码器源代码
找到一个非常完整的解码器的源代码,是使用CPP实现的,包括:bmp, gif, ico, jpeg, png, xbm, zlib。等等地址如下:http://www.opensource.apple.com/source/WebCore/WebCore-332/platfo
2011-09-28 10:59:55
1594
原创 "i++"和"++i"的区别
1 功能区别简单的来说,++i 和 i++,在单独使用时,就是 i=i+1。而 a = ++i,相当于 i=i+1; a = i;先执行增1操作,再做表达式运算;而 a = i++,相当于 a = i; i=i+1;先执行表达式操作,再做增1操作;例如:int
2011-09-23 23:59:50
1011
原创 Mini Jpeg Decoder
这里有一个很mini的Jpeg解码器:http://www.h4ck3r.net/2009/12/02/mini-jpeg-decoder/只有一个文件,只有不到700行代码。为什么能使用如此简单的代码解码,具体原理待以后研究。我把代码贴在后面,以便查阅:作者原文转载
2011-08-31 17:06:46
1922
原创 《程序员面试宝典》一些笔记(3)
这一篇写一些与宏定义相关的一些小问题,关于#define宏定义的一些需要注意的问题:宏定义是预处理指令,在预处理阶段,预处理期进行处理,只是简单的替换为定义内容;预处理会自动计算常量表达式,例如 #define M 10*12#define不能以分号结尾,还要把参数小
2011-08-28 22:46:11
645
原创 《程序员面试宝典》一些笔记(2)
在书中看到一些技巧的东西,方法都很巧妙,这里记录一下:1. 判断一个整数是否是2的N次方:方法:X&(X-1)上面的式子中,如果X为2的N次方,例如二进制1000,结果就会为0。这个方法非常巧妙,还可以用来判断一个整数中,二进制表示中1的个数,如下:1 int co
2011-08-28 11:19:34
773
原创 《程序员面试宝典》中的一个错误
发现宝典中一个错误,题目如下:判断下面函数的输出1 void main()2 {3 unsigned int a = 0xFFFFFFF7;4 unsigned char i = (unsigned char)a;5 char* b =
2011-08-27 23:04:06
2733
原创 《程序员面试宝典》一些笔记(1)
1. 判断下列程序输出1 void main()2 {3 int arr[] = {6,7,8,9,10};4 int *ptr = arr;5 *(ptr++) += 123;6 printf("%d\n", *(ptr))
2011-08-26 23:29:31
1102
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人