4 gongxiaoou

尚未进行身份认证

找准方向,脚踏实地

等级
TA的排名 7w+

Aandroid日常开发中应该注意的安全问题

概述在日常的Android开发中比较少注意一些细节的可能带来安全问题的地方,如果不是专业的机构来检测安全漏洞那么我们自己可能一直都不会注意到。安全,永远是相对的。有的漏洞是一直存在的,但是你的App会不会被攻击是另一回事,取决于攻击之后带来的“产出”比,费了九牛二虎之力得不到高的收益那些黑客也不会搭理你。下面是一些开发中“顺手”就可以解决的问题,当然这里罗列的只是一小部分。问题罗列应用数...

2020-03-20 10:38:33

macOS中配置Flutter开发环境(使用AndroidStudio开发)傻瓜版教程

前言由于之前一直使用Windows所以现在切换到Mac来做开发是十分不适应的,表面上是使用习惯上的不同,更多的是对Mac系统的认识不够深造成的。所以下面将先普及一下Mac OS的基本情况,这对于后面配置Flutter的开发环境具有非常好的铺垫意义。(当然对于配置其他的开发环境也有相同的铺垫意义)一.Mac OS相关1.1 Mac OS系统Mac系统是基于Unix内核的图形化操作系统。在Ma...

2019-12-16 10:45:42

Android中Webview播放音频,点击Home键想保持音频继续播放

概述这里记录一个问题,比较小。由于新app中有音频直播和点播功能,但是页面确实用H5做的,音频的播放也是。这就涉及到java和js的交互,在这其中java调用js的过程中有需要注意的地方(涉及到音频播放的时候)。问题webview中播放音频,点击home键,音频会停止播放。这时候想要音频继续播放需要监听Activity的onStop回调方法并调用js,使音频继续在后台播放。这时候如果利用如...

2019-08-05 11:10:57

Android中字符串拼接那些事

