自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(188)
  • 资源 (25)
  • 问答 (3)
  • 收藏
  • 关注

原创 Android 多媒体记录

2021-09-25 14:14:54 213 3

原创 Android 音频源码分析——音量调节流程

源码分析基于android9.0一、声音类型对于大多数手机用户来说,操作手机音量按键可以看到,声音类型分为四种:媒体、铃声、闹钟、通话,但是其系统内部则分为十几种类型。声⾳类型用来区分不同播放用途及播放设备,包含11中类型定义在 frameworks/base/media/java/android/media/AudioSystem.java中/** Used to identify the default audio stream volume */public static final in

2021-05-26 12:03:14 1503 9

原创 Android 音频源码分析——音频设备切换(插入耳机)

源码分析基于android9.0通常带线耳机分类模拟耳机平时常用的3.5mm或6.3mm接口耳机,接收模拟信号(音频数据需要先处理,转码成pcm格式)Android中模拟耳机由WiredAccessoryManager获取上报的事件,调用AudioService.setWiredDeviceConnectionState传递信息给AudioService,更新设备信息。数字耳机例如USB Type-c耳机,接收数字信号(音频数据不需要解码成pcm,由耳机进行转换)Android中由UsbAl

2021-05-24 22:25:37 2564 4

原创 荣耀机试题 2021.04 ~05

记录下最近面试的算法题题目记得不是特别清楚了,大致描述。一 2021.04.17荣耀机试1 数组排序题目描述:输入多个数字,按数字从小到大排序。输入描述多个个正整数,保证都在int范围内,用空格隔开输出描述10个数字,其从大到小的值,用空格隔开,最后一个数字后不加空格输入样例15 2 4 8 7 9 3输出样例2 3 4 7 8 9 152 蛇形字符串https://blog.csdn.net/qq_41291253/article/details/90474150题目

2021-05-07 21:24:45 8434 7

原创 Android MultiMedia框架——mediaserver启动

基于Andorid9.0源码一 mediaserver进程mediaserver进程由mediaserver.rc文件启动mediaserver.rc文件service media /system/bin/mediaserver class main user media group audio camera inet net_bt net_bt_admin net_bw_acct drmrpc mediadrm ioprio rt 4 writepid /d

2021-04-20 10:58:13 705

原创 Android 音频源码分析——Thread Track分析

基于Andorid9.0源码分析下AudioRecord、AudioTrack对应 audioserver中的关键类。一.ThreadBaseThreadBase,线程类对音频数据处理(混音、音效),从Hal层读数据、写数据分析AudioRecord和AudioTrack源码,发现有多种Thread,都继承ThreadBase。其结构如下图RecordThread:录音线程PlaybackThread:播放线程,包括多个子类,对应不同的播放模式;MixerThread:混音线程Du

2021-04-15 15:52:42 497

原创 Android 音频源码分析——AudioTrack设备选择

Android 音频源码分析——AndroidRecord录音(一)Android 音频源码分析——AndroidRecord录音(二)Android 音频源码分析——AndroidRecord音频数据传输流程Android 音频源码分析——audioserver启动Android 音频源码分析——AudioFlingerAndroid 音频源码分析——AudioTrack设备选择基于Andorid9.0源码以AudioTrack为例,梳理下输出设备选择流程。音频设备选择的影响因素:Au

2021-04-13 11:44:08 1826 5

原创 Android 音频源码分析——AudioFlinger

Android 音频源码分析——AndroidRecord录音(一)Android 音频源码分析——AndroidRecord录音(二)Android 音频源码分析——AndroidRecord音频数据传输流程Android 音频源码分析——audioserver启动Android 音频源码分析——AudioFlinger混音:把多种来源的声音,整合至一个立体音轨或单音轨中。AudioFlinger和AudioPolicyService是音频中的两大服务,这里先整理下AudioFlinger。

2021-04-07 18:46:57 1079 3

原创 Android MultiMedia框架——ALooper AHandler AMessage

Android MultiMedia框架——OMX服务启动Android MultiMedia框架——OMXPluginAndroid MultiMedia框架——MediaCodec编码(上)Android MultiMedia框架——MediaCodec编码(下)Android MultiMedia框架——ACodec加载OMXAndroid MultiMedia框架——ALooper AHandler AMessage基于Android 9.0源码分析在分析meidacodec fram

