- 博客(287)
- 资源 (8)
- 收藏
- 关注
原创 Android TIF 应用实例-T960 应用添加后台TvView过程及代码
项目需要,有个背景透明的应用后台需要播放TV,之前是使用LiveTv在后台播放,由于严重依赖于LiveTV,使用起来很不方便,如果能直接在这个应用中播放TV,那就好了。于是,尝试在后台添加TvView,现记录使用过程。应用起来比较简单。一、原菜单不变,仅仅添加TvView控件。<FrameLayoutxmlns:android="http://schemas.android.com...
2019-04-28 10:50:50
2447
1
原创 Android TV Audio基本框架及启动流程分析
一、Android Audio基本框架:1.Audio 是整个 Android 平台非常重要的一个组成部分,负责音频数据的采集和输出、音频流的控制、音频设备的管理、音量调节等,主要包括如下部分:Audio Application Framework:音频应用框架AudioTrack:负责回放数据的输出,属 Android 应用框架 API 类AudioRecord:负责录音数据的采集,属...
2019-04-28 10:46:13
2278
转载 android TIF启动流程--转载
TIF是Tv Input Framework的简称,是Android在5.0后加入的tv框架,为了支持android tv功能。1 TvInputManagerService启动流程TvInputManagerService在TIF框架结构中扮演Java service层的角色,向java api提供接口实现。在SystemServer的Main Thread里面,执行run函数时,回去...
2018-12-26 10:26:40
1396
转载 TV Input Framework --Android官方说明
原文地址:https://source.android.google.cn/devices/tv/ Android TV Input Framework (TIF) 简化了向 Android TV 传送直播内容的过程。Android TIF 为制造商提供了一个标准 API,用于创建能够控制 Android TV 的输入模块,并让他们可以通过 TV Input 发布的元数据来搜索和推荐直播电...
2018-12-25 14:06:38
1918
转载 android Input系统事件分发流程
最近被问到android Input系统事件分发流程,虽然有看过相关源码,但是只是匆匆一瞥,没什么印象,解释了半天自己都晕了,甚是尴尬。特地重新看了一遍,整理在博客上,加深一下印象。 网上对android的事件分发流程的讲解很多,我就不具体铺代码了,找了几张程序流程图,帮助理解。估计大家没耐心看这么多流程图,把总结放在前面:1 Kenel收到InputEvent放到EventHub...
2018-11-01 16:50:23
1494
转载 linux 系统调用 inotify & epoll
一、inotify作用: 监控一个目录下文件的增加、删除事件1.重要的数据结构// 发生的event结构struct inotify_event { __s32 wd; /* watch descriptor */ __u32 mask; /* 表明add /remove 事件 IN_CREATE, IN_DELETE...
2018-10-31 12:05:40
342
转载 Makefile中的-C和M=解析
转自:https://www.aliyun.com/jiaocheng/144874.html摘要:在进行嵌入式开发过程中,经常需要编写和运行Makefile,且在大型项目开发过程中,一般也都是使用Makefile来进行管理、编译、运行的,所以对Makefile的读写是嵌入式软件工程师必须具备的基本能力。Makefile中,特别是在内核模块编译过程中最常使用到的两个参数就是“-C”和“M=”。...
2018-10-26 16:42:05
602
转载 cdev_init和cdev_add之后在/dev目录下没有长出设备节点原因
因为在linux里面有两种设备文件系统,devfs和sysfs devfs 1) 需要手动创建设备节点mknod fasync_dev c 250 0 2) 或者在fasync_dev_init函数中添加: #ifdef CONFIG_DEVFS_FS //支持devfs文件系统,在内核里面配置 devfs_mk_cdev(设备号, S_IFCHR | S_IRUGO | S_IWUSR...
2018-10-26 13:56:47
3301
转载 经验总结---编译出可以在Android上执行的可执行文件
作为一手包揽Ubuntu和Android设备的初级开发者,我不止一次地尝试把这两个同是用Linux内核的操作系统统一起来——让Ubuntu下的可执行程序能够在Android设备上运行。于是我不止一次地尝试,不止一次地查找资料,终于如愿以偿。我把我的经验在这里与大家分享。准备工具【宿主机】(1)glibc-arm2.1.7库文件——让Android系统能够跑起自己编译好的程序(2...
2018-10-26 11:21:45
2250
1
转载 android-----模拟器加载自己编译的内核(适用于驱动练习)
1. 下载android 模拟器所用的内核源码, 代号为goldfish 2. 下载arm-linux交叉工具链3. 编译内核文件4. 让android模拟器运行在刚编译的内核上5. 编译自己的hello内核模块6 将hello.ko载入到内核中1. 下载android 模拟器所用的内核源码, 代号为goldfish (goldfish内核是专为android模拟...
2018-10-26 10:42:26
580
转载 各种initcall的执行先后顺序(module_init、postcore_initcall、arch_initcall、subsys_initcall、 fs_initcall)
现在以module_init为例分析initcall在内核中的调用顺序在头文件init.h中,有如下定义:#define module_init(x) __initcall(x);很明显,module_init()只是一个面具而已,揭开这个面具,下面藏着的是__initcall()__initcall()又是何方神圣呢?继续揭露真相:#define __initcall...
2018-10-25 19:53:49
436
转载 platform_device与platform_driver
通常编写linux字符设备常接触到的file_operations以及miscdevice,然后申请设备号,注册字符设备,没有涉及到设备驱动模型,而驱动模型里,device_driver根本没有涉及到设备操作的函数、file_operations等,只有一些电源管理,热插拔相关的函数。platform_device里也主要是resource的管理,所以感觉两者根本就没关系,也很奇怪为什么要弄两套东...
2018-10-25 18:04:04
4299
转载 container of()函数简介
在linux 内核编程中,会经常见到一个宏函数container_of(ptr,type,member), 但是当你通过追踪源码时,像我们这样的一般人就会绝望了(这一堆都是什么呀? 函数还可以这样定义??? 怎么还有0呢??? 哎,算了,还是放弃吧。。。)。 这就是内核大佬们厉害的地方,随便两行代码就让我们怀疑人生,凡是都需要一个过程,慢慢来吧。 其实,原理很简单: 已知结构...
2018-10-25 11:35:13
487
转载 input子系统——kernel中input设备介绍
一、输入子系统驱动层分析 在键盘驱动代码分析的笔记中,接触到了input子系统,键盘驱动,键盘驱动将检测到的所有按键都上报给了input子系统。Input子系统是所有I/O设备驱动的中间层,为上层提供了一个统一的界面。例如,在终端系统中,我们不需要去管有多少个键盘,多少个鼠标。它只要从input子系统中去取对应的事件(按键,鼠标移位等)就可以了。今天就对input子系统做一个详尽的分析。...
2018-10-25 10:31:18
412
原创 腾讯云服务器部署相关问题
一、如何开启ssh服务二、如何向云服务器传文件三、如何安装jdk,如何安装部署tomcat四、如何安装mysql五、SSL证书获取六、https相关设置一、如何开启ssh服务1.1如何开启ssh服务SSH秘钥--》新建--》下载私有秘钥,同时将公钥内容,保存到xxx.pub中,通过腾讯云登陆,选择私有秘钥就可以登陆。SecureCRT:The clien...
2018-09-21 15:31:16
788
转载 在云服务器上搭建tomcat服务访问80端口问题解决办法
自己购买的腾讯云,安装的 ubuntu14.10 系统,安装完jdk、tomcat后,由于想通过域名直接访问tomcat,即使用www.ifkirin.com代替www.ifkirin.com:8080 访问tomcat服务器,就修改了tomcat的配置文件server.xml,将默认的8080修改为80。之后启动服务器,发现访问不了,通过各种尝试,最后总结出了经验: 原来linux系统不...
2018-09-21 11:12:57
820
转载 本地SecureCRT软件SSH连接腾讯云服务器(linux系统)
转自:https://blog.csdn.net/walent_v/article/details/72357623感谢作者分享,亲测成功,转载仅供记录。今天想在公司的电脑上尝试连接一下自己很久之前,在自己电脑上连接配置的云服务器。弄了很久之后才搞定的。为了照顾一下像我一样的小白,打算写一篇连接教程的博客。首先要知道,这篇教程主要针对的是需要运用linux系统下的远程服务的云服务器用户...
2018-09-11 14:07:33
1628
转载 Android蓝牙源码分析——关于GKI
GKI模块是Bluedroid中用于线程间通信的,我们知道蓝牙所有的操作最终都会交给Bluedroid处理,而调用方可能来自多个线程,Bluedroid中有大量的全局变量,为避免多线程导致的数据不一致问题,干脆统一切换到一个固定的工作线程中执行。类似于Java中的post Runnable,这里是给线程发送消息或事件。接下来我们开始分析GKI源码,文件并不多,我们首先以gki模块的初始化为入口...
2018-08-31 20:18:05
2964
转载 Android BlueDroid(一)(二)(三)
转自:https://blog.csdn.net/xubin341719/article/details/40378205 感谢原作者的分享,转载仅供方便查阅~~Android BlueDroid(一):BlueDroid概述一、名词解释:(有用信息增加中……)BTI F: Bluetooth InterfaceBTU : Bluetooth Upper Layer...
2018-08-31 16:37:38
1137
转载 A2DP和AVRCP蓝牙音频传输协议的应用解释
A2DP全名是Advenced Audio Distribution Profile 蓝牙音频传输模型拹定。A2DP 规定了使用蓝牙非同步传输信道方式,传输高质量音乐文件数据的拹议堆栈软件和使用方法,基于该拹议就能通过以蓝牙方式传事输高品质的音乐了,例如可以利用立体声蓝牙耳机或蓝牙音响设备来收听音乐了。AVRCP全名是Audio Video Remote Cortrol Profile音频/...
2018-08-31 16:29:33
5086
转载 Device Tree中的.dts和dtsi文件介绍
1. ARM Device Tree起源Linus Torvalds在2011年3月17日的ARM Linux邮件列表宣称“this whole ARM thing is a f*cking pain in the ass”,引发ARM Linux社区的地震,随后ARM社区进行了一系列的重大修正。在过去的ARM Linux中,arch/arm/plat-xxx和arch/arm/mach...
2018-08-30 10:29:23
333
转载 值得推荐的C/C++框架和库 (真的很强大)
值得学习的C语言开源项目- 1. WebbenchWebbench是一个在Linux下使用的非常简单的网站压测工具。它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的性能,最多可以模拟3万个并发连接去测试网站的负载能力。Webbench使用C语言编写, 代码实在太简洁,源码加起来不到600行。下载链接:http://home.tiscali.cz/~cz210552/...
2018-07-10 16:31:47
733
转载 Android启动之bluetooth
前一段时间我们分析了kernel中bluetooth的初始化操作,从这一章起,晓东将会和大家一起正式进入到Android中bluetooth的分析。毫无疑问,我们依然需要知道在Android启动的时候,蓝牙究竟有做些什么。 首先我们来回顾一下Android启动的一般流程,有人把它归结为4个步骤,分别为1)init进程启动;2)Native服务启动;3)System server,A...
2018-05-07 21:45:06
501
转载 Android 如何获取所有的wifi连接历史记录?
关于网友提出的“Android 如何获取所有的wifi连接历史记录?”问题疑问,本网通过在网上对“Android 如何获取所有的wifi连接历史记录?”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:问题:Android 如何获取所有的wifi连接历史记录?描述:不是附近的wifi热点,而是本机所有连接过的wifi热点名称。也就是保存过的wifi热点信息。解决方案1:1、首先安卓系统必...
2018-05-07 21:40:05
7055
转载 android中wifi原理及流程分析(很经典)
在网上找的一篇好文章,分析的很详细,自己再加了些东西,图片有点大,不能完全显示,点击图像拖动鼠标直接查看图像。wifi相关的文件位置:WIFI Settings应用程序位于 packages/apps/Settings/src/com/android/settings/wifi/JAVA部分: frameworks/base/services/java/com/andro...
2018-05-07 21:37:48
8193
转载 WiFi基本知识
1. IE802.11简介标准号IEEE 802.11bIEEE 802.11aIEEE 802.11gIEEE 802.11n标准发布时间1999年9月1999年9月2003年6月2009年9月工作频率范围2.4-2.4835GHz5.150-5.350GHz5.475-5.725GHz5.725-5.850GHz2.4-2.4835GHz2.4-2.4835GHz5.150-5.850GHz非...
2018-05-07 21:35:35
262
转载 WiFi简介
WIFI学习总结 1 WLAN技术... 32 802.11协议简述... 32.1.1 概述... 33 802.11四种主要物理组件... 43.1 工作站(Station)... 43.2 接入点(AccessPoint)... 43.3 无线媒介(WirelessMedium)... 43.4 分布式系统(Dist...
2018-05-07 21:34:04
1288
转载 Android bluetooth介绍
转自:https://blog.csdn.net/xubin341719/article/details/38519555Android bluetooth介绍(一):基本概念及硬件接口关键词:蓝牙硬件接口 UART PCM blueZ 版本:基于android4.2之前版本 bluez内核:linux/linux3.08系统:android/android4.1.3.4作者:xubin341...
2018-05-07 21:32:03
1232
转载 ANDROID的 BLUETOOTH 实现机制与架构
从ANDROID3.0开始,BLUETOOTH API提供了Bluetooth profile协议的支持。目前ANDROID4.0的蓝牙API提供了五种蓝牙无线接口规范(Bluetooth profile)的支持,用来在设备之间通过蓝牙实现特定功能:包括 Headset和Hands-Freeprofile(实现蓝牙耳机功能),A2dpprofile(第二代蓝牙声音设备协议,用来在蓝牙设备之间实...
2018-05-07 21:26:41
889
转载 Android中蓝牙的基本使用----BluetoothAdapter类简介
原文:http://blog.csdn.net/qinjuning 天气逐渐热了,自己也越来越懒了,虽然看着了很多东西,解决了很多问题,有些收获却不想写着。主要有一下两方面原因: 第一、以前写的一些关于Android知识的Blog,都是在学习过程中发现网络上没有相关知识,因此下了很大决心,才一步 一步码字儿给贴出来。承蒙各位网友的厚爱,本博...
2018-05-07 21:24:35
6250
转载 Android经典蓝牙开发简介
公司的项目最近需要用到蓝牙开发的相关内容,因此特地查阅了Google官方文档的内容并进行二次整理,希望能对需要学习该部分的朋友有所帮助。原文地址:http://developer.android.com/intl/zh-cn/guide/topics/connectivity/bluetooth.html1.简介关于蓝牙的介绍对于阅读本文章的人来说并不需要我进行对于的介绍。在Android中为蓝牙...
2018-05-07 21:22:31
213
转载 蓝牙1.1~5.0不同版本特性简介
蓝牙1.1~5.0不同版本特性简介(技术扫盲贴)下面对现阶段主要版本蓝牙技术的特性做一个详细的介绍:1、版本1.1:传输率约在748~810kb/s,因是早期设计,容易受到同频率之间的类似通信产品干扰,影响通讯质量。这个初始版本支持Stereo音效的传输要求,但只能够以(单工)方式工作,加上带宽频率响应等指标不理想,并未算是最好的Stereo传输工具。2、版本1.2:同样是只有748~810kb/...
2018-05-07 21:17:30
3042
转载 蓝牙的工作原理
最近在整理蓝牙知识。先转一篇:https://blog.csdn.net/zhaoshuzhaoshu/article/details/388930111. 蓝牙通信的主与从蓝牙技术规定每一对设备之间进行蓝牙通讯时,必须一个为主角色,另一为从角色,才能进行通信,通信时,必须由主端进行查找,发起配对,建链成功后,双方 即可收发数据。理论上,一个蓝牙主端设备,可同时与7个蓝牙从端设备进行通讯。一个具备...
2018-05-07 20:56:23
33872
转载 Android深入浅出之Audio
Android深入浅出之Audio第一部分 AudioTrack分析一 目的本文的目的是通过从Audio系统来分析Android的代码,包括Android自定义的那套机制和一些常见类的使用,比如Thread,MemoryBase等。分析的流程是:l 先从API层对应的某个类开始,用户层先要有一个简单的使用流程。l 根据这个流程,一步步进入到JNI,服务层。在此过程中...
2018-04-25 20:46:35
588
转载 android volume设置 代码分析
转自:https://blog.csdn.net/shi_xin/article/details/38903749volume设置,跳过binder部分(binder请独立理解)没有采用深度优先的方法,容易绕来绕去,就不知道再看什么了。采用不断透调的方法讲解,一步一步从上层直逼底层,从整体上了解音量设置过程。透调中有点难度的调用最后讲解。
2018-04-20 20:57:54
1250
转载 Android AudioManager控制系统声音的流程
首先上层java调用XXXPlayerAudioManager audiomanage = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);audiomanager就是我们定义的控制系统声音的对象,(如果context报错,可将其改成XXXPlayer.this)audiomanager.
2018-04-20 20:31:39
856
转载 Android多用户之UserManagerService源码分析
感谢大牛分享,原文转自:https://blog.csdn.net/zhangyongfeiyong/article/details/77947206Android可以支持多个用户使用系统,通常第一个在系统中注册的用户将默认成为系统管理员。不同用户的设置各不相同,并且不同用户安装的应用及应用数据也不相同。但是系统中和硬件相关的设置则是共用的,如网络设置等。用户切换后前面用户运行的后台进程还可以继续...
2018-04-19 20:46:43
629
转载 Android 耳机事件传递流程
原文链接:https://blog.csdn.net/frakie_kwok/article/details/73729804感谢作者分享,转载仅供备忘。在项目中,遇到问题:插入不带麦耳机,状态栏显示仍然是带麦图标。 解决此问题涉及到耳机的拔插事件传递流程,在此分析一下Android系统,耳机拔插流程源码分析。Android系统的耳机目前可以实现拍照、暂停/播放、打电话等功能,这一切的基础是耳机拔...
2018-04-09 09:54:19
1879
原创 Android 7.0 写入ro.serialno小结
项目需要,需要写入ro.serialno属性。借鉴了网上的文档,现把这个知识点做个备忘小结。1.原理:ro.serialno是init从bootcmdline读取androidboot.serialno,设置成系统属性ro.boot.serialno和ro.serialno。bootcmdline是从mboot中android_image_get_kernel设置的。2.代码相关具体位置: a...
2018-04-02 19:44:55
7247
3
计算机网络第五版
2017-11-15
SingleTask与SingleInstance实例
2014-07-17
Android Binder
2013-11-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人