一.概述字符串是个什么?字符串是由字符组成的,而字符由字节根据编码规则而来。这里我们的问题停留在字符以及字符串上,不涉及字符和字节的转换,想了解字符和字节转换以及编码规则请看[字符编码(ASCII,Unicode和UTF-8,GBK)]问题平时开发中涉及到字符串拼接到底什么情况使用什么方法最合适呢?以及为什么选择这种方法呢?(或者说一下String,StringBuilder,String...

2019-06-14 16:31:59

Android中I/O

一 数据流概念数据流(data stream)是一组有序,有起点和终点的字节的数据序列。(后面都简称“流”)重点:有序,字节分类Android是使用java语言来编程的,所以其中的I/O操作和java中是一样的。I/O系统的设计目的是为了实现“文件”,“控制台”,“网络设备”等这些I/O设备间的通信。在java 1.0中,java提供的类都是以字节(byte)为单位来操作数据,例如,F...

2019-06-13 16:28:25

字符编码(ASCII,Unicode和UTF-8,GBK)

一.ASCII码1.1ASCII码是什么:ASCII(American Standard Code for Information Interchange:美国信息交换标准代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言。1.2解释几个概念bit(比特):表示信息的最小单位,二进制中一位(bit)只有两种状态0或者1。byte(字节):八个二进制位(bit)组成...

2019-06-13 14:22:28

OpenGl Es进阶一——VR视频的播放

概述重点:VR视频播放;播放模式分为全景视频和VR眼睛模式;

2019-05-17 11:16:08

Android中可以用来“播放”视频的View

概述这里只是总结一下优缺点,不去分析源码。SurfaceView重点:SurfaceView的工作方式是创建一个置于应用窗口之后的新窗口。SurfaceView的UI在一个独立的线程中进行绘制,可以不会占用主线程资源。SurfaceView使用双缓冲机制,播放视频时画面更流畅;(SurfaceView在更新视图时用到了两张 Canvas,一张 frontCanvas 和一张 backC...

2019-05-05 17:31:18

Android中OpenGl ES兼容性问题

概述在前面使用OpenGLEs的过程中由于使用的是OpenGlEs3.0的版本所以会带来不少因为版本兼容问题的坑(开始的时候没有发现,因为一直使用的是Android8.1.0的系统的手机。后来测试兼容性的时候发现了坑,我这里最低版本的手机是装有4.4.2系统的)。问题产生的原因是因为Android系统随着版本的不同里面自带的OpenGL ES版本也会随之不同,而在我们编写GLSL文件的时候如果...

2019-05-05 16:30:56

OpenGL ES之十二——地球仪和VR图

一 地球仪1.1 不会动的地球仪顶点#version 300 esin vec4 aPosition;in vec2 aCoordinate;//顶点着色器uniform mat4 uProjMatrix;uniform mat4 uViewMatrix;uniform mat4 uModelMatrix;uniform mat4 uRotateMatrix;out vec2...

2019-04-26 13:57:36

OpenGL ES之十一——绘制3D图形

概述经过前面的铺垫,我们对OpenGLES了解了不少了,是时候绘制一个立体图像了。绘制一个圆锥:2.1 圆锥原理:在之前的文章中我们绘制过圆形,圆锥可以看成是一个顶点坐标z不为0的圆形,绘制的方法和绘制一个圆是一样的。如下:着色器文件顶点着色器#version 300 eslayout (location = 0) in vec4 vPosition;layout (locat...

2019-04-26 13:57:30

OpenGL ES之十——纹理贴图(展示一张图片)

概述学了半天了不可能就让我们使用OpenGL ES绘制几个破多边形吧,那肯定是不会的,但是基础是十分的重要的。只有一点点循序渐进的深入才能感觉知识来的不是那么的突兀,让人难以理解。接下来我们就来展示一张图片。展示图片之前我们要先了解几个概念,之后就很好理解2D纹理绘制也是很简单的。一.2D纹理和坐标1.1 2D纹理在真实世界中,纹理表示一个物体的表面的颜色、纹路以及触觉特征,它是3D的多维...

2019-04-26 13:57:23

OpenGL ES之九——相机和投影

概述前面一直在使用相机矩阵和投影矩阵来解决平面图形变形的问题,但是其中的原理一直没有阐述,其实是怕不结合实例很难解释的清楚。现在水到渠成了,接触了很多使用OpenGLES绘制2D图形,纹理的例子,想必都有了一些感觉,接下来可以好好解释一下了。一.OpenGL的世界这里不会将官网上概念搬过来,而是将各种概念以容易理解的方式阐述。1. 相机就相当于我们的眼睛;2. 人类的视野范围是有限的,所...

2019-04-26 13:57:18

OpenGL ES之八——GLES20类和Matrix类

概况上面对于GLSL也有了一定的了解,并且通过之前编程过程,我们基本了解了GLSL语言的特色和通过调用Java语言编写的SDK来完成一些基本操作。下面总结一下GLES20的方法(GLES30或者更高这里就不一一列举了,方法基本和GLES20相同)一 获取着色器程序内成员变量的id(句柄、指针)GLES20.glGetAttribLocation方法:获取着色器程序中,指定为attribute...

2019-04-26 13:57:12

OpenGL ES之七——着色器语言GLSL

概况前面之所以没有详细的来介绍一下GLSL,因为之前如果上来就介绍语言会显得突兀,而现在经过了前面几篇文章的铺垫,相信大家自己对这门语言也已经有一些了解了。我们之前的文章中介绍OpenGL ES版本的时候也提到过:OpenGL ES 1.x是针对固定硬件管线的而从OpenGL ES 2.0开始针对可编程硬件管线。而这其中最重要的就是顶点着色器和片元着色器,顶点着色器是针对每个顶点执行一次,用于...

2019-04-26 13:57:06

OpenGL ES之六——绘制矩形和圆形

概述上文中主要介绍了相机和投影,并利用二者做出了变换矩阵,画出了等腰三角形。本文将介绍如何绘制矩形和圆形。重点:顶点法和索引法;OpenGL ES中多边形的构成一 顶点法和索引法以及OpenGL Es中多边形的构成1.1 顶点法和索引法之前文中绘制点,线,三角形都是使用的GLES30.glDrawArrays ,它就是顶点法。是根据传入的顶点顺序进行绘制的。另外还有另外一种方法GLES3...

2019-04-26 13:56:59

OpenGL ES之五——相机和投影,绘制等腰三角形

概述上一篇文章中着重记录了顶点着色器和片段着色器。但是我们发现在OpenGL ES的虚拟坐标中如果我们不处理顶点位置数据,即使我们给了三个顶点可以组成等腰直角三角形,那么在手机屏幕上显示出来的也不是一个等腰直角三角形。这一篇文章就来解决它。重点:矩阵和向量;相机和投影;利用变换矩阵绘制等腰三角形一.矩阵和向量在大学时候都学过线性代数,当时学到矩阵和向量的时候感觉非常的枯燥乏味,感觉这东西做...

2019-04-26 13:56:53

OpenGL ES之四——绘制点,线,三角形

概述上一篇中介绍了使用OpenGL ES的使用流程,完成了纯色背景的绘制。但是其中没有涉及具体几何形状所以并没有使用到顶点着色器和片段着色器,这篇文章中将着重介绍。绘制步骤如下:1.配置OpenGL ES环境:在AndroidManifest.xml文件中设置使用的OpenGL ES的版本:<!-- Tell the system this app requires OpenGL E...

2019-04-26 13:56:47

OpenGL ES之三——绘制纯色背景

概述从本文起开始进入编程阶段,本文目的主要是介绍如何使用OpenGL Es绘制纯色背景,通过这个过程让大家了解一下其使用流程。流程大致如下(由于是全屏渲染成纯色,这里也不会涉及到顶点着色器和片段着色器。):1.新建一个Android工程2.配置OpenGL ES环境3.GLSurfaceView作为展示View4.实现自己的GLSurfaceView.Renderer完成具体的绘制工作...

2019-04-26 13:56:41

OpenGL ES之二——Android中的OpenGL ES概述

概述上一篇主要想要脱离Android平台介绍一下OpenGL和OpenGL ES到底是什么,从本篇起开始从零开始搭建自己的Android平台下OpenGL ES知识体系。一.Android基本架构中OpenGL ES1.1 OpenGL ES在Android的基本架构中位置如下图,我们从Android的基本架构中找到OpenGL ES的位置。OpenGL ES就在Libraries里面...

2019-04-26 13:56:33

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。