自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

jinhaijian的专栏

耕耘不一定有收获,不耕耘肯定没有收获。

  • 博客(59)
  • 资源 (3)
  • 收藏
  • 关注

原创 Ubuntu Android开发环境搭配

作者:金海建 安装Ubuntu Android应用程序开发环境需要如下几个软件 Java开发包:JDK 1.5/1.6 开发集成环境(IDE): Eclipse 3.4 Android开发环境:ADT Android SDK Android SDK API 一、安装JDK 1.6 方法一:在"系统" > "系统管理"> "新立得的软件包管理",在搜索中输入JDK,点击搜索。可以搜索到如下图的软件包列表。点击应用更新JDK。 方法二:在“终端”中输入sudo apt-get instal

2010-07-17 02:24:00 10531 2

原创 Truecrypt的代码分析

<br /><br />Truecrypt的代码分析<br /> <br />在使用truecrypt接口的时候,实际上不需要非常了解truecrypt的源码,只需要了解truecrypt对外的接口就可以,如果调用truecrypt的接口,来实现我们想要的功能。<br /> <br />之前转载的四篇介绍truecrypt基本接口的文章,已经作了详细的说明。     TrueCrypt原理与系统开发(1):TrueCrypt Format创建加密卷     TrueCrypt原理与系统开发(2):TrueC

2011-02-14 17:51:00 7955 10

原创 编译truecrypt for android

<br /><br />编译truecrypt for android<br />作者:金海建<br />Truecrypt介绍:TrueCrypt是一款免费开源的绿色虚拟加密盘加密软件,不需要生成任何文件即可在硬盘上建立虚拟磁盘,用户可以按照盘符进行访问,所有虚拟磁盘上的文件都被自动加密,需要通过密码来进行访问。TrueCrypt提供多种加密算法,包括:AES-256, Blowfish (448-bit key), CAST5, Serpent, Triple DES, andTwofish,其

2011-02-14 17:25:00 6667 8

转载 TrueCrypt原理与系统开发(4):TrueCrypt Mount更改加密卷密码

