自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(177)
  • 资源 (4)
  • 收藏
  • 关注

原创 Android Automotive-sensor服务详解

本章节主要对车载定制化服务的传感器处理逻辑进行讲解,希望对大家有所帮助

2023-02-13 11:04:05 321 1

原创 Android Automotive-开发简介

系统集成商可以将特定于功能的平台 HAL 接口(如 HVAC)与特定于技术的网络接口(如 CAN 总线)连接,以实现车载 HAL 模块。只要实现符合车载 HAL 的接口要求,每个合作伙伴都可以选择适合硬件的架构。不同的制造商提供的确切总线类型和协议之间有很大差异(甚至同一品牌的不同车型之间也是如此),例如控制器局域网 (CAN) 总线、区域互连网路 (LIN) 总线、面向媒体的系统传输 (MOST) 总线以及汽车级以太网和 TCP/IP 网络(如 BroadR-Reach)。

2023-02-07 09:11:59 361

原创 Android之媒体扫描

媒体扫描时序图看了上面的时序图是否感觉比较绕,一会Java层,一会Native层。其实只要了解它们为什么这样做就比较好理解为什么这样做了。第一次:扫描路径,查找媒体文件,找到媒体文件之后就告知上层第二次:上层收到Native层已找到媒体文件后,经过初步处理,再调用Native层去解析媒体文件。解析完成后就把解析数据上报给Java层,然后插入数据库。媒体扫描之代码分析MediaScannerReceiver.java @Override public void onReceive

2021-06-21 11:03:22 1783 2

原创 Input系统分析详解-InputDispatcher

