Chinaunix首页 | 论坛 | 博客
  • 博客访问: 228627
  • 博文数量: 29
  • 博客积分: 1477
  • 博客等级: 上尉
  • 技术积分: 451
  • 用 户 组: 普通用户
  • 注册时间: 2010-12-06 14:48
文章分类
文章存档

2012年(1)

2011年(14)

2010年(14)

我的朋友

分类: 嵌入式

2010-12-06 14:53:30

自定义Android核心服务实践

Daniel Wood 20101203

转载时请注明出处和作者

文章出处:http://danielwood.cublog.cn

作者:Daniel Wood

------------------------------------------------------------------------

参照参考文献及实例,实现自定义计算器服务CalService,服务提供加、减、乘、除四项简单运算。

总括

主要分以下五个部分实现:

1) 服务CalService实现

文件:

CalService.h

CalService.cpp

Android.mk

2) 启动CalService服务

这里采用的方法是用一个C++的应用程序去启动服务,当然也可以修改Android的源代码,使得自定义的服务随系统的启动而启动(修改init.rc文件)。

文件:

addserverapp.cpp

Android.mk

3) CalService服务Bp端实现(封装)

完成对CalService服务的封装,提供JNI对服务的调用。

文件:

Cal.h

Cal.cpp

Android.mk

4) 实现JNI层,完成对底层CalService服务的调用,给上层java  framework层提供服务接口(库)。

文件:

com_android_service_cal.cpp

Android.mk

5) 编写java应用程序调用CalService服务。

文件:

|-- Android.mk

|-- AndroidManifest.xml

`-- src

    `-- com

        `-- example

            `-- android

                `-- simpleservice

                    `-- CalServiceTest.java

主体目录结构

.

|-- addserverapp

|   |-- Android.mk

|   `-- addserverapp.cpp

|-- calservicetest

|   |-- Android.mk

|   |-- AndroidManifest.xml

|   `-- src

|       `-- com

|           `-- example

|               `-- android

|                   `-- simpleservice

|                       `-- CalServiceTest.java

|-- jni

|   |-- Android.mk

|   `-- com_android_service_cal.cpp

|-- libcal

|   |-- Android.mk

|   |-- Cal.cpp

|   `-- Cal.h

`-- libcalservice

    |-- Android.mk

    |-- CalService.cpp

    `-- CalService.h


    在实现的时候我是将这5个文件夹放在源代码framework目录下面新建的目录myservice,其实可以随意放到源代码的任意目录,当然不要是out目录:-)


阅读(2382) | 评论(1) | 转发(0) |
0

上一篇:没有了

下一篇:自定义Android核心服务实践(一)

给主人留下些什么吧!~~

chinaunix网友2011-07-18 17:46:33

很详细,辛苦博主