<br /> <br />第四部分、TrueCrypt Mount更改加密卷密码<br />      在实际的应用中,TrueCrypt可以很好地与业务系统相结合,比如,为不同的用户创建各自的加密卷,用户登录业务系统即加载各自的虚拟磁盘,那么面对业务系统中平常的修改密码操作,TrueCrypt也能够应付自如。<br />      在TrueCrypt中,提供了修改加密卷密码的接口,该函数在TrueCrypt中的原型是<br /> int ChangePwd (char *lpszVolume,

2011-02-14 15:06:00 4752 2

转载 TrueCrypt原理与系统开发(3):TrueCrypt Mount卸载虚拟磁盘

<br /> <br />第三部分、TrueCrypt Mount卸载虚拟磁盘<br />      加载虚拟磁盘之后,可以创建受虚拟磁盘加密保护的文档,之后卸载虚拟磁盘,创建的文档则加密保存在加密卷中,这步操作起来比较简单,那么,在TrueCrypt实际是如何实现的呢?<br />      TrueCrypt另一个核心函数卸载虚拟磁盘函数UnmountVolume,接受三个函数,分别是传入的窗口句柄、磁盘分区的序号和是否强制卸载的标识,其在TrueCrypt中的原型是<br /> BOOL Unmoun

2011-02-14 15:03:00 4428 2

转载 TrueCrypt原理与系统开发(2):TrueCrypt Mount加载虚拟磁盘

第二部分、TrueCrypt Mount加载虚拟磁盘      在创建完加密卷之后,怎么使用虚拟磁盘呢?这个时候需要加载虚拟磁盘,加载完虚拟磁盘后,就会在磁盘分区里多出一个分区,比如在我的电脑里可以看到一个新的本地磁盘 (L:)。那么,TrueCrypt里具体是怎么实现的?首先需要选择我们在上一步创建的加密卷,选择一个需要加载的分区,这其实就是在还没用到的分区卷标里选择一个,之后点击载入载入即可,这个时候就会找到加密卷进行加载,这时会需要用户输入创建加密卷时的设定的密码,加载成功后,就能看到新虚拟出来的磁盘

2011-02-14 14:56:00 5190 1

转载 TrueCrypt原理与系统开发(1):TrueCrypt Format创建加密卷

一、概述      TrueCrypt是唯一的一款支持Windows Vista/XP/2000/Linux开源的虚拟加密磁盘软件,能够创建和设置加密的虚拟磁盘镜像,虚拟磁盘可以与其它磁盘一样正常访问,内部所有文件都会自动加密,需要通过密码来进行访问,加密和解密都是实时的。      TrueCrypt主要分为两部分;一部分是TrueCrypt Format,用来创建加密卷,另外一部分是TrueCrypt Mount,用来加载和卸载虚拟磁盘到分区等。第一部分、TrueCrypt Format创建加密卷   

2011-02-14 14:53:00 7044 8

原创 Android 控件(注册对话框)

Android 控件(注册对话框) --学习笔记6(金海建) 目的:学习设计一个注册界面,来学习RadioGroup、RadioButton、Spinner、DatePicker、TimePicker这些控件的使用。 RadioGroup和RadioButton 一般情况下,我们会把某一组RadioButton做成一个单选。这种情况下,我们需要把RadioButton和RadioGroup结合使用。在布局的时候,需要把RadioButton作为RadioGroup的子控件。 新建一个工程,设计如下

2010-11-19 17:22:00 3293

原创 Android 控件之ListView

Android 控件之ListView --学习笔记5(金海建) 目的:学习listview的使用方法 在Android中listview是比较常用的控件,根据列表的适配器类型,列表分为三种,ArrayAdapter,SimpleAdapter和SimpleCursorAdapter 其中以ArrayAdapter最为简单,只能展示一行字。SimpleAdapter有最好的扩充性,可以自定义出各种效果。SimpleCursorAdapter可以认为是SimpleAdapter对数据库的简单结合,可以

2010-11-18 20:31:00 5038 1

原创 Android 控件之TextView、EditView、CheckBox

Android 控件之TextView、EditView、CheckBox --学习笔记3(金海建) 目的:通过一个登陆框,来学习TextView、EditView、CheckBox的使用 新建一个工程,然后设计如下ui Main.xml layout代码 TextView 设置username颜色为白色、字体大小为20、设置粗体 设置 password颜色为白色、字体为18 m_username = (TextView)this.findView

2010-11-17 16:20:00 3309

原创 Android 创建菜单。

Android 创建菜单。 -学习笔记(金海建) 创建菜单有两种方式,一种用MenuInflater从资源中加载,另一种是动态的创建。 方法一、MenuInflater创建菜单 用MenuInflater 来创建菜单,MenuInflater接口用来是实例化menu XML文件到menu对象的。 1. 建立一个TestControl的工程(该工程用于学习各个控件) 2. 在res目录下创建menu,并在menu目录下创建menu.xml 3. o

2010-11-17 16:15:00 3470 1

原创 Android 事件处理

Android 事件处理 --学习笔记2(金海建) 目的:通过全面的分析Android的鼠标和键盘事件。了解Android中如何接收和处理键盘和鼠标事件,以及如何用代码来产生事件。 主要学习内容: 1. 接收并处理鼠标事件:按下、弹起、移动、双击、长按、滑动、滚动 2. 接收并处理按键事件:按下、弹起 3. 模拟鼠标/按键事件 1. Android事件 现代的用户界面,都是以事件来驱动的来实现人机交换的,而Android上的一套UI控件,无非就是派发鼠标和键盘事件,然后每个控件收到相应的

2010-11-17 09:47:00 23168 2

原创 Activity 生命周期

Activity 生命周期 -学习笔记1(金海建) 目的:了解Android Activity的生命周期。学习一套新的应用框架,需要了解其基本的调用关系,像学习Windows需要知道什么时候调用了WM_CREATE、WM_CLOSE、WM_DESTROY等消息。同样的,不管你是什么平台、什么开发框架,其基本原理都是差不多的。了解了Activity的生命周期之后,对Android程序会有深入的了解。 先来看一下google文档里关于Activity生命周期的状态图。 虽然网上也有介绍Activit

2010-11-17 09:44:00 2297 1

原创 制作FFmpeg SDK for MS Visual Studio

<br />制作FFmpeg SDK for MS Visual Studio<br />作者:金海建<br />编译SDK<br />编译之后,运行make install后,在C:/MSYS/local会生成bin、include、lib等文件夹。这样ffmpeg的编译环境就帮我生成了一个SDK,这个SDK在linux上用C来开发是没有问题的,我们需要使这个SDK在MS Visual Studio 开发环境中能用,编译的时候会碰到一大堆问题。我的环境是VS2008。<br /> <br />建立工程:<

2010-09-10 14:36:00 11869 5

转载 Ffmpeg和SDL教程(八)软件缩放

<br />Ffmpeg和SDL教程(八)软件缩放<br />软件缩放库libswscale <br />近来ffmpeg添加了新的接口:libswscale来处理图像缩放。<br />但是在前面我们使用img_convert来把RGB转换成YUV12,我们现在使用新的接口。新接口更加标准和快速,而且我相信里面有了MMX优化代码。换句话说,它是做缩放更好的方式。<br />我们将用来缩放的基本函数是sws_scale。但一开始,我们必需建立一个SwsContext的概念。这将让我们进行想要的转换,然后把它传

2010-09-02 19:22:00 3378

转载 Ffmpeg和SDL教程(七)快进快退

<br />Ffmpeg和SDL教程(七)快进快退<br />处理快进快退命令<br />现在我们来为我们的播放器加入一些快进和快退的功能,因为如果你不能全局搜索一部电影是很让人讨厌的。同时,这将告诉你av_seek_frame函数是多么容易使用。<br />我们将在电影播放中使用左方向键和右方向键来表示向后和向前一小段,使用向上和向下键来表示向前和向后一大段。这里一小段是10秒,一大段是60 秒。所以我们需要设置我们的主循环来捕捉键盘事件。然而当我们捕捉到键盘事件后我们不能直接调用av_seek_fram

2010-09-02 19:20:00 3497

转载 Ffmpeg和SDL教程(六)同步音频

<br />Ffmpeg和SDL教程(六)同步音频<br />同步音頻<br />现在我们已经有了一个比较像样的播放器。所以让我们看一下还有哪些零碎的东西没处理。上次,我们掩饰了一点同步问题,也就是同步音频到视频而不是其它的同步方式。我们将采用和视频一样的方式:做一个内部视频时钟来记录视频线程播放了多久,然后同步音频到上面去。后面我们也来看一下如何推而广之把音频和视频都同步到外部时钟。<br /> <br />生成一个视频时钟 <br />现在我们要生成一个类似于上次我们的声音时钟的视频时钟:一个给出当前视

2010-08-24 11:59:00 3289

转载 Ffmpeg和SDL教程(五)如何同步视频

<br />Ffmpeg和SDL教程(五)如何同步视频<br />PTS和DTS<br />幸运的是,音频和视频流都有一些关于以多快速度和什么时间来播放它们的信息在里面。音频流有采样,视频流有每秒的帧率。然而,如果我们只是简单的通过数帧和乘以帧率的方式来同步视频,那么就很有可能会失去同步。于是作为一种补充,在流中的包有种叫做DTS(解码时间戳)和PTS(显示时间戳)的机制。为了这两个参数,你需要了解电影存放的方式。像MPEG等格式,使用被叫做B帧(B表示双向bidrectional)的方式。另外两种帧被叫做

2010-08-23 16:31:00 4811 2

转载 Ffmpeg和SDL教程(四)创建线程

<br />Ffmpeg和SDL教程(四)创建线程<br />Spawning Threads<br />Overview<br />Last time we added audio support by taking advantage of SDL's audio functions. SDL started a thread that made callbacks to a function we defined every time it needed audio. Now we're going

2010-08-23 10:57:00 3961

转载 FFmpeg和SDL教程(三)播放声音

FFmpeg和SDL教程(三)播放声音视频现在我们要来播放声音。SDL也为我们准备了输出声音的方法。函数SDL_OpenAudio()本身就是用来打开声音设备的。它使用一个叫做SDL_AudioSpec结构体作为参数,这个结构体中包含了我们将要输出的音频的所有信息。  在我们展示如何建立之前,让我们先解释一下电脑是如何处理音频的。数字音频是由一长串的样本流组成的。每个样本表示声音波形中的一个值。声音按照一个特定的采样率来进行录制,采样率表示以多快的速度来播放这段样本流,它的表示方式为每秒多少

2010-08-20 18:14:00 5405 1

转载 ffmpeg和SDL教程(二)输出到屏幕

ffmpeg和SDL教程(二)输出到屏幕SDL和视频为了在屏幕上显示,我们将使用SDL.SDL是Simple Direct Layer的缩写。它是一个出色的多媒体库,适用于多平台,并且被用在许多工程中。你可以从它的官方网站的网址 http://www.libsdl.org/ 上来得到这个库的源代码或者如果有可能的话你可以直接下载开发包到你的操作系统中。按照这个指导,你将需要编译这个库。(剩下的几个指导中也是一样) SDL库中有许多种方式来在屏幕上绘制图形,而且它有一个特殊的方式来在屏幕上显示图像――这种方式

2010-08-20 17:24:00 4781

转载 ffmpeg和SDL教程(一)文件读取和保存

ffmpeg和SDL教程(一)电影文件有很多基本的组成部分。首先,文件本身被称为容器Container,容器的类型决定了信息被存放在文件中的位置。AVI和Quicktime就是容器的例子。接着,你有一组流,例如,你经常有的是一个音频流和一个视频流。(一个流只是一种想像出来的词语,用来表示一连串的通过时间来串连的数据元素)。在流中的数据元素被称为帧Frame。每个流是由不同的编码 器来编码生成的。编解码器 描述了实际的数据是如何被编码Coded和解码DECoded的,因此它的名字叫做CODEC。Divx和 M

2010-08-20 16:53:00 4645

原创 Windows 下编译FFmpeg

Windows XP下编译FFmpeg作者:金海建 FFmpeg是一个开源免费的跨平台的视频和音频流方案,采用LGPL或GPL许可证。FFmpeg在Linux编译比较方便。在Windows 上就相对的麻烦些了。编译FFmpeg需要如下软件:MSYS:Minimal GNU(POSIX)system on Windows,是一个小型的GNU环境,包括基本的bash,make等等。是Windows下最优秀的GNU环境 FFmpeg 0.6: 最新的Release版本是0.6版本,当然你

2010-08-18 17:59:00 2903 1

转载 开源项目live555学习心得

<br />开源项目live555学习心得<br /> <br />最近因项目开发需要,开始学习开源项目live555,特别将个人的一些学习心得做一下记录,如有理解不正确之处,欢迎各位朋友指出。<br />首先是源码的下载,这可以从http://www.live555.com上下载,同时上面亦提供了相关的文档,文档虽较为粗糙,但总比找不到任何文档说明强。当然,我在学习的过程中,也从网上查找了一段时间,收获还是有一点的,其中就有诸如:RTSP服务器实例live555源代码分析、live555源代码简介、liv

2010-08-18 10:22:00 800

转载 live555源代码简介

<br />live555源代码简介<br />liveMedia项目的源代码包括四个基本的库,各种测试代码以及IVE555 Media Server。<br />四个基本的库分别是UsageEnvironment&TaskScheduler,groupsock,liveMedia,BasicUsageEnvironment。<br />UsageEnvironment和TaskScheduler类用于事件的调度,实现异步读取事件的句柄的设置以及错误信息的输出。另外,还有一个HashTable类定义了一个通

2010-08-18 10:20:00 859

翻译 第一章Hello Windows Phone 7之Windows Phone 7目标(Programming Windows Phone 7基础篇)

Programming Windows Phone 7之第一部分基础篇第一章:Hello Windows Phone 7小节:Windows Phone 7目标

2010-08-12 13:46:00 1491

原创 Windows Phone 7程序开发书籍

目前微软Windows Phone 7 SDK只公布了Beta版本,国内还没有什么正式的书籍和开发博客出现。但是伟大的Charles Petzold,Windows编程大师,世界顶级技术作家。已经开始在书写《Programming Windows Phone 7》,已经发布了两个草稿版本。现在的版本是Special Excerpt 2。有兴趣的可以到他的个人网站上下载 http://www.charlespetzold.com/phone/index.html 附上书的封面。

2010-08-12 13:38:00 1641

原创 同步Windows Mobile SIM卡联系人

作者:金海建 背景:Windows Mobile默认情况下,SIM卡中的联系人会同步到contact DB中。这个工作是由cprog.exe(电话程序)来完成,当插卡开机,注册到网络后(或者手机使用中由飞行模式进入待机模式),cprog.exe会删除数据库中带有SIM标志的联系人记录,然后从SIM卡中重新导入。由于项目需要,我们不让cprog.exe运行,那么完成联系人导入的工作,只能交给自己的程序来处理。 涉及技术: POOM、EDB、SIM API 分析研究: 联系人数据库有四张表,分别是Cont

2010-07-16 14:33:00 2084

原创 同步Windows Mobile SIM卡短信

同步Windows Mobile SIM卡短信作者:金海建背景:Windows Mobile默认情况下,SIM卡中的短信会同步到系统的短信数据库中。这个工作是由cprog.exe(电话程序)来完成,当插卡开机,注册到网络后(或者手机使用中由飞行模式进入待机模式),cprog.exe会删除数据库中带有SIM短信标志的记录,然后从SIM卡导入新的内容。由于项目需要,我们不让cprog.exe运行,那么完成短信导入的工作,只能交给自己的程序来处理。涉及内容:SIMAPI、CEMAPI、CEDB难点分析:我们在短信

2010-07-08 12:03:00 1626

原创 Windows Mobile上实现绚丽时钟效果

利用上篇的文章《Windows Mobile上实现图片任意角度旋转》,可以实现效果非常绚丽的始终效果。每个始终我们需要三张图片,钟盘、时针、分针三张png图片。如下图:    图片是从android中取出的。实现代码如下:void DrawClock(HDC hdc, RECT rc){ SYSTEMTIME systemTime; GetLoc

2010-05-25 22:08:00 1989 6

原创 Windows Mobile上实现图片任意角度旋转

Windows Mobile上实现图片任意角度旋转作者:金海建 目的:在Windows Mobile上,微软的API和库不支持图片的任意角度旋转,只支持90,180,270度旋转。既然它不支持我们只能自力更生了。简介:通过介绍和实现旋转PNG图片,来说明实现图片旋转的方法。过程大概如下,先用Imaging读取并解码png图片,使之转成ARGB格式的位图。然后利用顶点旋转的公式,对位

2010-05-25 20:15:00 1990 3

原创 Waveform Audio 驱动(Wavedev2)之:WAV 驱动解析

Waveform Audio 驱动(Wavedev2)之:WAV 驱动解析      上篇文章中,我们模拟了WAV API。现在进入我们正在要解析的Wave 驱动的架构。我们了解一个驱动的时候,先不去看具体跟硬件操作相关的东西,而是从流程入手,把整个流程搞清楚了,调试起来就非常的容易了。我们着重看hwctxt.cpp,hwctxt.H,devctxt.cpp,devctxt.H,strmctx

2010-04-25 23:58:00 4082 8

原创 Waveform Audio 驱动(Wavedev2)之:WAV API模拟

 Waveform Audio 驱动(Wavedev2)之:WAV API模拟 Waveform 驱动对Windows Mobile来说是一个非常重要的驱动,控制着所有有关声音的操作,包括喇叭、耳机、麦克、听筒等。    要想对驱动的整个架构和流程都非常的了解,我们必须从上层来入手,需要知道上层的API是如何调用到驱动的,其数据结构是如何封装的。由于微软不提供中间层的代码,只能只是自己

2010-04-24 22:15:00 2657 1

原创 SIM Toolkit开发

SIM Toolkit驱动开发目的:最近刚刚接触RIL,RIL在Windows Mobile的驱动中还是比较复杂的,由于微软有关Phone的Feature全部在RIL中实现,就可以想象其复杂的程度了。网上去找关于如何做RIL的资料是非常的少,而且RIL这种东西又不是很难,难的东西模块已经帮我做好了,我们做的只需要把与上层的接口了解清楚,就行了。既然没有技术难度,何必每个做RIL的人,都需要从头

2010-03-16 16:03:00 5530

原创 Windows Mobile 6.5将长期存在

Windows Mobile 6.5将长期存在       微软自2008年1月份开始开发Windows Mobile 7, 于2010年2月15日在巴塞罗那的MWC大会上首次向世人展示Windows Mobile 7。首批上市的机器将会在2010年的10月份,现在从网络上关于Windows Mobile 7的消息还非常的少。 涉及内容:全新的界面和从多任务退回到单任务系统的消息值

2010-03-10 20:42:00 1356

原创 Windows Mobile 6.5 控件风格(listview,menu,

Windows Mobile 6.5 控件风格引:在做Windows Mobile 6.5自绘listview时,当菜单选中时,为达到与WM6.5统一的风格,在文档中没有找到相应绘制listview 选中状态的函数。通过分析,绘制函数必定在coredll中,查找coredll.def文件,发现三个函数。关于设置默认listview控件的方法见如下:The secret is in

2010-01-20 10:59:00 2371 3

转载 随WinCE6.0 R3新发布的UI框架——Silverlight for Embedded常见问题解答

难得写篇和工作有关的东西,随着WinCE6.0 R3(请看马宁老师为我们第一时间带来的Windows Embedded 6.0 R3开发初体验)的发布,咱这一直想说不敢说的嵌入式UI框架终于可以随便乱讲了。作为一个早期用户,此处我来贡献点基础知识,发个FAQ来让大家有个印象:Q1:Silverlight for Embedded是什么?A1:Silverlight for Embedded

2009-12-11 14:22:00 919

转载 Windows Embedded 6.0 R3开发初体验

      最近在研究Sliverlight for Windows Embedded,把网上的一些好的文章转载下,这样大家学习的时候,可以看到比较全的资料。这是由MVP马宁先生撰写的Windows Embedded 6.0 R3开发手记原文:http://www.cnblogs.com/aawolf/archive/2009/10/31/1593596.html我写了不少开发初体验的

2009-12-11 14:09:00 784

转载 Silverlight for Windows Embedded tutorial (三)

After the first two tutorial steps were published on this blog I received many requests about using images inside a Silverlight for Windows Embedded application. This is the topic of this post.To be a

2009-12-11 13:50:00 1095

转载 Silverlight for Windows Embedded tutorial (二)

we learnt how to load a XAML-based user interface inside your own application and intercept the events that it generates.In this second tutorial we will learn how to use storyboards to create animatio

2009-12-11 13:40:00 879

Screenlib 为Windows Mobile 开发识别屏幕方向的应用程序

Windows Mobile 开发识别屏幕方向的应用程序

2009-09-03

MTK开发文档(适合初学者学习)二

MTK开发文档,适合初学者学习。 分为三章: 第一章 基础(屏幕、程序、资源、字符、菜单、图像) 第二章 绘画(文本、图像、图形、背景、层) 第三章 互动 (控件、键盘、触摸屏、屏幕、模板)

2009-02-18

MTK开发文档(适合初学者)一

MTK开发文档,适合初学者学习。 分为三章: 第一章 基础(屏幕、程序、资源、字符、菜单、图像) 第二章 绘画(文本、图像、图形、背景、层) 第三章 互动 (控件、键盘、触摸屏、屏幕、模板)

2009-02-18

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除