随笔分类 -  开源软件

3rd开源库、多媒体音视频及图像常用算法
摘要:本文属于 "Android局域网内的语音对讲项目" 系列, "《实时Android语音对讲系统架构》" 阐述了局域网内Android语音对讲功能的框架,本文在此基础上进行了优化,包括音频的录制、播放,通信方式,以及整体架构的改进。 本文主要包括以下内容: 1. 通过生产者 消费者模式保证数据链路的鲁 阅读全文
posted @ 2017-05-26 10:13 yhthu 阅读(1607) 评论(0) 推荐(0) 编辑
摘要:目前已经有不少Android客户端在使用Retrofit+RxJava实现网络请求了,相比于xUtils,Volley等网络访问框架,其具有网络访问效率高(基于OkHttp)、内存占用少、代码量小以及数据传输安全性高等特点。 Retrofit源码更是经典的设计模式教程,笔者已在之前的文章中分享过自己的一些体会,有兴趣的话可点击以下链接了解:《Retrofit源码设计模式解析(上)》、《Retro... 阅读全文
posted @ 2016-12-03 16:38 yhthu 阅读(4663) 评论(10) 推荐(1) 编辑
摘要:本文将接着《Retrofit源码设计模式解析(上)》,继续分享以下设计模式在Retrofit中的应用: 适配器模式 策略模式 观察者模式 单例模式 原型模式 享元模式 一、适配器模式 在上篇说明CallAdapter.Factory使用工厂模式时,提到CallAdapter本身采用了适配器模式。适配器模式将一个接口转换成客户端希望的另一个接口,使接口本不兼容的类可以一起工作。 Call接口是Re... 阅读全文
posted @ 2016-11-25 18:32 yhthu 阅读(1468) 评论(0) 推荐(0) 编辑
摘要:Retrofit通过注解的方法标记HTTP请求参数,支持常用HTTP方法,统一返回值解析,支持异步/同步的请求方式,将HTTP请求对象化,参数化。真正执行网络访问的是Okhttp,Okhttp支持HTTP&HTTP2,因此,使用Retrofit可以支持REST、HTTPS及SPDY。 行业内分析Retrofit的使用方法的文章已经比较丰富,这里不再赘述,如想了解这部分内容,请参考如下链接。 《用 ... 阅读全文
posted @ 2016-11-22 14:52 yhthu 阅读(3601) 评论(0) 推荐(2) 编辑
摘要:Autonomous intelligent vehicles have to finish the basic procedures: perceiving and modeling environment localizing and building maps planning paths and making decisions controlling the vehicles ... 阅读全文
posted @ 2016-05-23 09:10 yhthu 阅读(1217) 评论(1) 推荐(1) 编辑
摘要:首先申明下,本文为笔者学习《OpenGL ES应用开发实践指南(Android卷)》的笔记,涉及的代码均出自原书,如有需要,请到原书指定源码地址下载。 《OpenGL ES学习笔记(二)——平滑着色、自适应宽高及三维图像生成》中阐述的平滑着色、自适应宽高是为了实现在移动端模拟真实场景采用的方法,并且通过w分量增加了三维视角,在具体实现上采用了正交投影、透视投影的理论。本文将在此基础上... 阅读全文
posted @ 2016-02-01 09:07 yhthu 阅读(18809) 评论(0) 推荐(1) 编辑
摘要:首先申明下,本文为笔者学习《OpenGL ES应用开发实践指南(Android卷)》的笔记,涉及的代码均出自原书,如有需要,请到原书指定源码地址下载。 《Android学习笔记——OpenGL ES的基本用法、绘制流程与着色器编译》中实现了OpenGL ES的Android版HelloWorld,并且阐明了OpenGL ES的绘制流程,以及编译着色器的流程及注意事项。本文将从现实世界... 阅读全文
posted @ 2016-01-14 09:27 yhthu 阅读(8847) 评论(1) 推荐(2) 编辑
摘要:把图片缓存、手势及OOM三个主题放在一起,是因为在Android应用开发过程中,这三个问题经常是联系在一起的。首先,预览大图需要支持手势缩放,旋转,平移等操作;其次,图片在本地需要进行缓存,避免频繁访问网络;最后,图片(Bitmap)是Android中占用内存的大户,涉及高清大图等处理时,内存占用... 阅读全文
posted @ 2016-01-08 10:20 yhthu 阅读(4182) 评论(1) 推荐(2) 编辑
摘要:本文分享自己在视频录制播放过程中遇到的一些问题,主要包括: 视频录制流程 视频预览及SurfaceHolder 视频清晰度及文件大小 视频文件旋转 一、视频录制流程 以微信为例,其录制触发为按下(住)录制按钮,结束录制的触发条件为松开录制按钮或录制时间结束,其流程大概可以用下图来描述。 1.1、开始录制 根据上述流程及项目的编程惯例,可在onCreate()定义如下函... 阅读全文
posted @ 2015-12-30 16:03 yhthu 阅读(14632) 评论(5) 推荐(4) 编辑
摘要:首先声明下,本文为笔者学习《OpenGL ES应用开发实践指南(Android卷)》的笔记,涉及的代码均出自原书,如有需要,请到原书指定源码地址下载。 在Android、iOS等移动平台上,开发者可以使用跨平台应用编程接口创建二维或者三维图形,或进行图像处理和计算机视觉应用,结合两者将能构建丰富有趣的交互体验。前者称为OpenGL,后者称为OpenCV,不过本文主要介绍前者,Open... 阅读全文
posted @ 2015-12-30 11:01 yhthu 阅读(7031) 评论(0) 推荐(1) 编辑
摘要:Volley是由Google开源的、用于Android平台上的网络通信库。Volley通过优化Android的网络请求流程,形成了以Request-RequestQueue-Response为主线的网络访问链,使得Android网络访问变得简单、高效、扩展性强。(根据RTFSC原则,强烈建议Android的童鞋学习下Volley的架构设计)下面将以ImageLoader、ImageCa... 阅读全文
posted @ 2015-12-12 12:43 yhthu 阅读(1535) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示