随笔分类 -  Android

Android音频(3)——ALSA声卡驱动——DAPM
摘要:一、DAPM简介 DAPM是Dynamic Audio Power Management的缩写,直译过来就是动态音频电源管理的意思,DAPM是为了使基于linux的移动设备上的音频子系统,在任何时候都工作在最小功耗状态下。DAPM对用户空间的应用程序来说是透明的,所有与电源相关的开关都在ASoc c 阅读全文

posted @ 2019-05-25 22:44 Hello-World3 阅读(4437) 评论(0) 推荐(0)

Android音频(2)——ALSA声卡驱动——ASoC
摘要:一、ASoC简介 ASoC(Alsa System on Chaip),也称为移动设备中的ALSA。是建立在标准ALSA驱动层上,为了更好地支持嵌入式处理器和移动设备中的音频Codec的一套软件体系。ASoC不能单独存在,他只是建立在标准ALSA驱动上的一个它必须和标准的ALSA驱动框架相结合才能工 阅读全文

posted @ 2019-05-24 16:15 Hello-World3 阅读(2530) 评论(0) 推荐(0)

Android音频(1)——ALSA声卡驱动
摘要:一、ALSA基础知识 1. ALSA(Advanced Linux Sound Architecture)目前已经成为了linux的主流音频体系结构,ALSA开源项目网址:http://www.alsa-project.org/。另一个音频驱动框架是OSS(open sound system),收费 阅读全文

posted @ 2019-05-24 13:03 Hello-World3 阅读(5146) 评论(0) 推荐(1)

Mutex::AutoLock介绍
摘要:AutoLock类是定义在Mutex内部的一个类,用于解决lock和unlock必须必须一一对应的问题。unlock这句代码可能会忘记写,从而导致死锁。AutoLock充分利用了C++的构造和析构函数,来达到自动调用unlock函数的目的。 Mutex::Autolock声明和实现: 注意事项: A 阅读全文

posted @ 2019-05-20 16:18 Hello-World3 阅读(4927) 评论(0) 推荐(0)

Android显示系统(1)——显示框架
摘要:1.Android系统显示框架参考文档https://community.nxp.com/docs/DOC-93612 2. 涉及的概念:GPU DC HWC FB OverLay 3. FB表示的是帧缓冲,不但视频显示使用到,Camera视频输入也使用到,也就是说FB不是显示上特有的概念。 4. 阅读全文

posted @ 2019-05-18 11:45 Hello-World3 阅读(2720) 评论(0) 推荐(0)

Android输入系统(6)——多点触摸处理
摘要:1. 多触摸和单触摸的Mapper不同 因此处理按键事件的核心是KeyboardInputMapper.process(),单点触摸的是SingleTouchInputMapper.process(),多点触摸的是MultiTouchInputMapper.process()。 2. 一般来说触摸屏 阅读全文

posted @ 2019-05-18 01:11 Hello-World3 阅读(1196) 评论(0) 推荐(0)

Android输入系统(5)——一键启动App测试
摘要:1. App接收者注册 动态注册:手工执行代码去注册,缺点:程序退出之后,接收者就不起作用了,就接收不到消息了。 静态注册:在AndroidManifest.xml中添加如下: 我们的目的是按下一个键就能启动App,就需要接收者要常驻系统,因此需要静态注册。 2. 复写onReceive() 新建M 阅读全文

posted @ 2019-05-18 01:00 Hello-World3 阅读(467) 评论(0) 推荐(0)

Android输入系统(4)——Reader、Dispatcher、App处理流程
摘要:一、两个线程启动过程 SystemService.java 启动 InputManagerService 服务 Service: InputManagerService.java JNI: com_android_server_input_InputManagerService.cpp InputM 阅读全文

posted @ 2019-05-17 23:21 Hello-World3 阅读(1889) 评论(1) 推荐(1)

Android——UI(1) (activity window decor)
摘要:1. activity window decor 之间的关系 android里:1个app里面有一个或多个window1个activity里有1个decor1个window有1个decor1个decor有多个viewgroup/layoutviewgroup/layout中有多个view. acti 阅读全文

posted @ 2019-05-17 23:06 Hello-World3 阅读(151) 评论(0) 推荐(0)

Android输入系统(3)——输入系统框架
摘要:1.优秀文档 android输入系统官方文档:http://source.android.com/devices/input/index.html 中文官方文档《深入理解Android 卷III》第五章 深入理解Android输入系统: http://blog.csdn.net/innost/art 阅读全文

