Android音视频开发总结之一理论基础
一. 音频技术基础概念1. 声音的物理性质众所周知,声音是由物体振动而产生的。声音是一种压力波,当演奏乐器或者说话时,它们的振动都会引起空气有节奏的振动, 使周围的空气产生疏密变化,由此就产生了声波,这种现象会一直延续到振动消失为止。 声波具有三要素: 音调:也叫音频,频率越高,波长就会越短,而低频声响的波长则较长。所以这样的声音更容易绕过障碍物。能量衰减就越小,声音就会传播的越远; 音量:就是振动的幅度。用不同的力度敲打桌面,声音的大小势必发生变换。在生活中,我们用分贝描述声音的响度; 音色:在同样的频率和响度下,不同的物体发出的声音不一样。波形的形状决定了声音的音色。因为不同的介质所产生的波形不同,就会产生不一样的音色。 2....
前端开发基础总结HTML、CSS、Javascript
一.Html网页1. HTML标签HTML 是用来描述网页的一种语言。HTML 标签是由尖括号包围的关键词,比如 HTML 标签通常是成对出现的,比如 和 。成对出现的标签中,第一个标签称为开始标签,第二个标签称为结束标签(闭合标签)。HTML 中的不同标签具有不同的含义,学习 HTML 其实就是学习各个标签的含义,根据实际场景的需要,选择合适的标签,从而制作出精美的网页。HTML中每个标签都有自己的语义(含义),例如标签代表段落,标签代表加粗。根据标签的不同,浏览器会使用不同的方式展示标签中的内容。一般情况下,一个 HTML 标签由开始标签、属性、内容和结束标签组成,标签的名称不区分大小写,但大多数属性的值需要区分大小写,如下所示: 12345 属性 ↓<div class="foo">C语言中文网</div> ↑ ↑ ↑开始标签 内容 结束标签 除了 class 属性外,开始标签中还可以包含其它属性信息,比如 id、title 等属性,当使用浏览器打开我们编写的...
使用Pyinstaller将Python源代码打包成可执行文件
一.Pyinstaller简介PyInstaller是Python的第三方打包库,它能够在Windows、Linux、 Mac OS X 等操作系统下将 Python 源文件进行打包,通过对源文件打包,实现将.py扩展名的任何Python的源代码转换成Windows、Linux、Mac OS X下的可执行文件,使得 Python 程序可以在没有安装 Python 的环境中运行。对于Windows来讲,PyInstaller可以将Python源代码打包成.exe的可执行文件,样就可以直接运行程序,不需要安装Python解释器,也不需要对计算机进行相关的环境配置。需要注意的一点是虽然PyInstaller可以在Windows、Mac OS X和Linux上使用,但是并不是跨平台的,如果希望将python源代码打包成.exe文件,需要在Windows系统上运行PyInstaller进行打包工作;需要打包成mac app,则需要在Mac OS上使用PyInstaller进行打包。 二.使用Pyinstaller打包exe文件1.安装Pyinstaller模块1pip install...
Android国际化多语言
一、静态配置Android系统通过判断当前系统的Local配置,来使用对应的strings.xml文件。建立不同语言的strings.xml文件,新建Resource File,选择Local,点击>>,选择需要的语言values–>strings.xml默认语言(简体中文) 1234<resources> <string name="app_name">多语言演示</string> <string name="multi_language_setting">多语言设置</string></resources> values-zh-rHK–>strings.xml繁体中文 12345<resources> <string name="app_name">多語言演示</string> <string...
Android-ORM框架-GreenDao
一.GreenDao简介GreenDAO是一个基于sqlite的对象关系映射(ORM)的数据库框架,ORM(Object Relation Mapping对象关系映射),其表现形式就是通过GreenDao将数据库和Bean对象关联起来。使用greendao可以节省自己编写SQL语句进行CRUD的时间。GreenDao官网GitHub地址 二.项目工程引入GreenDao1.引入GreenDaoIn root build.gradle file 12345678910buildscript { repositories { google() jcenter() } dependencies { ... classpath 'org.greenrobot:greendao-gradle-plugin:lastVersion' // add plugin }} In app modules...
Android夜间模式(换肤)总结
一.Android 平台常见的换肤方案Android 平台常见的额换肤方式总结起来有如下三种: 1.设置setTheme 主题来切换 原理:通过在values文件夹下的attrs.xml和style.xml文件中配置不同的风格的主题,在Activity中的onCreate()方法中,调用setContentView()方法前调用setTheme()方法来设置主题。 优点:利用系统自带的机制实现,根据标志位setTheme()即可。 缺点:在主题切换界面不重启的情况下,不能自动完成界面主题的刷新。笨重,灵活性较低,不易于扩展。 例如:android...
一文搞懂数据转换之摘要、编码、加密、签名
一.转义转义的作用?转义通常有两种功能。第一种是如果不进行转义就可能与语法规定的某些内容产生混淆,所以这些内容都被设计为需要转义。 第二种也叫字符引用,用于表示无法在当前上下文中被键盘录入的字符(如字符串中的回车符)。 第一种作用以经典的JAVA语言中字符串中的字符转义为例。如果在一个字符串中存在一个”符号,那么就需要在”符号前添加\才能够正常的表示,比如下面这样: 1String content="他说\"他需要休息\""; 之所以需要这样,是因为对于字符串来说,”本身就是表示一个字符串的起止符号。如果不进行转义,那么编译器将无法正确的识别其中的”哪些是分隔符,哪些是字符串内部的”。 第二种作用回车符和换行符,再正常情况下,这样的字符是不可见的,对于这种字符,不过不采用转义的形式进行表达那么会比较困难。如果在一个字符串中存在回车符,那么就需要用\r表示。如果在一个字符串中存在换行符,那么就需要用\n表示。比如下面这样: 1String content="床前明月光,/r/n疑是地上霜"; 二.编码解码1....
Java IO与NIO及Netty框架
一.I/O模型1.什么是IOIO在计算机中指Input/Output,也就是输入和输出。由于程序和运行时数据是在内存中进行,比如,声明变量,创建数组,创建集合。如果需要与外部设备,比如键盘,显示器,硬盘等进行数据的交互,就需要用到IO。通过数据线、网线、NFC、蓝牙之类的东西将计算机与外部设备连接起来,连接起来之后,通过特定的比特流进行沟通。一个比特(bit)就表示一个二进制数,可以是0或者1。但是因为一个bit所表示的内容太有限了,所以计算机中更常见的基本单位是字节,一个字节由8个bit组成(设备上的数据无论是图片或者视频,文字,它们都以二进制存储的)。当足够多的字节连续地从外部设备传入计算机、或者从计算机传入外部设备,这种情况就是比特流或者叫字节流(Stream),在IO编程中,Stream(流)是一个很重要的概念,可以把流想象成一个水管,数据就像是是水管里的水。Input Stream就是数据从外面(磁盘、网络)流进内存,Output Stream就是数据从内存流到外面去。 2. Liunx IO模型分类IO...
Android之Handler机制
一. Handler其实有两大主要作用 线程间通信 可以指定messgage和runnable在未来的某个时间节点执行,也就是按照一定的时间顺序执行 二.Handler的使用Handler的简单使用使用handler发送消息,需要两步,首先是创建一个Handler对象,并重写handleMessage方法,然后需要消息通信的地方,通过Handler的sendMessage方法发送消息。这里我们创建了一个子线程,模拟子线程向主线程发送消息代码如下: 123456789101112131415161718192021222324252627282930313233343536public class MainActivity extends Activity { private Handler mHandler; private static final int MSG_SUB_TO_MAIN= 100; @Override protected void onCreate(Bundle savedInstanceState) { ...
Android反编译技术基础介绍
一.APK简介APK的全称是Android application...