自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 收藏
  • 关注

原创 开发直播的正常流程

1.采集视频、音频*1.1 采集视频、音频编码框架 **1.2 视频、音频硬件设备 *· CCD :图像传感器:用于图像采集和处理的过程,把图像转换成电信号。· 拾音器 :声音传感器:用于声音采集和处理的过程,把声音转换成电信号。· 音频采样数据 :一般都是PCM格式· 视频采样数据 :一般都是 YUV ,或RGB 格式,采集到的原始音视频的体积是非常大的,

2017-06-19 15:03:35 4557

转载 闲谈Android中的@和?符号的引用区别

在 Android 项目开发中,我们经常会用 “@” 或者 “?” 符号去引用系统或者我们应用内添加的资源,这两种符号的引用有什么区别呢,“?attr/” 与 “?android:attr/” 之间又有怎样的不同呢?本文我们不妨闲聊一下。“@” 与 “?” 符号的引用在使用时都有一个规范的格式:"@[+][package:]type:name","?[package:][type:]name"

2017-05-17 12:12:56 996

转载 Android 根据sql文件创建数据库并插入数据

因为在开发客户端的时候,服务器端的有写数据是重复的,不需要再去访问服务器的,然后服务器端提供的是一个sql文件,里面包含了数据库和数据,我们这些开发客户端的不可能一行一行的进行手动入库吧?所以我就想到了直接读取sql文件进行创建数据并插入数据好了。创建DBHelp并继承SQLiteOpenHelper?12345678910

2017-05-05 10:07:23 4459

转载 android夜间模式的实现

注:急速开发的人,可以直接看第三种实现方式1:修改theme,重启activity(Google自家在内的很多应用都是采用此种方式实现夜间模式的)优点:正儿八经的夜间模式,配色看着舒服 缺点:规模较大的应用,需要随theme变化的属性会很多,都需要逐一定义,有点麻烦,另外一个缺点是要使得新theme生效,一般需要restartActivity来切换UI,会导致切换主题时

2017-05-02 10:11:19 420

原创 Android 传感器用法