本章节仅以Motion事件分析为主。InputDispatcher事件派发时序图InputDispatcher事件处理Code分析紧接上一篇InputReader分析void InputDispatcher::notifyMotion(const NotifyMotionArgs* args) { //判断motion event是否有效 if (!validateMotionEvent(args->action, args->actionButton,

2021-06-16 17:42:14 794

原创 Input系统分析详解-InputReader

关键字的理解下面是在分析的过程中遇到的一些关键字,应该可以更好的帮助读者理解。/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS /#define EV_SYN 0x00 同步事件#define EV_KEY 0x01 按键事件#define EV_REL 0x02 相对坐标#define EV_ABS 0x03 绝对坐标/ WARNING: DO NOT EDIT, AUTO-GENE

2021-06-11 15:32:05 824 2

原创 Input系统分析详解-EventHub

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar

2021-06-09 17:18:09 473 2

原创 Input系统分析详解-初始化

本文分析是基于Android8.1的源码基础上进行分析的。对比了一下O和P,基本上没有s1.Input系统初始化

2021-06-08 15:13:20 666 2

转载 2020-12-08

Binder 源码分析本文是基于Android 6.0.0和kernel 3.4源码 及 Android SDK 23 展开的。目录1. 简介 2. Binder 与 AIDL 2.1 AIDL 客户端 2.2 AIDL 服务端 2.3 远程服务的获取与使用 3. Binder 框架及 Native 层 3.1 Binder Native 的入口 3.2 Binder 本地层的整个函数/方法调用过程 3.3 Binder 设备文件的打开和读写 4. Bi...

2020-12-08 20:48:36 360

原创 Android 架构组件之一

为了使用MVVM架构模式开发APP,才了解到Android本身也是提供一些列库来支持MVVM架构模式的。只是使用MVVM架构模式开发的APP和之前的开发有了很大的区别。MVVM是以数据来驱动的,即数据(Model)改变--》UI绑定的变量(ViewModel)变化--》相应数据会自动更新至UI(View),不需要再进行主动的操作UI的更新逻辑。另外,User改变UI(View)的数据--...

2019-08-30 09:38:59 267

原创 Android架构组件之二-应用架构指南

应用架构指南官方地址https://developer.android.google.cn/jetpack/docs/guide本指南包含一些最佳做法和推荐架构,有助于构建注重生产质量的强大应用。本页假定您对 Android 框架有基本的了解。如果您不熟悉 Android 应用开发,请查看我们的开发者指南,着手体验并详细了解本指南中提到的概念。移动应用用户体验在大多数情况下,桌...

2019-08-30 09:37:24 716

转载 MVC模式简介

深入理解Yii2.0» Yii 模式» MVCMVCMVC是一种设计模式(Design pattern),也就是一种解决问题的方法和思路, 是上世纪80年代提出的,到现在已经颇有历史了。 MVC的意义在于指导开发者将数据与表现解耦,提高代码,特别是模型部分代码的复用性。MVC不仅仅存在于Web设计中,在桌面程序开发中也是一种常见的方法。MVC的出现已经有一段历史了。 ...

2019-08-28 16:40:26 747

原创 非常牛逼的Android学习网站

https://www.kancloud.cn/alex_wsc/androidsystem/403521

2019-08-16 13:29:45 701 1

原创 Android mk详解

概览Android.mk文件位于项目jni/目录的子目录中,用于向编译系统描述源文件和共享库。它实际上是编译系统解析一次或多次的微小 GNU makefile 片段。Android.mk文件用于定义Application.mk、编译系统和环境变量所未定义的项目范围设置。它还可替换特定模块的项目范围设置。Android.mk的语法支持将源文件分组为模块。模块是静态库、共享库或...

2019-07-20 13:28:21 27498

原创 TCP/IP详解

1.网际互联及OSI七层模型:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层==========================================物理层作用:定义一些电器,机械,过程和规范,如集线器;PDU(协议数据单元):bit/比特设备:集线器HUB;注意:没有寻址的概念;==============================...

2019-07-18 15:31:59 758

原创 BT Opp 接收文件

BT OPP蓝牙接收文件相关线程的启动 蓝牙共享连接线程 共享文件时,蓝牙服务端首先要接收远程设备的连接,此线程即为ObexServerSockets。启动时序图如下:startAccept的作用是初始化一个接收线程,接收来自client的连接请求。建立mRfcommThread和mL2capThread线程的原因:不同机器传输数据的方式不同,即有的client使用的是...

2019-06-25 18:06:32 334

原创 Handler机制

Handler机制Handler机制的简单介绍 1 Handler Handler对象允许你发送消息和Runnable对象加入到MessageQueue队列,同时也可以处理从MessageQueue中取出来的消息和Runnable对象。每一个Handler实例都跟一个线程和MessageQueue绑定在一起。当新的Handler创建时,Handler对象将会跟创建时所在的线程的线程实例...

2019-06-02 23:34:38 427

转载 android Bind机制

Service Manager是一个linux级的进程,顾名思义,就是service的管理器。这里的service是什么概念呢?这里的service的概念和init过程中init.rc中的service是不同,init.rc中的service是都是linux进程,但是这里的service它并不一定是一个进程,也就是说可能一个或多个service属于同一个linux进程。在这篇文章中不加特殊说明均指...

2019-05-15 18:39:10 1177

原创 ACRCP协议规范

1.AVRCP(Audio/Video Remote Control Profile)上图是AVRCP依赖关系图。从图中可以看出它依赖于GAP和BIP2.AVRCP协议模型,如下3.AVRCP 角色• The controller (CT) is a device that initiates a transaction by sending a command fr...

2019-05-12 15:49:38 757

原创 A2DP协议规范

1.A2DP(Advanced Audio Distribution Profile) Dependencies A2DP Profile Dependencies 2.A2DP Profile Mode 3.A2DP 的角色关系Source (SRC) – A devic...

2019-05-11 09:50:58 3926

原创 代码重构(一)

代码重构代码坏味1.1重复代码(Duplicated Code)出现的情况:相同的代码结构重复出现不同地方时,我们可以将它们合而为一。 两个互为新工地的子类内包含相同的表达式具体采用的方法:采用Extract Method提炼重复代码 只需对两个类都是用Extract Method,然后再对被提炼出来的代码使用Pull Up Method将它推入超类内 如果两个毫不相关的...

2019-04-08 18:49:44 9687

原创 bluetoothopp(二) 接收文件

2018-08-09 20:53:06 572

原创 BluetoothOpp共享文件(一)之蓝牙设备选择

当我们共享文件时都会弹出共享方式选择,我们选择蓝牙共享时就会根据蓝牙是否开启来进行不同的结果。接下来就默认蓝牙为开启的状态进行分析。当我们点击蓝牙的时候就会显现蓝牙设备选择界面,即DevicePickerFragment.java具体蓝牙列表是怎么显示出来的请自行分析。1.共享文件就会选择一个要共享的设备,当我们点击共享的设备时,执行的代码如下:@Override    void...

2018-07-26 23:49:03 999

转载 Carrier Configuration in Android 6.0 文档翻译

Carrier Configuration in Android 6.0(主要就是carrier app) Introduction□介绍The Android 6.0 Marshmallow release introduces a capability for privileged applications to provide carrier-specific configuration t...

2018-07-03 19:40:39 1165

原创 蓝牙(一)Settings 打开蓝牙代码流程

先把流程图贴上,等以后有时间再具体分析。

2018-06-12 23:38:35 2552

转载 Android WiFi 架构总览(模块及接口)

Android WiFi 架构总览本文介绍Android源码项目(AOSP)中WiFi功能的软件架构及各个模块(可执行文件、动态链接库)间的接口。SDK APIAndroid SDK为开发者提供了WiFi编程接口,使用起来非常方便。相关包: android.net.wifi(写App时只需import该包,即可使用WiFi相关功能)主要相关类: * WifiManager WIFI编程入口,WIF...

2018-05-28 11:46:25 3263 1

转载 Android activity的四种启动模式

转自文章《Android四种启动模式》http://www.cnblogs.com/rancvl/p/5529070.html四种启动模式standard(默认)singleTopsingleTasksingleInstancestandard(默认)系统默认的启动模式。Android是使用返回栈来管理活动的,在standard模式下,每当启动一个新的活动,它就会在返回栈中入栈,并处于栈顶的位置。...

2018-05-24 11:26:06 213

转载 Android GPS学习笔记(三)定位数据如何从GPS芯片到应用层

定位的基础知识:1、定位芯片和CPU之间通过串口进行通信2、串口和CPU之间传输的是ASCII格式的NMEA(National Marine Electronics Association)信息,如:[html] view plain copy$GPGGA,092204.999,4250.5589,S,14718.5084,E,1,04,24.4,19.7,M,,,,0000*1F  $GPGLL...

2018-05-18 17:04:22 2736 1

原创 Android GPS学习笔记(二)--架构及其初始化流程

1.GPS架构                                                            定位服务架构    如上图所示:    定位服务共分为四层:    最上面是应用层,以java为主。    第二层是框架层,这一层包含了供应用调用的接口及其系统服务的实现,主要由 Java 语言来实现。    第三层是硬件抽象层,本层由 C 以及 C++ 语言实现 ...

2018-05-18 16:52:24 7134 1

转载 android 框架之WIFI系统和系统架构

一、wpa_supplicant是什么? wpa_supplicant本是开源项目源码,被谷歌修改后加入android移动平台,它主要是用来支持WEP,WPA/WPA2和WAPI无线协议和加密认证的,而实际上的工作内容是通过socket(不管是wpa_supplicant与上层还是wpa_supplicant与驱动都采用socket通讯)与驱动交互上报数据给用户,而用户可以通过socket发送命令...

2018-05-04 16:05:18 4728 1

转载 android中wifi原理及流程分析

虽然该博客有点老,但是对于WiFi的学习来讲还是非常值得借鉴的wifi相关的文件位置:WIFI Settings应用程序位于       packages/apps/Settings/src/com/android/settings/wifi/JAVA部分:        frameworks/base/services/java/com/android/server/        framew...

2018-05-04 15:56:12 430

转载 蓝牙流程介绍

1 基础知识介绍1.1 缩略语BTIF: Bluetooth Interface BTU : Bluetooth Upper Layer BTM: Bluetooth Manager BTE: Bluetooth embedded system BTA :Blueetooth application layer CO: call out\CI: call in HF : Handsfree Pro...

2018-05-03 17:32:37 6718

原创 Android下bluetooth、Bluetooth apk介绍

首先我们先熟悉一下蓝牙协议的基本规范1)A2DP(Advanced Audio Distribution Profile)        高级音频、立体声规范,包括A2DP Sink和A2DP Source;2)AVRCP(Audio/Video Remote Control Profile)        音视频远程控制规范,音乐播放、暂停等;3)HFP(Hands-Free Profile) ...

