- 博客(24)
- 资源 (3)
- 收藏
- 关注
原创 Android Service
Service能以两种形式启动:startService()和bindService()。 - startService startService()启动的服务,即使启动它的组件销毁,服务也会一直运行,通常需要service做完工作之后自己去停止。startService时,Service的onStartCommand()会被调用。实现onStartCommand(),Service才会允许st
2016-06-24 01:57:39 377
原创 Android消息机制
主线程的初始化Android的消息机制总的来说,是由Handler、Looper和MessageQueue这三者组成。平时我们只用关心Handler,是因为在主线程中,其他两者都由系统处理好了。在之前的Activity工作流程一文中已经提到过,为启动Activity而创建新进程的时候,系统会执行ActivityThread的main方法,在该方法中,会创建主线程,并为主线程初始化Looper、Mes
2016-06-05 01:04:02 555
原创 Activity工作流程
从startActivity/startActivityForResult开始,不管是哪种方式,最终调到的都是下面的startActivityForResult。// Activitypublic void startActivityForResult(Intent intent, int requestCode, @Nullable Bundle options) { // mParen
2016-05-28 23:54:34 8113 3
原创 Activity启动模式
两种方式可以定义Activity启动模式: - Manifest - IntentIntent定义的启动模式优先于ManifestManifest定义的启动模式"standard"(默认)"singleTop" 如果该Activity处于当前任务栈的顶部,系统会调用它的onNewIntent()方法,而不是创建一个新的实例。该Activity可以被实例化多次,每个实例可以属于不同的任务,而
2016-05-26 01:37:19 490
原创 关于Fragment.onCreate()中引用Activity.onCreate()创建的对象时的一个异常
如果在Fragment.onCreate()中引用Activity.onCreate()创建的对象,可能会抛空指针异常,这是因为Fragment.onCreate()可能会在Activity.onCreate()没执行完时就执行了,一般出现在Activity销毁再重建的情况下,这个时候可以把Fragment.onCreate()中的引用搬到Fragment.onActivityCreated()中。
2016-05-26 01:22:49 1488
原创 Android N画中画模式
<activity android:name="VideoActivity" android:resizeableActivity="true" android:supportsPictureInPicture="true" android:configChanges= "screenSize|smallestScreenSize|screenLayout|o
2016-05-26 01:18:13 4195
原创 IntentFilter过滤规则
action匹配规则隐式调用必须指定一个action,只要能匹配上过滤器中多个action的任意一个就行。category匹配规则category可有可无,可以指定多个category,多个category中的任意一个都必须能在过滤器中找到。系统在startActivity或者startActivityForResult时会为Intent加上”android.intent.category.DEFA
2016-05-26 01:15:55 565
原创 View事件分发机制
点击事件的传递规则点击事件产生后,传递过程:Activity->Window->顶层View->分发到具体的View。前两个传递比较简单,不用说。顶层View一般为ViewGroup,ViewGroup会首先根据onInterceptTouchEvent判断是否拦截,如果拦截,那么就会调用自己的onTouchEvent方法进行处理,如果不拦截,就会分发给子View,子View再调用自己的dispat
2016-05-26 01:09:43 414
转载 LINUX getopt处理命令行参数
Linux下很多程序甚至那些具有图形用户界面(graphical user interface,GUI)的程序,都能接受和处理命令行选项。对于某些程序,这是与用户进行交互的主要手段。具有可靠的复杂命令行参数处理机制,会使得您的应用程序更好、更有用。getopt() 是一个专门设计来减轻命令行处理负担的库函数。1、命令行参数命令行程序设计的首要任务是解析命令行参数,GUI派的程序员很少关心这
2014-08-14 10:32:42 586
转载 移植64位发生的问题(跟cltq指令有关)
同事昨天在群里问了一个问题,大概将一个32位机器上运行良好的程序,移植到64位机器上之后出现了问题,看了一下core,大概是一个返回指针的函数,在函数内查看返回值还是正确的,但是到调用函数里面,返回值却被截掉了一段,引起了core。具体代码如下:char *attach_shm(char *shmstr, int defaultkey, int shmsize){ cha
2014-07-17 17:17:50 1761
转载 Python图表绘制:matplotlib绘图库入门
matplotlib 是python最著名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地行制图。而且也可以方便地将它作为绘图控件,嵌入GUI应用程序中。它的文档相当完备,并且Gallery页面中有上百幅缩略图,打开之后都有源程序。因此如果你需要绘制某种类型的图,只需要在这个页面中浏览/复制/粘贴一下,基本上都能搞定。在Linux下比较著名的数据图工具还有g
2014-06-14 14:50:54 672
转载 使用 python Matplotlib 库绘图
Matplotlib的安装matplotlib 是python最著名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地进行制图。Matplotlib的安装可以参见 官网链接 http://matplotlib.org/users/installing.html下面总结步骤如下:windows 平台上 下载.exe格式 直接安装。1,
2014-05-19 22:46:02 673
转载 ubuntu 12.04 安装 tightvnc
1、获取源码:wget http://www.tightvnc.com/download/1.3.10/tightvnc-1.3.10_unixsrc.tar.gz 2、阅读 README 文件,查看编译方法,发现缺少xmkmf工具3、通过sudo apt-get install xutils-dev 解决4、根据README文件提供的编译方法编译 vncviewer vncserve
2014-04-21 20:05:30 1102
原创 ubuntu opencv视频编码器的问题
看《学习OpenCV》这本书,但是运行例2-2中的代码(播放avi视频)总是有问题,用gdb跟踪发现是CvCapture *capture = cvCreateFileCapture (argv[1]);这行代码的结果总是返回NULL,查了下资料发现是缺少视频解码器,可以用ffmpeg。这个就搞了好久,本来用命令行安装的ffmpeg,安装好了,但是结果始终还是不能用。最后没办法只有自己下载一个压缩
2013-11-10 14:10:37 2191
转载 ubuntu12.04 安装opencv
原文转自http://www.cnblogs.com/pswzone/archive/2012/10/20/2732791.html1 编译环境 sudo apt-get install build-essential2 安装GTK环境 sudo apt-get install libgtk2.0-dev 3 编译GTK程序时自动找出头文件及库文件位置 sudo apt-
2013-11-10 12:55:44 1066
原创 操作系统:从实模式切换到保护模式
转载请注明出处 最近一直在学着自己动手制作操作系统,昨天总算是有了点成效,现作博客一篇整理下思路。 本次提供的代码是从实模式到保护模式的切换,并在保护模式下打印"Hello, world!"。实验环境 lenovo G470 ubuntu11.10 bochs-2.4.6 环境搭
2013-10-07 14:20:23 2580
转载 怎样设计一个安全的验证码--从验证码识别技术原理说起
文章出处:http://progressdaily.diandian.com/post/captcha最近公司发生了一些暴力破解密码的事件,很多用户的账号因此被盗。后来给所有登录入口都加上了验证码,但是仍然偶尔会出现了某些IP频繁登录的情况。是不是验证码被攻破了?本着相信科学的态度,因为以前也学过模式识别方面的东西,不妨从验证码识别技术开始来分析这些可能性。起源验证码英
2013-07-23 13:19:27 1472
转载 Orange'S学习笔记(一)
前段时间一直忙于其他事情, Orange'S的学习暂时搁浅了。现在可以更多时间学习编写操作系统了,把之前学过的重新温习一下。学习环境 Ubuntu 11.04 + Bochs 2.4.6 + NASM主要工作1. 第一章 马上动手写一个最小的“操作系统”代码如下: 1 org 07c00h ; tell the compiler that the p
2013-07-16 12:46:46 1224
转载 linux下c语言实现多线程文件复制
(2013-03-15 00:53:49)转载▼标签:linux多线程文件复制it分类:linux下c语言开发1、具体思路把一个文件分成N份,分别用N个线程copy,每个线程只读取指定长度字节大小的内容最后一个线程的源文件所指定的结束位置是文件的实际大小每个线程读取指定源文件部分的起始位置和结束位置的内容到
2013-06-17 14:09:18 2695
转载 ubuntu环境下编译内核详解
声明:本文是个人参考网上有关资料,编译2.6.25内核的总结,如按本文步骤编译内核造成的责任和本文作者无关。本文放在本人的blog上面:http://hi.baidu.com/ffbp89/本文还有姊妹篇《老笔记本编译2.6.20内核指导》如果有修改,也在blog上。欢迎转载本文,但是请不要取消本声明。写这篇东西主要是教学目的,学生可以结合编译内核复习shell的有关命令。
2013-05-30 14:42:58 815
原创 QQ2013协议分析(解密篇)
版本信息:QQ2013beta2测试QQ:2632949572QQ密码两次md5所得密钥(MD5(MD5(QQ密码)+0x00000000+QQ号码)):47 D5 0A 0E 5E AD D1 BC F3 6E C3 48 B8 BD B6 00下面,我们便来一起解析QQ登录得到会话密钥的方法。QQ协议首选的传输层协议是UDP,如果UDP不可用,那么会再尝试使用TCP进行传输
2013-05-02 20:18:06 11644
转载 QQ2013 协议分析
(本文为转载文章,任何人转载请注明出处:http://blog.csdn.net/xieqb/article/details/8811148)在目前的版本中,其主要分析0825 0826数据包。先来2个数据包NO1:02 32 41 08 25 25 B7 0F 10 A5 38 03 00 00 00 0101 01 00 00 66 28 00 00 00 00 A
2013-05-02 18:47:47 1391
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人