上一页 1 ··· 7 8 9 10 11 12 13 14 15 ··· 24 下一页

2018年6月3日

8.3 Android灯光系统_编写HAL_lights.c

摘要: 注意在led-classes.c中定义的led_class_attrs[]所建立的文件的属性应该改为0666,否则应用程序无权操作它 同时ledtrig-time.c里面对应新建的那几个delay_on/delay_off也要改为0666,这样才能写它 Java: frameworks/base/s 阅读全文

posted @ 2018-06-03 18:17 拉风摊主 阅读(300) 评论(0) 推荐(0) 编辑

8.2 Android灯光系统_led_class驱动

摘要: android-5.0.2\hardware\libhardware\include\hardware\lights.h //系统一些宏定义 android源码只带的灯光驱动在linux内核的driver/leds/led-class.c中,其是led驱动的顶层框架文件 该驱动的提供的功能在leds 阅读全文

posted @ 2018-06-03 14:15 拉风摊主 阅读(467) 评论(0) 推荐(0) 编辑

8.1 Android灯光系统_总体框架

摘要: 1、框架 APP(java语言实现) JNI(c++语言实现) 向上提供Java执行c函数的接口 向下访问HAL HAL(c或c++语言实现) 封装硬件操作细节 Driver(c语言实现) 操作硬件 如果JNI是自己写的,那么其接口就只有自己知道,应用程序只能自己写,因此必须使用android现有的 阅读全文

posted @ 2018-06-03 09:51 拉风摊主 阅读(738) 评论(0) 推荐(0) 编辑

7.2 基础知识ArrayMap

摘要: 1、android源码中维护有键值对,通过键可以找到值 Java中Object是所有类的父类,对于键值对的保存如果使用个ObjectArray数组,比如N个位置存放键,N+1的位置就存放值,那么如果键值对很多是,查找效率不高。 在android源码中可以查看ArrayMap.java文件,其维护了键 阅读全文

posted @ 2018-06-03 09:06 拉风摊主 阅读(191) 评论(0) 推荐(0) 编辑

2018年6月2日

7.1 基础知识Android消息处理机制

摘要: 1. Android消息处理机制: Handler, MessageQueue, Looper, Thread 线程概念 : 一个应用程序运行时它的主体被称为进程, 一个进程内部可以有多个线程, 线程共享进程的资源 线程间通信 在android系统中是怎么封装通讯的,假如存在两个线程A和B,如果A线 阅读全文

posted @ 2018-06-02 23:31 拉风摊主 阅读(181) 评论(0) 推荐(0) 编辑

6.5 Android硬件访问服务使用反射

摘要: 1、前面的例子中App为了能够范问ILedService接口,把classes.jar导入到应用程序中,但是我们不想把classes编进apk包里面去,这样导致我们的apk程序会很大(解压缩apk会发现里面有classes.dex和classes2.dex这两个优化后的包) 因此这里修改编译选项: 阅读全文

posted @ 2018-06-02 20:34 拉风摊主 阅读(446) 评论(0) 推荐(0) 编辑

6.4 Android硬件访问服务编写HAL代码

摘要: JNI向上提供本地函数,向下加载HAL文件,并调用HAL的函数; HAL负责访问驱动程序执行硬件操作 JNI和HAL都是用c语言或者C++语言编写的,JNI加载HAL的实质就是使用dlopen加载动态库文件 安多人源代码中第dlopen做了一层封装,在JNI中是通过hw_get_module来加载动 阅读全文

posted @ 2018-06-02 16:40 拉风摊主 阅读(410) 评论(0) 推荐(0) 编辑

6.3 Android硬件访问服务APP代码

摘要: 以下步骤是操作MainActivity类 1、导入包 import android.os.ILedService 2、添加成员变量 private ILedService iLedService = null; 3、在OnCreate中对上面新增加的成员变量赋值 iLedService =ILedS 阅读全文

posted @ 2018-06-02 16:06 拉风摊主 阅读(385) 评论(0) 推荐(0) 编辑

6.2、Android硬件访问服务编写系统代码

摘要: 1、实现接口文件给App使用,接口文件是应用程序查询获得服务时获得 使用AIDL(Android接口定义语言)来实现ILedService.java接口 定义ILedService.aidl interface ILedService { int IedCtrl(int which,int stat 阅读全文

posted @ 2018-06-02 11:57 拉风摊主 阅读(225) 评论(0) 推荐(0) 编辑

6.1、Android硬件访问服务之框架

摘要: 1、通过前面led点亮的例子,其流程如下 Android app(java)(通过loadLibrary)——>C library(C库做如下事情)——>1、JNI_Onload 2、jniRegisterNativeMethods 3、ledOpen、ledClose、ledCtrol 4、ope 阅读全文

posted @ 2018-06-02 10:42 拉风摊主 阅读(281) 评论(0) 推荐(0) 编辑

上一页 1 ··· 7 8 9 10 11 12 13 14 15 ··· 24 下一页

导航