Android HAL 开发 (3)
来源:互联网 发布:阿里云免费cdn加速 编辑:程序博客网 时间:2024/06/05 16:15
在上一篇文章中我们分析了jni的led service代码,该代码通过调用led的HAL层代码,实现了mokoid_init, mokoid_setOn, mokoid_setOff三个C/C++接口,但是该接口还无法直接提供给java程序使用,因此还需要一段java代码通过jni调用这些操作接口。
下面就介绍java led service 的实现,代码很简单。
framework/base/service/java/com/mokoid/server/LedService.java
- package com.mokoid.server;
- import android.util.Config;
- import android.util.Log;
- import android.content.Context;
- import android.os.Binder;
- import android.os.Bundle;
- import android.os.RemoteException;
- import android.os.IBinder;
- import mokoid.hardware.ILedService;
- public final class LedService extends ILedService.Stub {
- static {
- System.load("/system/lib/libmokoid_runtime.so");
- }
- public LedService() {
- Log.i("LedService", "Go to get LED Stub...");
- _init();
- }
- /*
- * Mokoid LED native methods.
- */
- public boolean setOn(int led) {
- Log.i("MokoidPlatform", "LED On");
- return _set_on(led);
- }
- public boolean setOff(int led) {
- Log.i("MokoidPlatform", "LED Off");
- return _set_off(led);
- }
- private static native boolean _init();
- private static native boolean _set_on(int led);
- private static native boolean _set_off(int led);
- }
首先通过System.load("/system/lib/libmokoid_runtime.so"); 装载上一篇文章介绍的使用C/C++编写的库,由于在
libmokoid_runtime.so中已经把mokoid_init,mokoid_setOn, mokoid_setOff分别映射到了_init, _set_on, _set_off,
所以这里可以直接调用这三个接口并且分别被封装到LedService的构造函数,setOn()和setOff()成员函数中,这样
android的应用程序就可以通过这个类来操作led了。
- Android HAL 开发 (3)
- Android HAL 开发 (3)
- Android HAL 开发 (3)
- Android HAL 开发 (3)
- Android HAL 开发 (3)
- Android HAL 开发 (3)
- Android HAL 开发 (3)
- Android HAL 开发 (1)
- Android HAL 开发 (2)
- Android HAL 开发 (4)
- Android HAL 开发 (5)
- Android HAL 开发 系列
- Android HAL 开发 (1)
- Android HAL 开发 (2)
- Android HAL 开发 (4)
- Android HAL 开发 (5)
- Android HAL 开发 (1)
- Android HAL 开发 (2)
- AndroidHttpClient类的分析,与DefaultHttpClient的区别
- Android HAL 开发 (2)
- android--获取手机的IMSI码,并判断是中国移动\中国联通\中国电信
- 标准C++中的string类的用法总结
- VS2010中的C++0x特性
- Android HAL 开发 (3)
- Sublime Text2 使用及插件配置
- 使用 Python 实现多进程
- Android HAL 开发 (4)
- MSSQL like 查询区分大小写的问题
- Android HAL 开发 (5)
- Checkbox多选按钮的使用
- struts2乱码解决方案
- 外国人如何看“剩女”