posted @ 2019-05-13 19:17 Hello-World3 阅读(653) 评论(0) 推荐(0)

Android灯光系统(5)——通知灯分析实验
摘要:一、通知灯系统学习 二、App对通知灯的使用 1.每个APP都有一个 ContextImpl 上下文对象,ContextImpl中的静态代码块注册了一些系统服务 3.App使用notification的流程 三、笔记 1.可只import一个类的静态成员import static android.s 阅读全文

posted @ 2019-05-06 15:40 Hello-World3 阅读(1007) 评论(0) 推荐(0)

Android灯光系统(4)——电池灯分析实验
摘要:一、电池事件的广播的注册 二、电池事件的广播与处理 三、笔记 1.启动服务的流程 所以一个服务的启动,首先构造函数被调用,其次被调用的就是onStart()。 2.获取xml中系统定义的资源 3.BatteryService中使用LightsService的方法 四、例子App 由于Android5 阅读全文

posted @ 2019-05-06 14:02 Hello-World3 阅读(726) 评论(0) 推荐(0)

Android灯光系统(3)——背光灯控制实现
摘要:2.使用到内容观察者模式 3.App测试Demo MainActivity.java package com.example.mm.lcd_brightness; import android.os.Bundle; import android.provider.Settings; import a 阅读全文

posted @ 2019-05-05 12:02 Hello-World3 阅读(2296) 评论(1) 推荐(0)

Android灯光系统(2)——HAL实现
摘要:1.Android系统中定义了如下一些灯 2.编写lights的hal文件 好的参考例子,sony手机使用的,移植这个程序: https://android.googlesource.com/device/sony/lt26/+/master/liblight/lights.c移植后的hal文件如下 阅读全文

posted @ 2019-05-05 11:55 Hello-World3 阅读(1309) 评论(0) 推荐(0)

Android灯光系统(1)——led_class驱动实现
摘要:1.对灯光的要求 (1)亮度可调节,如背光灯(2)颜色可变化,如电池电量指示灯(3)能闪烁,如通知灯 2.Linux内核对led的支持 在Linux内核中已经实现了一个led class, 它里面已经实现了brightness的调节和blink,文件为:drivers/leds/led-class. 阅读全文

posted @ 2019-05-05 11:51 Hello-World3 阅读(2461) 评论(0) 推荐(0)

Android 消息处理机制
摘要:1.消息处理机制简介 主要用于进程内线程之间的通信,主线程一般调用looper()进行循环等待处理消息,其它线程向它发消息并指定消息的处理方法。 (1)涉及文件包括frameworks中的: Looper.java Handler.java MessageQueue.java Message.jav 阅读全文

posted @ 2019-05-02 00:52 Hello-World3 阅读(1110) 评论(0) 推荐(0)

LED硬件访问服务(2)——JNI/HAL
摘要:一、系统编程 1.SystemServer.java类中提供了main()方法,说明它是以一个进程的方式存在的,启动后直接执行其run() 2.注册服务ServiceManager.addService("vibrator", vibrator);通过addService来告诉系统,告诉系统指的是s 阅读全文

posted @ 2019-04-30 00:43 Hello-World3 阅读(1053) 评论(0) 推荐(0)

JNI加载hal的dlopen()相关操作
摘要:1.函数集合 2.Demo例子 caculate.c用于编译成一个库 int add(int a,int b) { return (a + b); } int sub(int a, int b) { return (a - b); } int mul(int a, int b) { return ( 阅读全文

posted @ 2019-04-29 14:33 Hello-World3 阅读(645) 评论(0) 推荐(0)

LED硬件访问服务(1)——AS App编写
摘要:一、Android Studio应用编程 1.应用程序界面layout对应的界面是activity_main.xml,后台对应的java文件是MainActivity.java,修改activity_main.xml来修改UI显示效果,点击UI上的控件的事件处理由MainActivity.java完 阅读全文

posted @ 2019-04-27 22:57 Hello-World3 阅读(474) 评论(0) 推荐(0)

Android与Linux内核的对应关系
摘要:1. Android各版本和Linux版本对应关系 参考:https://android.stackexchange.com/questions/51651/which-android-runs-which-linux-kernel 2. Android各个大版本主要解决问题 Android 4.1 阅读全文

posted @ 2019-04-25 15:06 Hello-World3 阅读(3641) 评论(0) 推荐(0)

导航