2018-04-24 17:23:25 13352

原创 音频 (一) AudioRecord 架构简介

    去年做了关于蓝牙音频这一块,当时没有进行总结,现在再去总结都忘了差不多了,但是不管怎么样还是进行总结一下吧!总结过程中有什么不对的地方请大家不吝指教。音频基础知识声音有哪些重要属性呢?响度(Loudness)响度就是人类可以感知到的各种声音的大小,也就是音量。响度与声波的振幅有直接关系。音调(Pitch)音调与声音的频率有关系,当声音的频率越大时,人耳所感知到的音调就越高,否则就越低。音色...

2018-04-18 10:36:47 7008 1

转载 Android Application启动流程分析

译者注:原文分成两个部分, 链接如下:http://multi-core-dump.blogspot.com/2010/04/android-application-launch.htmlhttp://multi-core-dump.blogspot.com/2010/04/android-application-launch-part-2.html本文合二为一, 章节标题由译者加注.作者曾经在高...

2018-04-16 10:54:26 1322

原创 蓝牙(三)蓝牙协议的初始化

    介绍蓝牙协议的初始化之前首先要简单讲一下蓝牙一些常用协议以及各个协议的作用,同时还要讲以下Application的知识以便对蓝牙协议的初始化有一个更清晰的认识。一、蓝牙协议简介:HSP(手机规格)– 提供手机(移动电话)与耳机之间通信所需的基本功能。HFP(免提规格)– 在 HSP 的基础上增加了某些扩展功能,原来只用于从固定车载免提装置来控制移动电话。A2DP(高级音频传送规格)– 允许...

