android的HAL第一种调用hal方法中的Framework层代码的实现:

本文详细介绍了Mokoid平台中的LedService类,它负责控制硬件层的LED状态,包括开启和关闭操作。通过调用setOn()和setOff()方法,开发者可以实现对LED的远程控制,而初始化过程则依赖于JNI库来提供底层的硬件访问能力。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

(3)service  (属于Framework层)
文件:frameworks/base/service/java/com/mokoid/server/LedService.java
 

view plaincopy to clipboardprint?
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 {  
//对于这种直接模式不需要进程通讯,所以可以不加extends ILedService.Stub,此处加上主要是为了后面的第二种模式.
static {  
        System.load("/system/lib/libmokoid_runtime.so");//加载jni的动态库  
    }  
    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();          //声明jni库可以提供的方法  
    private static native boolean _set_on(int led);  
    private static native boolean _set_off(int led);  
}  

7 Android的Audio系统 7.1 Audio系统的综述 Audio系统架构和代码路径 7.2 meida库中Audio相关接口 Audio系统的本地核心接口,类的次结构 7.3 Audio系统和上接口 Audio系统的JAVA次的接口 7.4 Audio硬件抽象 Audio系统的移植,Audio硬件抽象实现方法 ALSA Audio HAL实现 8 Android的Video 输入输出系统 8.1 Video输入输出系统的综述 视频输入输出系统架构和代码路径 8.2 Overlay系统 视频输出系统的结构 8.3 Overlay的硬件抽象 视频输出系统的移植,抽象实现 8.4 Camera系统与上接口 Camera系统的次结构 8.5 Camera的硬件抽象 Camera系统的移植 Camera和Overlay的结合与数据传送 9 Android的多媒体系统 9.1 多媒体系统的结构 应用到底次结构 9.2 media核心库的结构 多媒体本地代码的结构 9.3 多媒体部分的上代码 照相机,媒体播放,媒体录制的框架结构 9.4 PackageVideo的架构 OpenMAX编译码插件的集成 9.5 stagefright的架构与实现(Éclair新增) 10 Android的电话系统 10.1 电话系统结构 Android电话系统的次结构 10.2 电话系统组成部分 Android电话系统的本地和JAVA程序运行流程 10.3 电话系统移植 为特定Modem移植的方法 11 Android的连接部分 11.1 WIFI无线局域网的部分 11.2 蓝牙部分 11.3 GPS部分 12 Android的传感器系统 12.1 Android传感器系统概述 12.2 Android传感器系统的次结构 12.3 Android传感器系统的硬件抽象和移植 重力加速度等传感器的移植 12.4 Android传感器系统的使用 1.HAL 技术详解 1.1 HAL 架構解析 1.2 Service与Manager的意义与用途 1.3 libhardware 与 HAL API 1.4 Stub & Module 的观念 1.5 专题讨论:定义并撰写第一个HAL Stub 2.HAL Development 2.1 HAL Stub Analysis and Design (OOAD) 2.2 HAL Stub Class 2.3 HAL Stub Interface 2.4 专题讨论:开发 LED 的 HAL 模组 3.Android API Design 3.1 Abstract Class and Interface in Android 3.2 The Reuse of Framework Design 3.3 OOAD of new APIs 3.4 Implementaion of new APIs 3.5 Singleton Pattern to Android APIs 3.6 Factory Method Pattern to Android APIs 4.Extend Android API 4.1 如何加入 API 至 Android Framework 4.2 如何编译并制作独立 JAR 档 4.3 上机实验:开发LedService API 与制作mokoid.jar 程式库 5.JNI & Runtime Library 5.1 什么是 JNI 5.2 如何撰写 JNI & Native Method 5.3 如何制作 Android Runtime Library 5.4 专题讨论:如何开发与制作Runtime Library 6.5 专题讨论:SensorManager与SensorService实例 7.SystemServiceHAL 整合7.1 IPC、 Remote method call与Binder观念说明 7.2 AIDL 介绍与IInterface设计观念解析 7.3 Activity & ApplicationContext 7.4 ServiceManager 7.5 专题讨论:LedService设计与ILedService探讨 8.Manager API (Refinement-架构优化) 8.1 SensorManager与 SensorService实例探讨 8.2 Remote Object观念与IBinder介绍 8.3 如何以Proxy Object整合Android Service 8.4 Long operations 的解析与实作细节 8.5 RemoteException 的解析与实作细节 8.6 Handler 与 Message 的解析与实作细节 8.7 Error Handling 9.专题探讨 9.1 整合驱动程式至Android 框架 9.2 撰写Anroid应用程式以控制LED 9.3 标准的Android HAL 架构 9.4 HAL Stub OOAD & Implementation
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值