- 博客(19)
- 资源 (26)
- 收藏
- 关注
原创 关于字符串反转的实现
<br />题目:用C语言实现字符串的反转。<br /> <br />以下是我用C语言实现的代码。<br /> <br />char* strrev (char* str, char* outStr)<br />{<br /> if (!str)<br /> {<br /> returnNULL;<br /> }<br /> <br /> char *p = str;<br /> char *res = outStr; <br /> <br /> while (*p)<
2010-10-23 16:46:00 456
原创 关于单向链表的反转
<br />题目:实现单向链表的反转。<br /> <br />以下是我的代码。<br /> <br />思路一:新建链表,利用临时指针的偏移完成新链表的穿插。<br /> <br />#include<iostream><br />usingstd::cout;<br />usingstd::endl;<br /> <br />structnode<br />{<br /> intval;<br /> node *next;<br />};<br /> <br />voidReverse(node
2010-10-18 22:15:00 644
原创 关于两个长整数相乘的实现
<br />题目:实现两个长整数相乘的算法。<br /> <br />此代码可实现任意长度的两个数相乘,实现方法采用单向链表。<br /> <br />以下是我的代码.<br />备注:此代码有参考网上的代码。<br />#include"stdafx.h"<br />#include<iostream> <br /> <br />usingnamespacestd; <br /> <br />#defineMAX 10000 <br /> <br />struct Node<br />{
2010-10-18 22:04:00 2278 1
转载 Android开发之旅:进程与线程
引言<br />当应用程序的组件第一次运行时,Android将启动一个只有一个执行线程的Linux进程。默认,应用程序所有的组件运行在这个进程和线程中。然而,你可以安排组件运行在其他进程中,且你可以为进程衍生出其它线程。本文从下面几点来介绍Android的进程与线程:1、进程 2、线程 2.1、远程过程调用(Remote procedure calls,RPCs) 2.2、线程安全方法 1、进程<br />组件运行于哪个进程中由清单文件控制。组件元素——<activity>、<service>、<recei
2010-10-10 10:00:00 680 2
转载 图解 Android Handler 线程消息机制
<br />从现实生活中理解线程消息机制<br /><br />android 有一种叫消息队列的说法,这里我们可以这样理解:假如一个隧道就是一个消息队列,那么里面的每一部汽车就是一个一个消息,这里我们先忽略掉超车等种种因素,只那么先进隧道的车将会先出,这个机制跟我们android 的消息机制是一样的。<br />Android 的线程消息机制<br />android 在设计的时候引入了 wince 的消息机制,即将每一个消息发送到队列里面,遵循先进先出原则。发送消息并不会阻塞线程,而接收线程会阻塞线程,
2010-10-10 09:59:00 591
转载 Android Camera移植
http://source.android.com/porting/camera.htmlCameraAndroid的camera子系统把camera的应用程序与应用程序框架以及用户空间库连接起来,反过来也与操作物理camera的硬件层进行通信。 下图为camera子系统的结构:<br /><br /> 构建一个camera库<br />为了实现一个camera驱动,创建一个动态链接库实现在CameraHardwareInterface.h中定义的camera接口,你必须把你的动态链接库命名为libcame
2010-10-10 09:57:00 1418
转载 Android HAL 开发 (5)
<br />上一章介绍了直接调用Service来操作硬件的方法,如果我们再优化一下结构,通过一个Manager来调用这个Service的方法,可能会更好。这样Service就可以跑在后台,由于这时候service和manager是两个进程,所以只能通过IPC来进行通信。我们在上一篇看到 <br />public final class LedService extends ILedService.Stub { }, ILedService.Stub就是<br />ILedService.aidl由aidl工
2010-10-10 09:56:00 661
转载 Android HAL 开发 (4)
<br />在上一篇文章中,我们看到了如果在java程序中调用C/C++撰写的函数。而且Android的service已经实现了,下面就要看看应用程序如何调用这个service了,这里用两种方法,我们先介绍简单的第一种直接调用方法。<br />apps/mokoid/apps/LedClient/src/com/mokoid/LedClient/LedClient.javapackage com.mokoid.LedClient; import com.mokoid.server.LedService;
2010-10-10 09:55:00 645
转载 Android HAL 开发 (2)
<br />在上一篇文章中,我们看到了如何撰写HAL层的用户硬件驱动程序,我们每也知道,最终该代码会被编译成动态链接库提供给service(jni)使用,那么我们下面来看看service(jni)是如何与HAL通信的。<br />一般service的jni代码位于framework/base/service/jni/中,我们看看mokoid的ledservice是如何实现的:<br /> <br />framework/base/service/jni/com_mokoid_server_LedServic
2010-10-10 09:54:00 689
转载 Android HAL 开发 (3)
<br />在上一篇文章中我们分析了jni的led service代码,该代码通过调用led的HAL层代码,实现了mokoid_init, mokoid_setOn, mokoid_setOff三个C/C++接口,但是该接口还无法直接提供给java程序使用,因此还需要一段java代码通过jni调用这些操作接口。<br />下面就介绍java led service 的实现,代码很简单。<br />framework/base/service/java/com/mokoid/server/LedService
2010-10-10 09:54:00 676
转载 Android HAL 开发 (1)
<br /> 最近开始看Android的HAL开发方面的东东,发现现在国内研究这个的并不多,来自台湾的Jollen可能是走在Android HAL研究的最前沿,这也和他以前专注做嵌入式linux(openmoko)的工作经历有关,毕竟Android的application开发是基于Java的,而之前Jollen做的更多的还是C/C++开发,因此选择从HAL作为进入Android的shortcut还是很明智的,我以前也主要是做linux kernel以及基于C/C++的app开发,现在转作Android,发现
2010-10-10 09:53:00 1484
转载 Android Camera HAL设计初步
<br />Android Camera HAL设计初步<br />使用zc301 USB摄像头,这个摄像头返回JPEG图形留,camera的preview需要进行jpeg解码(没做),但是可以直接take jpeg照片。<br />1、修改你的BoardConfig.mk<br />USE_CAMERA_STUB := false<br />将stub设置为false,在编译时不会编译android2.1/frameworks/base/camera/libcameraservice中的<br />Cam
2010-10-10 09:51:00 2677
转载 android Camera模块分析
<br /> Android Camera Module Architecture and Bottom layer communication mechanism<br /> -----------albertChen<br />Android应用程序编程语言是JAVA,而linux的很多服务程序,包括一些libraries都是用c 或者c++写的,应用程序使用什么样的机制去调用这些系统函数的呢?Java
2010-10-10 09:50:00 867
转载 Android程序反编译
找到Android软件安装包中的class.dex:把apk文件改名为.zip,然后解压缩其中的class.dex文件,它就是java文件编译再通过dx工具打包成的。 工具准备:1、把dex文件反编译为jar文件的工具。(dex2jar)http://code.google.com/p/dex2jar/downloads/list 2、把jar反编译为java的工具。(JD-GUI)http://java.decompiler.free.fr/?q=jdgui 反编译步骤:1、把class.dex拷贝到d
2010-10-10 09:48:00 434
转载 Android 使用SQLite数据库
1. SQLiteDatabase 操作SQLite数据库的类。可以执行SQL语句,对数据库进行增、删、查、改的操作。也可以进行transaction的控制。很多类对数据库的操作最终都是通过SQLiteDatabase实例来调用执行的。 需要注意的是,数据库对于一个应用来说是私有的,并且在一个应用当中,数据库的名字也是惟一的。 2. SQLiteOpenHelper 创建数据库和数据库版本管理的辅助类。这是一个抽象类,所以我们一般都有一个SQLiteOpenHelper子类,需要
2010-10-10 09:46:00 834
转载 C++ XML解析之TinyXML篇
最近使用TinyXML进行C++ XML解析,感觉使用起来比较简单,很容易上手,本文给出一个使用TinyXML进行XML解析的简单例子,很多复杂的应用都可以基于本例子的方法来完成。以后的文章里会讲解使用Xerces进行C++ XML解析的例子,希望大家一起交流。<br />TinyXML是一个开源的解析XML的解析库,能够用于C++,能够在Windows或Linux中编译。这个解析库的模型通过解析XML文件,然后在内存中生成DOM模型,从而让我们很方便的遍历这棵XML树。<br /> DOM模型即文档
2010-10-10 09:37:00 598
转载 wxWidgets利用tinyxml实现xml解析
最近正在做的一个项目里涉及到xml文件的存取,同事推荐的tinyxml++ ,是c++版本的xml解析包,据说很小巧,好用,于是download了一个下来.顺便在其官方主页上下载了premake.exe用来生成工程文件的.以下是premake的用法. Windowspremake --target cb-gcc [--unicode] [--ticpp-shared] [--dynamic-runtime]<br />Linux<br />premake --target cb-gcc [--unicode
2010-10-10 09:35:00 680
转载 wxWidgets与其他工具库的比较(下)
GTK+ ● GTK+的网站:www.gtk.org; ● GTK+原本是Gimp的一个工具库,是在LGPL协议下发布的Unix系统GUI库; ● GTK+已经被移植到Windows,VMS以及其他的系统上面(在MacOS X上面现在可以通过苹果的X11应用程序实现,其本地版本正在开发之中),使用相同的API。但是,GTK+的设计初衷是Unix,多平台的开发是后来才加入的; ● GTK+是GNOME用户界面的原始构建库; ● 不同于wxWidgets,GTK+支持C语言(同样
2010-10-10 09:33:00 1425
转载 wxWidgets与其他工具库的比较(上)
<br />本文是在wxWidgets Wiki上面找到的一篇,对比了wxWidgets和其他一些界面工具的特点。看到很多朋友在网上询问这些库各自的特点,我想先把这篇文章翻译出来——毕竟这也算是一篇官方的文章,应该比较有说服力吧!这篇文章写于2004年左右,但是很明显某些地方已经更新了,因为Qt 4.5是2009年才发布的!<br /> <br />这是我第一篇翻译,哪里翻译不好敬请谅解!<br /> <br />原文:http://wiki.wxwidgets.org/WxWidgets_Compared
2010-10-10 09:32:00 1046
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人