2018-04-16 10:45:16 5018

原创 蓝牙(三)a2dp连接

以下内容都是基于android6.0的基础上讲的,相对于android4.4架构有了很大改动。先借用一下图用一下。 上图描述的是蓝牙协议栈,通过该图,查看A2dp的代码在协议栈的调用流程。其分层架构如下:  1.蓝牙的系统服务service通过JNI与bluedroid协议栈进行通信。协议栈分为两层,Bluetooth Embedded System(BTE)和Bluetooth Applicat...

2018-04-13 17:17:17 12685 1

原创 蓝牙(二)蓝牙搜索、配对、连接

1.搜索从上一节我们可以知道,蓝牙状态发生了改变,并发生了回调。咱们就从回调开始。DevicePickerFragment.java 用于蓝牙设置界面的蓝牙配置和管理 @Override public void onBluetoothStateChanged(int bluetoothState) { super.onBluetoothStateChanged(blueto...

2018-04-12 17:36:50 14652 5

原创 Android Fragment详解

先以我遇到的问题来抛砖引玉02-12 09:33:22.204 E/AndroidRuntime( 2660): FATAL EXCEPTION: main02-12 09:33:22.204 E/AndroidRuntime( 2660): Process: com.hound.android.omni, PID: 266002-12 09:33:22.204 E/AndroidRuntim...

2018-04-12 14:23:33 1699

原创 蓝牙(一)蓝牙设置详解

一.蓝牙相关的类    1)BluetoothSettings.java            该类是蓝牙配置和连接管理界面,就是咱们常见的蓝牙界面。它管理着蓝牙界面的加载,蓝牙搜索,蓝牙连接,蓝牙重命名等管理功能。(顺便借用一下大牛做的图片:https://www.cnblogs.com/dixonyy/p/4246057.html)    2)BluetoothEnable.java     ...

2018-04-11 19:42:59 11379 3

转载 Android进阶——Preference详解之初识Preference及Preference系(一)

引言很久没来得及更新博客了,时间总是不够,以前的知识还没来得及总结完毕,新的知识又源源不断地接触到,工作也很忙,但还是没有忘记自己最低点目标每个月至少四篇。好了,废话就到这里啦,开始进入正文,这篇文章如标题所言,(准确地来说应该需要好几篇文章可能才能总结完毕吧)主题只有一个另一种构建UI的方式——通过Preference去构建UI,而不是直接通过layout方式(或许说得不够准确,因为Prefer...

2018-04-11 10:27:42 812

汽车仪表名词解释.pdf

本资源汇总整合查阅了很多资料,共汇总了70来个相关的车载仪表相关名词解释。希望对想了解或从事车载开发的相关人员有不错的帮助。汇集了ACC、AVDC、ESP、VDC、VSC、ABS等等

2021-05-21

MVC架构模式简介.pptx

本文档是看过很多MVC资料进行整理的,希望此文档能够对大家有一定的帮助。

2019-08-28

常用的最新BT协议规范说明文档

包括AVRCP_v1.6.2、A2DP_v1.3.2、FTP_v1.3.1、HFP_v1.7.2、HID_v1.1.1、Mesh Device Properties v1.0、PBAP_v1.2.3、3DSP_v1.0.3

2019-05-12

A2DP_v1.3.2.pdf

该文档讲述了a2dp的协议规范,对于蓝牙开发者而言,研究了解一下协议规范会对蓝牙有一个更清楚的认识。

2019-05-11

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除