- 博客(49)
- 收藏
- 关注
原创 Android面试小结
小弟不才从一个做ROM的公司裸辞,一心想扑倒互联网的怀抱,可是天不由人面了好久,很是惨烈,没有做APP的项目经验真的头大啊,也算是给自己一个成长的机会吧,希望自己能够如愿找到称心的工作,最近一直在听一首歌分享给大家《欢乐颂》,人生低潮的时候可以听,很鼓舞士气,哈哈哈哈哈哈哈好了,下面把自己面试一些总结写出来给大家参考,还有个人的一些答案,如有错误,请帮忙指正,感谢!关于四大组件:
2017-12-13 17:33:09
890
转载 android nfc中Ndef格式的读写
检测到标签后在Activity中的处理流程1. 在onCreate()中获取NfcAdapter对象;NfcAdapter nfcAdapter = NfcAdapter.getDefaultAdapter(this);2.在onNewIntent()中获取Tag对象或者NdefMessage信息;获取Tag对象:Tag tag = intent.getParcelableEx
2017-05-16 23:53:25
3849
转载 NFC在Android平台的架构与移植
NFC Architecture in Android SystemNFC在安卓系统中的架构如下,从上到下每一层都有涉及到,但是和移植Sensor等其他外围设备有所不同,他从上到下都是独立于整个系统框架之外的。就好似附在 Android 这颗参天大树上的一束藤蔓。下面是我们将其移植到 Android 系统需要在各个层级所添加的内容。 Porting Guide现在
2017-05-16 23:51:32
2502
转载 NFC的android实现
NFC简介:Near Field Communication 近场通信,是一种数据传输技术。与wifi、蓝牙、红外线等数据传输技术的一个主要差异就是有效距离一般不能超过4cm。NFC支持3种工作模式:1.读卡器模式;2.仿真卡模式;3.点对点模式;1.读卡器模式:通过NFC设备(支持NFC的Android手机)
2017-05-16 23:50:42
501
转载 Android nfc模块读写MifareClassic卡50
一般来说,基于MifareClassic的射频卡;1K:16个分区(sector),每个分区4个块;对于所有基于MifareClassic的卡来说,;KeyA:6bytes;AccessConditions:4bytesK;M1卡分为16个扇区,每个扇区由4块(块0、块1;块0块1;扇区0;块2块3块0块1;扇区1;块2块3;密码A存取控制密码B:::;块0一般来说,基于MifareCla
2017-05-16 23:48:01
952
转载 [NFC]NFC App开发
前面描述了NFC的Tag流程和P2P流程,从实用的角度来看,我们会在介绍一下Tag和P2P APP开发的流程的一些介绍。TAG APP开发介绍 为了清楚的描述问题,使用GITHUB上的开源项目NfcReader作为讲解对象,如果有兴趣的,可以下载到local研究一下。分析方法:1. 查看AndroidManifest.xml文件,查
2017-05-16 23:39:17
1475
转载 [NFC]P2P设备响应流程
前文[NFC]Tag设备响应流程中有提到P2P设备的发现的函数始于:onLlcpLinkActivated(). 本文将基于onLlcpLinkActivated()开始后文的分析,进而引出P2P流程中的SNEP,NDEFPUSH,HANDOVER以及ECHOSERVER的响应过程. 程序进入 onLlcpLinkActivate
2017-05-16 23:38:17
1175
转载 [NFC]Tag设备响应流程
接上部分的分析,当前系统已经进入到applyRouting()阶段,后续应该是需要一直去监听当前是否有NFC设备进入通讯范围。如果有适合的NFC设备,则底层会先进行沟通,并将消息通知给上层。进入NFC设备发现流程 下面从applyRouting()函数开始分析,可以参考系统注释:[java] view plain copy
2017-05-16 23:37:26
1895
转载 [NFC]NFC启动流程2
正式进入NFCService.Java,开始NFC framework探索, jiu~~~~ 接上篇文章内容,进入NfcService后,就开始启动各种Services,Hold on,一大波代码马上到来:[java] view plain copy print?{ mUse
2017-05-16 23:36:34
1504
转载 [NFC]NFC启动流程1
前面介绍过NFC相关的Spec后,从本章节开始,将进入Android AOSP NFC Frameworks部分的学习。 代码主要的路径存放在: Android5.0\packages\apps\Nfc 包含以下目录: Assets:含start.png etc:nfcee_acces
2017-05-16 23:35:17
594
转载 [NFC]NDEF和RTD协议介绍
依据前文中介绍SNEP中封装的是NEDF消息,而NDEF消息最终会用到RTD的格式进行封装,此文章会依序介绍NDEF和RTD的specification。 NDEF简介 NDEF(NFC data exchange format)是在LLCP链路被激活时使用到。 NDEF spec的主要目的有: - 封装
2017-05-16 23:34:26
1332
转载 [NFC]SNEP协议介绍
依照消息处理的流程,LLCP的消息会封装成SNEP,交由上层进行分析处理。此章节将重点介绍SNEP Spec中重要的部分。 1. SNEP简介 2. SNEP协议 SNEP简介 SNEP(SimpleNDEF Exchange Protocol)是通过request/respons
2017-05-16 23:33:54
3127
转载 [NFC]LLCP协议介绍
依照学习流程,此章节主要介绍NFCForum中LLCP Spec。主要是将LLCP spec中重要的内容摘要出来,包含的内容肯定不是很全面,但基本上看代码是够用了。主要分为三部分: 1.LLC概述 2.LLC协议 3.LLCP链路 1 LLC概述 LLC:(logicallink c
2017-05-16 23:33:09
3809
转载 移动支付之智能IC卡与Android手机进行NFC通信
本文来自http://blog.csdn.net/hellogv/ ,引用必须注明出处! 目前常见的智能IC卡运行着JavaCard虚拟机,智能IC卡上可以运行由精简后的Java语言编写的卡应用(简称Applet)。智能IC卡的Applet不能自己启动,必须由外部终端(例如POS机,地铁刷卡终端等)向卡片发送Select命令,由此选中卡片的Applet,Applet才能运行
2017-05-16 23:28:17
689
转载 Android nfc读卡模式流程
最近一个项目需要将Android的nfc接口底层通过串口对接到外围一个单片机上,而nfc设备是接在单片机上的,这就需要对Android的nfc框架进行梳理,确定与单片机对接的接口通讯;上网查找发现资料不少,本次分析主要参考了以下大神的博客,基本上已经是非常清楚了!按照自己的理解对相关部分进行整理!nfc的相关背景知识请参照此博客查阅即可:http://blog.csdn.NET/xuwen03
2017-05-16 23:26:25
7157
转载 android NFC开发
先说说NFC开发总结,看了几天NFC开发资料,搜集了不少关于这方面的资料、demo、以及他人的总结。以下有部分是摘录总结的。因为要是现在总结也是那些,最后附送代码。关于demo我也有,有需要在评论去发邮箱给我。一、NFC的配置总结第一:屏幕没有锁住 。 第二:NFC功能已经在设置中打开当系统检测到一个NFC标签的时候,他会自动去寻找最合适的activity去处理这个in
2017-05-16 23:25:31
931
原创 Android中基于Nuplayer的RTSP框架解析
一、整体框架图Android中基于NuPlayer的RTSP框架如下图所示(该图来自网上)。整个图主要分为两个部分,一部分是NuPlayer的架构,另一部分则是实现了基于RTSP的流媒体播放功能,即RTSPSource。当然还有一些其他的Source,如图中的HTTPLiveSource,还有图中没有画出的GenericSource、StreamingSou
2016-10-07 22:14:09
1539
转载 OMXCodec与OMX事件处理流程
OMXCodec.cpp类属于libstagefright,在整个MM PF 相当OMX的适配层,供awesomeplayer调用,而OMX.cpp,OMXNoteInstance.cpp等相当于OpenMax中的OpenMax IL,首先讲下OMXCodec与OMX callback事件的处理流程。先看整个流程的时序图吧: 从时序图看,首
2016-10-07 22:12:19
290
转载 用HTTP协议传输媒体文件 学习
用HTTP协议传输媒体文件 学习用HTTP协议传输媒体文件可以分两个阶段,第一个阶段是Progressive Download(渐进式下载方式)阶段,第二个阶段是HTTP streaming(HTTP流化)阶段。其中,第一个阶段可以看成第二个阶段的前身。Progressive Download 渐进式下载是一种顺序流式传输,它是一种简单的从HTTP WEB服务器进行文件下
2016-10-07 21:24:35
9622
转载 OpenCore框架概述(二)
OpenCore Player介绍:OpenCore的Player的编译文件是pvplayer/Android.mk,将生成动态库文件libopencoreplayer.so。这个库包含了两方面的内容:一方是Player的engine(引擎),一方面是为Android构件的Player,这实际上是一个适配器(adapter)。libopencoreplayer.so中包含了以下内容
2016-10-07 20:51:43
329
转载 OpenCore框架概述(一)
OpenCore是一个多媒体的框架,从宏观上来看,它主要包含了两大方面的内容:PVPlayer:提供媒体播放器的功能,完成各种音频(Audio)、视频(Video)流的回放(Playback)功能。PVAuthor:提供媒体流记录的功能,完成各种音频(Audio)、视频(Video)流的捕获(Recording)功能PVPlayer和PVAuthor以SDK的形式提供给开发者,可以在这个SDK之上
2016-10-07 20:51:00
718
转载 AwesomePlayer的准备工作
http://blog.csdn.net/myarrow/article/details/70675741. 前提条件本文以播放本地文件为例,且setDataSource时传入的是文件的url地址。在Java中,若要播放一个本地文件,其代码如下:MediaPlayer mp = new MediaPlayer();mp.setDataSource(PATH_TO_F
2016-10-07 19:55:33
279
转载 Android的MediaPlayer架构介绍
本文主要介绍的是Android中很重要也最为复杂的媒体播放器(MediaPlayer)部分的架构。对于Android这样一个完整又相对复杂的系统,一个MediaPlayer功能的实现不在其具体的功能,而是具体功能如何适应Android系统Android MediaPlayer的主要具体实现在OpenCore的Player中,这部分不是本文的关注点。本文关注的是MediaPlayer系统的架构,其他
2016-10-07 19:31:10
2071
转载 NuPlayer介绍
Android2.3时引入流媒体框架,而流媒体框架的核心是NuPlayer。Android4.0之后HttpLive和RTSP协议开始使用NuPlayer播放器,Android5.0(L版本)之后本地播放也开始使用NuPlayer播放器。 视频是如何播放的DataSource有两个概念:上面框图中的DataSourceInput(或者直接叫DataSource)指的是单纯的
2016-10-06 13:59:00
699
转载 RTSP 协议 简单交互过程
Real Time Streaming Protocol或者RTSP(实时流媒体协议),是由Real network 和 Netscape共同提出的如何有效地在IP网络上传输流媒体数据的应用层协议。RTSP提供一 种可扩展的框架,使能够提供可控制的,按需传输实时数据,比如音频和视频文件。源数据可以包括现场数据的反馈和存贮的文件。rtsp对流媒体提供了诸如暂停,快进等控制,而它本身并不传输数据,rt
2016-10-06 13:52:41
2047
转载 流式传输的实现途径
首先,多媒体数据必须进行预处理才能适合流式传输,这是因为目前的网络带宽对多媒体巨大的数据流量来说还显得远远不够。预处理主要包括两方面:一是降低质量;二是采用先进高效的压缩算法。 其次,流式传输的实现需要缓存。这是因为Internet以包传输为基础进行断续的异步传输,对一个实时A/V源或存储的A/V文件,在传输中它们要被分解为许多包,由于网络是动态变化的,各个包选择的路由可能不尽相同,故
2016-10-06 13:42:11
4446
转载 RTMP详解
转自:http://mingyangshang.github.io/2016/03/06/RTMP%E5%8D%8F%E8%AE%AE/RTMP协议是Real Time Message Protocol(实时信息传输协议)的缩写,它是由Adobe公司提出的一种应用层的协议,用来解决多媒体数据传输流的多路复用(Multiplexing)和分包(packetizing)的问题。随着VR技术的发
2016-10-06 01:23:10
879
转载 流媒体协议介绍(RTP/RTCP/RTSP/MMS/HLS/HTTP progressive streaming)
http://blog.csdn.net/tttyd/article/details/12032357 Android Supported Media Formats当前在internet上传送音频和视频等信息主要有两种方式:下载,完整下载一个视频,再去播放流式传输,如优酷、爱奇艺等视频网址(土豆,优酷网的视频传输方法)下面介绍的这些协议,都是流式传输RTP
2016-10-05 18:56:47
1535
转载 AHandler机制
AHandler机制Android APP开发中为了不阻塞UI线程,利用handler,把UI线程分开异步执行,使用handler去执行某项比较费时的操作,然后异步更新UI线程。这部分是用Java来实现的,和传统Java的线程机制很类似。流媒体(5.0中用的是NuPlayer)中也是类似的,因为联网,codec都很费时,需要异步执行。AHandler机制基于C++的实现,NuPlayer就
2016-10-04 12:33:45
408
转载 分析的rtsp流媒体的问题
前面几篇博文都是关于http协议的流媒体,这篇博客分享一篇分析的rtsp协议的流媒体的问题。问题北京:播放一个内网服务器上面的音频文件,拖动进度条,必现的会有so crash的现象查看log,crash的地方是:CHECK_LE(offset + payloadLength, buffer->size());这个宏没有满足导致。在分析
2016-10-03 17:47:33
364
转载 《如何在 Vitamio 中使用自己编译的 FFmpeg?》
Vitamio 3.0 实在 Android NDK r8b 环境下构造的, 因此建议你使用NDK r8b 构造你的制定 FFmpeg. 通过开发 者们的反馈, 如果用其他版本的 NDK 会有很多问题, 甚至崩溃.构造FFmpeg: 首先需要从我们的 GitHub(http://github.com/yixia/FFmpeg-Android)克隆一份 FFmpeg-Android
2016-10-03 17:23:02
299
转载 rtsp流媒体buffer填充的处理过程
NuPlayer流媒体播放器中从网络上取得的rtp包在解码和显示时所用buffer的填充和清空的机制,与stagefright框架播放本地视频时的处理流程类似。都是通过回调函数fillbuffer及emptybuffer来实现的。NuPlayer中的ACodec与Stagefright中的OMXCodec的作用相似。以下是rtsp流媒体中填充待解码的buffer,以及把解码后的buff
2016-10-03 16:46:40
924
原创 Android分层
Android的分4层,java应用程序,java框架,本地框架和java运行环境,Linux内核空间1.Java应用程序无需过多解释,基本可以理解为各个App,由Java语言实现。2.Java框架层就是常说的Framework,这层里东西很多也很复杂,比如说主要的一些系统服务如ActivityManagerService、PackageManagerService等,我们编写的Andro
2016-10-03 01:41:41
280
转载 Android Audio Overview
音乐播放器是手机中重要的娱乐应用,我们在开发播放器有可能用到mediaplayer,或者AudioTrack来播放音频文件,对应应用开发者来说,我们只要了解了暴露出来的API就可以了,但是光了解API还是不能全面的理解设计者的理念和思路,无法清楚音频如何选择什么的设备进行输出。下面我们本着探讨的目的来了解下audio的架构,完善我们对audio的了解。首先看下整个audio的框架结构。
2016-10-03 01:36:36
251
转载 OMXCodec与OMX事件处理流程
学习了解Mutilmedia Framework有一段时间了,今天闲下来稍微整理整理。OMXCodec.cpp类属于libstagefright,在整个MM PF 相当OMX的适配层,供awesomeplayer调用,而OMX.cpp,OMXNoteInstance.cpp等相当于OpenMax中的OpenMax IL,首先讲下OMXCodec与OMX callback事件的处理流程。先看整个流程
2016-10-03 01:33:56
266
转载 android多媒体框架之流媒体具体流程篇3----base on jellybean(十三)
上一篇我们讲到了从web server 中获取了sessiondescription,并解析出了media server的路径和一些基本的媒体信息。下面我们开始讲述如何跟mediaserver建立连接并控制服务器端和客户端以达到播放,暂停,停止的目的。首先跟media server建立连接 SETUP:具体的格式如下(UDP):C->A(audio): SETUPrtsp://au
2016-10-03 01:28:08
258
转载 android多媒体框架之流媒体具体流程篇2----base on jellybean(十二)
上篇我们讲了流媒体RTSP部分的setdataSource方法,prepare没有实质的东西,我们直接讲start方法, 这个方法是它的核心方法,比较复杂,我们先来看下整个start方法的时序图吧,让大家有个大概的了解: 跟踪下代码,看看start里面有什么名堂?NuPlayer.cppvoid NuPlayer::start() { (new AMessage
2016-10-03 01:27:13
228
转载 android多媒体框架之流媒体具体流程篇1----base on jellybean(十一)
构成nuplayer的过程,无非就是初始化一些状态,标志位,重要的是起了消息队列,也就是我们上篇写的AHandler消息机制:http://blog.csdn.net/tjy1985/article/details/8063484,我们也不多说了,直接进入setdataSource,先来个概图吧:setDataSource分三步来走:1:创建相应的消息2:根据URL创建对应
2016-10-03 01:26:01
210
转载 android多媒体框架之流媒体AHandler消息机制----base on jellybean(十)
为什么我们要谈论流媒体的消息机制呢?因为在流媒体中,类似于我们写APP的时候,为了不阻塞UI线程,我们把利用handler,把UI线程分开异步执行,使用handler去执行某项比较费时的操作,然后异步更新UI线程。流媒体中也是类似的,因为联网,codec都很费时,需要异步执行。handler是Java的实现机制,而我们下面要讲的AHandler就是基于C++的实现了。我们知道handler消息
2016-10-03 01:24:27
298
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人