Android中常见的八种传感器:       加速度传感器(accelerometer)       陀螺仪传感器(gyroscope)       环境光照传感器(light)       磁力传感器(magnetic field)       方向传感器(orientation)       压力传感器(pressure)       距离传感器(proximit

2017-05-02 10:09:22 439

转载 Android音视频点/直播模块开发实践总结

一. 音视频的基础知识1.1 基本概念视频是什么静止的画面叫图像(picture)。连续的图像变化每秒超过24帧(frame)画面以上时,根椐视觉暂留原理,人眼无法辨别每付单独的静态画面,看上去是平滑连续的视觉效果。这样的连续画面叫视频。当连续图像变化每秒低于24帧画面时,人眼有不连续的感觉叫动画(cartoon)。流媒体采用流式传输的方式在Internet / Intrane

2017-04-21 11:59:11 528

转载 Https的交互流程

先理解几个概念对称加密:密钥只有一个,加密解密为同一个密码,且加解密速度快,典型的对称加密算法有DES、AES等,示意图如下:非对称加密:密钥成对出现(且根据公钥无法推知私钥,根据私钥也无法推知公钥),加密解密使用不同密钥(公钥加密需要私钥解密,私钥加密需要公钥解密),相对对称加密速度较慢,典型的非对称加密算法有RSA、DSA等,示意图如下:HTTPS 服务端和客户端交互流程

2017-04-18 18:58:52 6864

原创 MVC、MVP及MVVM的比较

首先,我要先给大家介绍一下这三种模式:           MVC模式:MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写。MVC开始是存在于桌面程序中的,M是指业务模型,V是指用户界面,C则是控制器,使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式。           MV

2017-04-10 20:03:54 284

转载 Android弹幕功能实现,模仿斗鱼直播的弹幕效果

如今直播行业确实是非常火爆啊,大大小小的公司都要涉足一下直播的领域,用斗鱼的话来讲,现在就是千播之战。而弹幕则无疑是直播功能当中最为重要的一个功能之一,那么今天,我就带着大家一起来实现一个简单的Android端弹幕效果。分析首先我们来看一下斗鱼上的弹幕效果,如下图所示:这是一个Dota2游戏直播的界面,我们可以看到,在游戏界面的上方有很多的弹幕,看直播的观众们就是在这里进行讨论

2017-04-01 10:55:17 306

转载 Socket 与 Http区别 优缺点及应用场景

Socket实现服务器与客户端之间的物理连接,并进行数据传输。主要有TCP/UDP两个协议。Socket处于网络协议的传输层。TCP:传输控制协议,面向连接的的协议,稳定可靠。当客户和服务器彼此交换数据前,必须先在双方之间建立一个TCP连接,之后才能传输数据。UDP:广播式数据传输,UDP不提供可靠性,它只是把应用程序传给IP层的数据报发送出去,但是并不能保证它们能到达目的

2017-03-31 16:46:59 4355

原创 Android网络编程-断点续传下载文件

HTTP协议,我想上过计算机网络课程的童鞋肯定不陌生,但是谁又能说自己能把它实际运用上了,只有在实际项目开发的时候才会用到。Http算是Android网络中最常用到的网络协议了,客户端通过http通信与服务器进行数据交互,GET方法和POST方法想必是再熟悉不过了,本篇博客介绍一个比较实用的技术,断点续传下载,光看这个名字就感觉挺高大上,确实是,想实现它需要对http协议有一定的了解,并且对多线程

2017-03-30 20:15:52 504

原创 如何将小视频制作成动态图片

制作动态图片:        1.首先我们要先准备一个视频,并记住视频的总时长。        2.打开 http://ezgif.com/ 如图所示:                3.点击 Video to GIF,进入如下页面:       4.点击浏览,并选择视频的路径,然后点击Upload        5.对图片进

2017-03-29 19:48:32 13938 2

原创 OSI网络中的七层模型与TCP/IP的四层模型

网络协议设计者不应当设计一个单一、巨大的协议来为所有形式的通信规定完整的细节,而应把通信问题划分成多个小问题,然后为每一个小问题设计一个单独的协议。这样做使得每个协议的设计、分析、时限和测试比较容易。协议划分的一个主要原则是确保目标系统有效且效率高。为了提高效率,每个协议只应该注意没有被其他协议处理过的那部分通信问题;为了主协议的实现更加有效,协议之间应该能够共享特定的数据结构;同时这些协

2017-03-29 09:40:05 416

转载 数据缓存技术及代码详解

1.缓存概述  •为什么使用缓存    – 应用程序可以将那些频繁访问的数据,以及那些需要大量处理时间来创建的数据存储在内存中,从而提高性能  • 缓存机制分类介绍    – 应用程序缓存    – 页输出缓存2.应用程序缓存的机制  • 应用程序缓存是由System.Web.Caching.Cache 类实现的,缓存实例(Cache 对象)是每个应用程序专    

2017-03-29 09:35:34 1383

转载 Git的审核备忘

1.参与一个开源项目,一定要从自己的帐号下克隆版本库,这样你才能推送修改!2.Repository 版本库,又名仓库:  可以简单地理解为一个目录,且目录下的所有文本文件可被Git 管理(建议用 UTF8 编码)。3.用 gitconfig 命令的 --global 参数,表示你机器上所有的 Git 版本库都会使用这个配置:  $ git config --

2017-03-28 14:34:34 472

原创 Http 多点下载

本示例介绍在Android平台下通过HTTP协议实现断点续传下载。我们编写的是Andorid的HTTP协议多线程断点下载应用程序。直接使用单线程下载HTTP文件对我们来说是一件非常简单的事。那么,多线程断点需要什么功能?1.多线程下载,2.支持断点。 使用多线程的好处:使用多线程下载会提升文件下载的速度。那么多线程下载文件的过程是:   (1)首先获得下载文件的长度

2017-03-27 19:33:39 645

原创 postinvalidate、postinvalidateOnAnimation和invalidate的区别

android中实现view的更新有两组方法,一组是invalidate,另一组是postInvalidate,其中前者是在UI线程自身中使用,而后者在非UI线程中使用。 Android提供了Invalidate方法实现界面刷新,但是Invalidate不能直接在线程中调用,因为他是违背了单线程模型:Android UI操作并不是线程安全的,并且这些操作必须在UI线程中调用。   An

2017-03-23 19:17:53 6848

原创 Adapter的作用及用法

首先,我们常用的Adapter有四种,分别是BaseAdapter、SimpleAdapter、ArrayAdapter、SimpleCursorAdapter四种。             BaseAdapter:基础数据适配器,它的主要用途是将一组数据传到例如ListView等UI显示组件,继承自接口类Adapter,由于是基础类型,所以自由度高, 可以修改的地方多。

2017-03-23 09:02:12 16830

空空如也

空空如也

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

TA关注的人

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