摘要:一、FFmpeg 学习材料 1. 官方API文档 FFmpeg Documentation:http://www.ffmpeg.org/doxygen/trunk/index.html 2. 优秀开源项目 a). FFmpeg_Tutorial : https://github.com/yinwen 阅读全文
posted @ 2019-02-21 17:02 灰色飘零 阅读 (892) 评论 (0) 编辑
摘要:Android 音视频开发这块目前的确没有比较系统的教程或者书籍,网上的博客文章也都是比较零散的。只能通过一点点的学习和积累把这块的知识串联积累起来。 初级入门篇: Android 音视频开发(一) : 通过三种方式绘制图片 Android 音视频开发(二):使用 AudioRecord 采集音频P 阅读全文
posted @ 2017-08-30 13:02 灰色飘零 阅读 (21572) 评论 (3) 编辑
摘要:下面这些资源对Android开发来说是很有帮助的! 1. 在线编程书籍/教程集合 Android 官方网站 说明:Android 官方网站,Android 程序员必备,里面的内容100%靠谱,且有很多新东西和使用Guide,对英语的阅读能力要求有点高,需要上外网! 地址:http://develop 阅读全文
posted @ 2017-03-17 17:42 灰色飘零 阅读 (762) 评论 (0) 编辑
摘要:如果在 View 中持有的资源,我们可以监听的 onAttachedToWindow ,onDetachedFromWindow 来进行控制。那么onAttachedToWindow和onDetachedFromWindow在RecyclerView中还适用吗?在RecyclerView中,Item 阅读全文
posted @ 2020-03-28 14:12 灰色飘零 阅读 (6) 评论 (0) 编辑
摘要:今天很多小伙伴都在说Github无法访问,我们除了购买VPN之外,我们还能通过下面这个方案临时解决当下无法访问Github的问题。 解决步骤如下: 一、手动查询Github的DNS 我们可以打开这个地址:http://tool.chinaz.com/dns?type=1&host=github.co 阅读全文
posted @ 2020-03-27 10:57 灰色飘零 阅读 (77) 评论 (2) 编辑
摘要:问题现象 为了防止在app启动时出现黑屏或者白屏问题。需要选择冷启动处理。实现方式如下: 在styles文件中添加自定义主题: <style name="ThemeSplash" parent="Theme.AppCompat.Light.NoActionBar"> <item name="andr 阅读全文
posted @ 2020-03-26 12:56 灰色飘零 阅读 (74) 评论 (0) 编辑
摘要:一、Android View相关问题 1. Android View的绘制流程? 第一步:复写onMeasure方法。先measureChild方法 测量出所有子控件的moMeasure。 //1,测量自身 super.onMeasure(widthMeasureSpec, heightMeasur 阅读全文
posted @ 2020-03-22 09:18 灰色飘零 阅读 (12) 评论 (0) 编辑
摘要:通过Charles代理,我们能很轻易的抓取手机的Http请求,因为Http属于明文传输,所以我们能直接获取到我们要抓取的内容。但是Https内容本身就是加密的,这时我们会发现内容是加密的了。本文我们来讲述一下如何使用Charles抓取Https数据包及相关原理知识。 一、Https客户端和服务器端通 阅读全文
posted @ 2020-02-16 21:33 灰色飘零 阅读 (76) 评论 (0) 编辑
摘要:Android提供了一个MediaExtractor类,可以用来分离容器中的视频track和音频track,下面的例子展示了使用MediaExtractor和MediaMuxer来实现视频的换音: private void muxingAudioAndVideo() throws IOExcepti 阅读全文
posted @ 2020-02-09 21:00 灰色飘零 阅读 (162) 评论 (0) 编辑
摘要:一、名词解析 PCM(Pulse Code Modulation)也被称为脉码编码调制,PCM中的声音数据没有被压缩,它是由模拟信号经过采样、量化、编码转换成的标准的数字音频数据。采样转换方式参考下图进行了解: 音频采样包含以下几大要素: 1. 采样率 采样率表示音频信号每秒的数字快照数。该速率决定 阅读全文
posted @ 2020-01-04 14:01 灰色飘零 阅读 (115) 评论 (0) 编辑
摘要:一、责任链模式 责任链模式是一种行为模式,为请求创建一个接收者的对象链.这样就避免,一个请求链接多个接收者的情况.进行外部解耦.类似于单向链表结构。 优点: 1. 降低耦合度。它将请求的发送者和接收者解耦。 2. 简化了对象。使得对象不需要知道链的结构。 3. 增强给对象指派职责的灵活性。通过改变链 阅读全文
posted @ 2020-01-02 20:20 灰色飘零 阅读 (145) 评论 (0) 编辑
摘要:一、Word、Excel、PPT 展示 1. 微软Office公开Api接口 如果文档内容不是很机密或者只是需要实现预览文档的话,可以考虑使用微软的公共Api接口实现。 微软Office公开Api地址为:https://view.officeapps.live.com/op/view.aspx? 在 阅读全文
posted @ 2019-12-11 22:17 灰色飘零 阅读 (142) 评论 (0) 编辑
摘要:本来之前觉得Android项目优化系列的文章基本整理完毕了,但是近期看了一下《阿里Android开发手册》有了很多收获,想再整理一篇,下面就开始吧。 先在这里列一下之前整理的文章及链接: Android 项目优化(一):项目代码规范优化 Android 项目优化(二):启动页面优化 Android 阅读全文
posted @ 2019-12-04 19:20 灰色飘零 阅读 (229) 评论 (0) 编辑
摘要:需求: 近段时间正好有一个需求,是要实现Gif图只加载播放一次,并且要在Gif播放完毕后回调给系统的需求。 因为Glide 3系列的API与4系列还是有很大差距的,这里我们针对Glide 3.x和Glide 4.x的分别进行实现方案的说明。 解决方案: 在Glide3.x的解决方案: Glide.w 阅读全文
posted @ 2019-12-01 07:52 灰色飘零 阅读 (266) 评论 (0) 编辑
摘要:在经过上面铺垫后,我们可以尝试整体实现一下插件化了。这里我们先介绍一下最简单的实现插件化的方案。 一、最简单的插件化实现方案 最简单的插件化实现方案,对四大组件都是适用的,技术面涉及如下: 1). 合并所有插件的Dex,来解决插件的类的加载问题。 2). 预先在宿主的AndroidManifest. 阅读全文
posted @ 2019-11-28 14:16 灰色飘零 阅读 (461) 评论 (0) 编辑
摘要:在前面的文章中我们成功的加载了外部的Dex(Apk)并执行了插件的Bean代码。这时我们会想,能不能加载并运行插件Apk的Activity。答案当然是能,否则后续我们的研究就没意义了,但是想实现Activity的插件化运行,我们必须要解决一个问题——如何使用插件中的资源。 本文我们就讲一下插件的资源 阅读全文
posted @ 2019-11-25 17:28 灰色飘零 阅读 (209) 评论 (0) 编辑
摘要:在学习Java反射的技术后,我们可以开始更深一步的探究插件化开发了。首先先讲一下Android App的打包流程,然后我们通过一个简单的例子 —— 实现插件化加载外部Dex来完成初级的插件化开发的探索。 一、Android App 打包流程 1. 打包资源文件,生成R.java文件 打包资源的工具是 阅读全文
posted @ 2019-11-21 14:10 灰色飘零 阅读 (173) 评论 (0) 编辑
摘要:写在前面:学习插件化开发推荐书籍《Android 插件化开发指南》,本系列博客所整理知识部分内容出自此书。 在之前的项目架构的博文中,我们提到了项目插件化架构,提到插件化架构不得不提的到Java中最强大的技术 —— Java 反射技术,反射技术基本是贯穿整个插件化最核心的基础技术,下图是本人整理的插 阅读全文
posted @ 2019-11-18 15:31 灰色飘零 阅读 (178) 评论 (0) 编辑