2021-03-28 18:33:11 416 1

原创 Android MultiMedia框架——ACodec加载OMX

Android MultiMedia框架——OMX服务启动Android MultiMedia框架——OMXPluginAndroid MultiMedia框架——MediaCodec编码(上)Android MultiMedia框架——MediaCodec编码(下)Android MultiMedia框架——ACodec加载OMX基于Android 9.0源码分析这篇主要分析一下ACodec状态机模式,及ACodec和OMX建立连接,进行交互1 状态机ACodec继承于状态机类AHiera

2021-03-27 21:35:20 942

原创 Android MultiMedia框架——MediaCodec编码(下)

这篇主要分析以下MeidaCodec获取可用输入buffer,buffer加入队列相关流程MediaCodec.cpp中相关数据结构List<size_t> mAvailPortBuffers[2];std::vector<BufferInfo> mPortBuffers[2];mAvailPortBuffers:可用buffer对应的index。mAvailPortBuffers[0]为输入,mAvailPortBuffers[1]为输出。mPortBuffers:所有

2021-03-26 16:16:05 667

原创 Android MultiMedia框架——MediaCodec编码(上)

基于Android 9.0源码分析分析MediaCodec编码流程,以OMX.google.aac.encoder编码器为例;MeidaCodec 使用方法可以参考之前的总结文档初始化MediaCodecpublic static MediaCodec createByCodecName(@NonNull String name) throws IOException { return new MediaCodec( name, false /* na

2021-03-21 15:25:53 905 1

原创 Android MultiMedia框架——OMXPlugin

上一篇OMX服务启动由提到OMXMaster 有添加两个Plugin,一个是SoftOMXPlugin,另一个是供应商实现的硬件Plugin,其父类是OMXPluginBase。OMXPluginBase路径:frameworks/native/headers/media_plugin/media/hardware/OMXPluginBase.hOMXPluginBase 主要包含四个虚拟方法。硬件厂商接入自己的编解码器,需要继承OMXPluginBase 类,并实现抽象方法。struct OMXP

2021-03-20 21:06:28 938 2

原创 Android MultiMedia框架——OMX服务启动

基于Android9.0 源码分析hw/android.hardware.media.omx@1.0-service和audioserver进程类似,也是通过init进程加载rc文件的方式,启动servicerc配置文件:frameworks/av/services/mediacodec/android.hardware.media.omx@1.0-service.rcservice vendor.media.omx /vendor/bin/hw/android.hardware.media.omx@

2021-03-20 14:32:42 3002 2

原创 Android 多媒体——MediaCodec编码AAC

MeidaCodec 官方地址:https://developer.android.google.cn/reference/android/media/MediaCodec通过AudioRecord录制的音频数据(pcm格式),占用空间较大,消耗内容,更不适合用户网络传输。而AAC是比较通用的压缩格式,这里整理下MeidaCodec编码AAC。1. MediaCodec MediaCodec类用于访问编码器、解码器组件。它是多媒体架构的一部分(通常与一起使用MediaExtractor,MediaSy

2021-03-17 21:08:20 880

原创 Android 音频源码分析——aduio_policy_configuration.xml

aduio_policy_configuration.xml内容分为三大模块:全局配置;modules模块;volume section;1. globalConfiguration<globalConfiguration speaker_drc_enabled="true"/>speaker_drc_enabled值为ture时:在DEVICE_CATEGORY_SPEAKER路径上使用DRC增强柔和声音的设备,用于相应地调整音量曲线。2. modules模块module

2021-03-15 18:32:35 676

原创 Android 音频源码分析——audioserver启动

该源码分析基于android9.0 Android音频系统中,有两大service:AudioFlinger和AudioPolicy,这两个服务都运行在audioservr进程中。这里来整理以下audioserver启动流程。一、 加载audioserver.rcAndroid系统启动:加载引导程序-》引导程序-》Linux内核启动-》启动init进程-》zygote进程-》SystemServer-》Launcher。init进程对应main函数system/core/init/init.cpp

2021-03-13 21:50:01 3466 8

原创 Android 音频开发——AudioTrack播放

 AudioTrack类用来管理、播放单个音频资源,它只能播放PCM数据,其他音频格式(aac、amr、opus、flac等)需要经过解码成PCM才能使用。运行模式AudioTrack可以运行两种模式:流模式静态模式流模式 可以将连续的数据流写入AudioTrack,进行播放。播放音频数据块时,这种模式最有用。如:声音持续的时间太长,无法容纳在内存中;由于音频数据的特性(太大的采样率,每个采样的比特数…)而太大而无法容纳在内存中;在播放先前排队的音频时收到或生成的声音。静态模式

2021-03-12 22:54:39 3245 13

原创 音频——从入门到放弃

 声音 是由物体振动产生的声波,通过介质(空气或固体、液体)传播并能被人或动物听觉器官所感知的波动现象。最初发出振动(震动)的物体叫声源。声音以波的形式振动(震动)传播。声音是声波通过任何介质传播形成的运动。​ 人的耳朵可以听到20 ~ 20000HZ的声音,最敏感的是200~800HZ之间的声音。声音在不同介质中传播速度一般是固体>液体>气体,声的传播速度与介质的种类和介质的温度有关。1 声音特性响度(loudness):俗称音量,主观上感觉声音的大小,由“振幅” 和人离声源的距离决定

2021-03-12 09:45:10 279

原创 音频编码格式——AAC简介

AAC (Advanced Audio Coding),高级音频编码。基于1997年,目的是为了取代MP3格式。优点:相较于mp3,AAC格式的音质更佳,文件更小。缺点:AAC属于有损压缩的格式,与时下流行的APE、FLAC等无损格式相比音质存在“本质上”的差距。加之,传输速度更快的USB3.0和16G以上大容量MP3正在加速普及,也使得AAC头上“小巧”的光环不复存在。AAC规格常见的AAC规格:LC-AAC(最基本的)HE-AAC(AACPlus v1)HE-AAC v2(AACPl

2021-03-08 22:14:42 8240

原创 Android 音频开发——AudioRecord录音

Android 音频——PCM转WAV AudioRecord类管理Java应用程序的音频资源,以录制音频数据。 这一篇文章主要记录下AudioRecord使用方法,通过AudioRecord录制音频数据,并封装成WAV格式数据。使⽤AudioRecord的录音流程,分为以下⼏步获取 创建AudioRecord 所需的buffer size 大小;创建AudioRecord调⽤AudioRecord.startRecording开始录音。读取录制的音频数据AudioRecord.read(d

2021-03-08 15:59:28 1125 2

原创 Android 音频源码分析——AndroidRecord音频数据传输流程

Android 音频源码分析——AndroidRecord录音(一)Android 音频源码分析——AndroidRecord录音(二)这篇主要分析一下AudioRecord录音过程中的 数据传输流程。流程图:部分数据传输的流程已在前两篇文章中分析了。这里主要分析一下:AudioFlinger 从Hal 读取数据。AudioRecord从AudioFlinger获取数据。AudioFlingerAudioFlinger服务通过RecordThread读取数据。直接来看RecordT

2021-03-05 22:10:12 1646 2

原创 排序算法——计数排序

 计数排序是一种非基于比较的排序算法。 基本思想:对于给定序列,找出其中的最大值和最小值,对于给定的输入序列中的每一个元素,确定该序列中值等于x的元素的个数(此处并非比较各元素的大小,而是通过对元素值的计数和计数值的累加来确定)。通过这些信息可以确定 最小值~最大值范围内各个元素的 个数,从而可以正确放到指定位置。1 算法步骤确定序列中的最大值max和最小值min;创建数组countAry,长度为(max - min + 1);统计原序列中每个值为i的元素出现的次数,存入数组countAry的第

2021-03-02 21:00:35 127

原创 Android 音频源码分析——AndroidRecord录音(二)

接着上一篇继续分析AndroidRecord 源码1 AudioRecord.readAudioRecord read 函数有多个。audioData格式不同.readMode READ_BLOCKING阻塞读数据, READ_NON_BLOCKING 非阻塞读,立刻返回。public int read(@NonNull byte[] audioData, int offsetInBytes, int sizeInBytes)public int read(@NonNull byte[] a

2021-03-01 22:45:00 1072 2

原创 Android 音频架构

Android 音频架构定义了音频功能的实现方式,并指出实现中所涉及的相关源代码。应用框架应用框架包含应用代码,该代码可使用 android.media API 与音频硬件进行交互。在内部,此代码会调用相应的 JNI 粘合类,以访问与音频硬件交互的原生代码。源代码目录:frameworks/base/media/java/android/media/JNI与 android.media 关联的 JNI 代码可调用较低级别的原生代码,以访问音频硬件。JNI 位于 frameworks/base/

2021-03-01 22:29:03 1071 4

原创 排序算法——快速排序

快速排序(Quicksort)是对冒泡排序算法的一种改进。 基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。1 算法步骤从数列中挑出一个元素,称为 “基准”(pivot);重新排序数列,所有元素比基准值小的摆放在基准前面,所有元素比基准值大的摆在基准的后面(相同的数可以到任一边)。在这个分区退出之后,该基准就处于数列的中间位置。这个称为

2021-03-01 21:57:23 94 5

原创 Android架构——旧版 HAL

HAL 可定义一个标准接口以供硬件供应商实现,这可让 Android 忽略较低级别的驱动程序实现。借助 HAL,您可以顺利实现相关功能,而不会影响或更改更高级别的系统。本页面介绍了自 Android 8.0 开始已不再支持的旧版架构。对于 Android 8.0 及更高版本,请参阅 HAL 类型。您必须为您的产品所提供的特定硬件实现相应的 HAL(和驱动程序)。HAL 实现通常会内置在共享库模块(.so 文件)中,但 Android 并未规定 HAL 实现与设备驱动程序之间交互的标准方式,因此您可以视情

2021-03-01 15:47:06 344

转载 Android 架构

架构Android 系统架构包含以下组件:应用框架。应用框架最常被应用开发者使用。作为硬件开发者,您应该非常了解开发者 API,因为很多此类 API 都可以直接映射到底层 HAL 接口,并可提供与实现驱动程序相关的实用信息。Binder IPC。Binder 进程间通信 (IPC) 机制允许应用框架跨越进程边界并调用 Android 系统服务代码,这使得高级框架 API 能与 Android 系统服务进行交互。在应用框架级别,开发者无法看到此类通信的过程,但一切似乎都在“按部就班地运行”。系统服

2021-02-28 22:47:14 163

原创 Android 音频源码分析——AndroidRecord录音(一)

Android 源码版本:9.0java代码路径:frameworks/base/media/java/android/media/jni代码路径:frameworks/base/core/jni/C++代码路径:frameworks/av/media/libaudioclient/1.主要函数主要函数//静态方法AudioRecord.getMinBufferSize(sampleRate, channel, audioFormat)2.getMinBufferSizeAudioRe

2021-02-27 21:36:50 3718 9

原创 排序算法——希尔排序

希尔排序(Shell’s sort),又称为“缩小增量排序”,是插入排序的一种改进版本。希尔排序是基于插入排序的以下两点性质而提出改进方法的:插入排序在对几乎已经排好序的数据操作时,效率高,即可以达到线性排序的效率。但插入排序一般来说是低效的,因为插入排序每次只能将数据移动一位。1 算法步骤选择增量序列(这里我们使用希尔增量),{n/2, (n/2)/2, ((n/2)/2)/2,… 1} 其中n为数组长度;先取增量 n/2,把数组分组,所有距离为n/2的倍数的数,为同一组,组内进行直

2021-02-27 11:02:25 145

原创 排序算法——插入排序

插入排序,也称为直接插入排序,其排序思想和我们平时打扑克牌时排序类似。1 算法步骤将第一个元素看作已排序序列,第二个到最后一个看作未排序序列。第二个元素,与之前已排序号的序列进行对比,插入正确的位置(如果待插入的元素与有序序列中的某个元素相等,则将待插入元素插入到相等元素的后面。)循环处理剩下的未排序序列。效果图:2 复杂度当待排序数组是有序时,是最优的情况,只需当前数跟前一个数比较一下就可以了,这时一共需要比较N- 1次,最优时间复杂度为 O(n)O(n)O(n)最坏的情况是待排序数组

2021-02-26 21:48:38 49

原创 排序算法——选择排序

选择排序(Selection sort)是一种简单直观的排序算法。1 算法步骤首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置(或者末尾)。再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。重复第二步,直到所有元素均排序完毕。效果如下:2 复杂度选择排序的时间复杂度是固定的,最好最坏情况都是如此。 O(n2)O(n^2)O(n2)空间复杂度为O(1)O(1)O(1)选择排序比冒泡排序交换数据次数少很多,所以总体来说要快一些。3 稳定性选择排序是不

2021-02-24 13:43:34 86

原创 排序算法——冒泡排序

总结一下之前学习的排序算法,避免遗忘。简介冒泡排序(Bubble sort),是一种简单的排序算法。它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、首字母从Z到A)错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素列已经排序完成。算法步骤比较相邻的元素。如果第一个比第二个大,就交换他们两个。对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。针对所有的元素重复以上的步骤,除了最后一

2021-02-23 15:36:05 11235 4

原创 Android 音频——PCM转WAV

AudioRecord 录制音频PCM 数据转WAVPCM 简介PCM(Puls Code Modulation)脉冲编码调制是数字通信的编码方式之一。主要过程是将话音、图像等模拟信号每隔一定时间进行取样,使其离散化,同时将抽样值按分层单位四舍五入取整量化,同时将抽样值按一组二进制码来表示抽样脉冲的幅值。PCM录音就是将声音的模拟信号表示成0,1标识的数字信号,未经任何编码和压缩处理,所以可以认为PCM是未经压缩的音频原始格式。PCM格式文件中不包含头部信息,播放器无法知道采样率,声道数,采样位数,音频

2021-02-22 20:47:00 630 1

原创 Android 8.0 、9.0源码编译问题记录

记录日常问题1 替换framework.jar不起作用第一种方法:不编译优化成odex第二种方法:不删除dex文件。功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图...

2020-05-05 17:42:27 1232

转载 git push 报错:missing Change-Id in commit message footer(转载)

转载自:https://www.cnblogs.com/zndxall/p/9603834.htmlgit push 报错:missing Change-Id in commit message footer使用gerrit后,提交代码会出现如下截图问题:临时解决:step1:把上面红色的那条gitidir复制下来执行下:step2:执行下面的命令会添加change_idgit c...

2020-04-26 14:22:51 360

原创 Android UVCCamera问题——Cause: null pointer dereference

记录遇到的问题。采用的开源库链接:https://github.com/saki4510t/UVCCamera使用该库预览的时候,如果拔掉uvc设备,会造成异常闪退。signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x0Cause: null pointer dereference r0 00000000 r1 e4a9b...

2019-08-28 11:13:36 10148 4

原创 Android webrtc 源码编译

编译最近的代码1 环境准备ubuntu 16.04(最好是这个版本以上)安装depot tools: 国外:git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git 国内:git clone https://source.codeaurora.org/quic/lc/chromium/tools/...

2019-04-04 13:58:59 2543

原创 Android WiFi直连 双向通信

本文主要说一下,Android通过WIFi直连的方式实现图片双向传输(图片可以传输,也可以把它修改下传输聊天信息了)。WiFi直连概述WiFi直连也就是WiFi设备点对点连接(WiFi P2P),它允许具有适当硬件的Android 4.0(API级别14)或更高版本的设备通过Wi-Fi直接相互连接,而无需中间接入点。使用这些API,您可以发现并连接到其他设备(前提是每个设备支持Wi-F...

2018-09-02 16:32:51 10601 1

原创 Unable to start service Intent U=0: not found

记录平常遇见的问题Unable to start service Intent { act=com.py.wifidirect.SEND_FILE cmp=com.py.wifidirect/.FileTransferService (has extras) } U=0: not found启动Service的代码如下:Intent serviceIntent = new Int...

2018-08-31 17:46:01 10663 1

ijkplayer 编译好的so

详情看 http://blog.csdn.net/vnanyesheshou/article/details/53814951

2018-02-27

SharedPreferences简单demo

SharedPreferences简单demo,存储数据、获取数据、监听数据变化。 详情参考:http://blog.csdn.net/vnanyesheshou/article/details/73777334

2017-06-27

iOS XML JSON解析

iOS JSON XML 解析实例 e,详情见:http://blog.csdn.net/vnanyesheshou/article/details/52484367 http://blog.csdn.net/vnanyesheshou/article/details/52505430

2016-09-14

NSURLConnection使用demo

网络请求,NSURLConnection的使用方法及中文处理等。详情:http://blog.csdn.net/vnanyesheshou/article/details/52467639

2016-09-09

iOS 国际化代码

iOS国际化demo,包括字符串、应用名称、图片、界面文件国际化。

2016-09-01

sharesdk iOS 微信分享

iOS 集成ShareSDK实现微信分享,分享图片,本地文件视频等,自定义分享菜单栏,自定义编辑界面,详情请见博客 http://blog.csdn.net/vnanyesheshou/article/details/51105578 。

2016-04-12

Xcode 9.3 配置包

Xcode iOS9.3 配置包 could not find developer disk image

2016-04-12

Xcode 9.3 陪着包

Xcode iOS9.3 配置包 could not find developer disk image

2016-04-12

UITableView 示例代码下载

UITableView示例代码,分组样式和不分组样式,代码创建和storyboard创建。

2015-12-26

iOS获取经纬度,和位置信息。

iOS demo获取经纬度和位置信息及城市名。以及iOS8获取不成功的问题解决。

2015-12-02

传智播客IOS开发代码 教程 ppt word

传智播客IOS开发零基础教程源代码和PPT 。

2015-11-25

java核心技术卷1 基础知识

java核心技术卷一,知识点非常全面。java运算符,运行环境,对象与类,继承,接口与内部类,图形设计,事件处理,swing和applet,异常、日志、调试,泛型的等。

2015-10-20

C语言资料 有几十个G 放在百度云盘了

谭浩强老师C语言教程程序设计-小甲鱼系列视频教程2.7GB 谭浩强版C语言程序设计视频教程 曾怡主讲 郝斌老师-C语言视频教程(全180讲) C语言算法 郁金香2013网络授课从零开始学编程(C语言详解) [ 115课程全 ] C语言程序设计 吉林大学 51课 6CD等等。。。。

2015-10-13

java基础ppt--传智播客的内容

java基础的ppt——传智播客的资源:java前奏、面向对象、异常、常用类、线程、集合、文件、IO、socket等内容

2015-10-12

linux内核修炼之道 精华版之方法论

内容包括:Linux的18年成长史,Linux的18年成长史,学习内核需要的基础,系统的初始化,系统调用,进程的内核抽象,以及进程如何被创建和销毁,内核的中断处理机制,进程的调度,内存管理等。

2015-10-12

android技术内幕.系统卷

android技术内幕系统卷,内容包括:android内核机制、Binder、电源管理、驱动的工作原理、原声库的原理、硬件抽象层的原理、Davlik虚拟机的构架和android核心库。

2015-09-30

android系列的一些文档

android系统的一些pdf:android系统概述、android系统开发综述、androidlinux内核和驱动、虚拟机、Gui、audio系统、video、多媒体、电话、传感器、连接部分。

2015-09-30

android开发入门与实战

android开发入门与实战,即讲了android的基础知识,也有项目例子:地图开发、豆瓣网、音乐播放器、android信息查看助手。

2015-09-30

android应用框架原理与程序设计

android应用框架原理与程序设计,比较早的书,可能有点过时了,不过还可以看看。

2015-09-30

深入理解Android构架设计

深入理解android构架设计,内容丰富:android应用程序基础、android系统启动、系统service、service Manager、Audio Manager、Media Player等。

2015-09-30

深入理解Android-卷1邓凡平

Android系统书籍:内容有jni、init、zygote、binder、audio系统、surface系统等。

2015-09-30

系统架构设计师教程

系统架构设计师教程:包含的内容计算机与网络基础、信息系统、系统开发、软件架构设计等

2015-09-30

设计模式之禅

java设计模式书籍:挺好的,知识挺全面详细。值得好好看看

2015-09-30

设计模式:java语言中的应用

java设计模式书籍:内容很详细,UML、适配器、工厂模式、单例模式

2015-09-29

java多线程设计模式

java学习书籍:java多线程设计模式,很好的学习资料

2015-09-29

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

TA关注的人

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