自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

geekCode

不要轻言放弃,否则对不起自己!

  • 博客(71)
  • 资源 (1)
  • 收藏
  • 关注

原创 Android RadialGradient 放射渲染

前言不知不觉,春分已过两天。万物复苏,居住附近的看桃花也开艳了,路边的垂柳,也绿了。怎奈,这两天天气忽变,有了一些倒春寒的感觉,好冷。近几偶然听闻,同事裁员,愿2019一切顺利。RadialGradient 说明类继承关系构造函数 public RadialGradient(float centerX, float centerY, float radius, ...

2019-03-24 14:49:14 2446 2

原创 Android SweepGradient 扫描渲染

概述记的之前看到一个通过扫描渲染实现的雷达效果UI。自己在复习shader,在此做一个记录。SweepGradient 扫描渐变构造函数参数说明 public SweepGradient(float cx, float cy, @ColorInt int color0, @ColorInt int color1)参数(cx,cy)表示扫描渲染所围绕的圆心点坐标,color0 代表渲染...

2019-03-22 16:56:03 656 1

原创 Android LinearGradient的使用

概述Android自定义view绘制颜色的时候,可以通过setShader可以让view绘制多彩渐变的效果。Android sdk中提供了五个Shader子类供开发者使用,分别是:LinearGradient线性渐变 SweetGradient角度渐变 RadialGradient辐射渐变 BitmapShader图片shader和ComposeShader组合着色器。本文将结合例子对线性渐变做...

2019-03-19 19:14:35 6324

原创 Android 测量文字宽高

前言最近自定义控件,需要绘制文本,用到了获取文本宽高的代码,在此做下记录。Paint.measureText() 获取文本宽度 Paint paint = new Paint(); paint.setTextSize(textSize); float strWidth = paint.measureText(content);Paint.getTextBounds() 获...

2019-03-04 23:37:22 1661

原创 SpringAnimation使用示例

前言SpringAnimation是由com.android.support:support-dynamic-animation支持包提供的弹性动画方案。SpringAnimation是由Springforce驱动的动画。弹簧力定义弹簧的刚度、阻尼比以及静止位置。一旦启动SpringAnimation,在每个帧上,弹簧力将更新动画的值和速度。动画将继续运行,直到弹簧力达到平衡。如果动画中使用的弹...

2019-02-15 14:41:55 2796 1

原创 Android 自定义水平progressBar颜色

前言2019年第一天开工,有一个自定义水平进度条颜色的需求。在此做一个记录。2019加油。自定义layer-list drawable目录右键新建 xol_revision_layer_progress.xml文件<?xml version="1.0" encoding="utf-8"?><layer-list xmlns:android="http://schemas....

2019-02-14 18:20:47 1655

原创 Android Sqlite总结

前言今天是2018年腊月27,公司的人少了许多。前几天看到项目里,用到了sqlite数据库,自己结合几篇博客做个总结。希望对自己有所帮助。sqlite 中sql语句的使用SQLite最大的特点是你可以把各种类型的数据保存到任何字段中,而不用关心字段声明的数据类型是什么。例如:可以在Integer类型的字段中存放字符串,或者在布尔型字段中存放浮点数,或者在字符型字段中存放日期型值。但有一种...

2019-02-01 15:48:58 289

原创 Fragment 懒加载

前言最近工作的时候,用到ViewPager 结合Fragment做了一个类似网易新闻的数据展示界面,想做到只有在Fragment可见的时候,才做一次数据加载,故再次封装了一个LazyFragment类,在此做个记录。package com.xes.online.revision.view.fragment;import android.os.Bundle;import android.s...

2019-01-25 16:24:45 203

原创 FragmentPagerAdapter Fragment的生命周期

前言最近换了新工作,一直写业务,写的过程中碰到了viewPager结合Fragment的使用的场景,但是发现自己对此时Fragment的生命周期理解并不到位,在此做一下记录。代码和布局文件ActivityForViewPager.javapackage com.xol.viewpagerfragment;import android.content.Context;import an...

2019-01-24 16:05:01 1225

转载 Android Bander设计与实现

关键词 Binder Android IPC Linux 内核 驱动 摘要 Binder是Android系统进程间通信(IPC)方式之一。Linux已经拥有管道,system V IPC,socket等IPC手段,却还要倚赖Binder来实现进程间通信,说明Binder具有无可比拟的优势。深入了解Binder并将之与传统IPC做对比有助于我们深入领会进程间...

2018-10-12 18:12:07 331 3

原创 HashMap(jdk1.8)源码分析

概述继承关系图构造方法新增元素查找元素删除元素

2018-08-08 21:40:32 232

原创 Comparable和Comparator的使用

概述:在对一个类进行排序的时候,如果用jdk自带排序工具类排序,则需要让该类实现comparbale接口,或这在外部实现一个Comparator接口,进行排序。对于这两种排序方式的使用,以及他们之间的区别,在此做一个简单的介绍。Comparable接口实现了Comparable接口的类,需要实现compareTo方法。jdk中的默认排序都是通过判断此接口实现,通过该接口的compare...

2018-08-04 11:22:29 669

原创 LinkedList(jdk1.8)源码分析

概述显示调用隐式调用

2018-08-03 22:49:13 313

原创 ArrayList (jdk1.8)源码分析

概述显示调用隐式调用

2018-08-02 11:28:12 300 1

原创 jdk1.8关键字defalut

1、添加工程的头文件目录:工程—属性—配置属性—c/c++—常规—附加包含目录:加上头文件存放目录。2、添加文件引用的lib静态库路径:工程—属性—配置属性—链接器—常规—附加库目录:加上lib文件存放目录。 然后添加工程引用的lib文件名:工程---属性---配置属性---链接器---输入---附加依赖项:加上lib文件名。3、添加工程引用的dll动态库:把引用的dll放到...

2018-07-31 23:42:29 660

原创 java异常处理

异常概述异常,见文知意,就是指代码在运行过程中出现的不可控逻辑。java异常根据严重程度,可分为错误(如jvm错误,内存错误等),和编码造成的异常(如除数为0、文件找不到等)。 下图为常见java异常类的继承图: 在java异常类中, Error是程序无法处理的错误,比如OutOfMemoryError、ThreadDeath等。这些异常发生时,Java虚拟机(JVM)终止自己的运...

2018-07-12 14:54:31 222 1

原创 Android Studio使用自定义的Android.mk文件编译ffmpegyuv-bgr

概述最近做项目的时候,领导安排一个任务,让测试一下,用ffmpeg中的yuv转bgr函数的速度。之前编译so库大部分都是用eclipse,本次博主花了两天时间,在Android studio上编译并运行,在此做一下记录。设置Android Studio ndk1、打开setings->Tools->External Toos 点击+号新建NDK分组及javah 与ndk...

2018-07-09 17:25:27 3189 2

原创 生日计算年龄

引子对于一个,极端追求完美的程序员,写代码,有时候是很痛苦的。这种痛苦不是怎么实现一个需求,而是痛苦于选择,选择用那种方法实现,才能做到完美。 ——今天,天气闷热,要下大雨的样子,股票行情持续走低,大盘接近2700点。概述最近领导有一个需求,人脸识别的时候,当识别到认识的人的时候,显示年龄,之前的int GetAge(STPerItem *st, CDeviceInfo *m_D...

2018-07-05 23:48:38 6436

原创 Git 常用命令

git 配置:git 显示帮助git config --help显示当前的 Git 配置git config --list编辑 Git 配置文件git config -e [--global]设置提交代码时的用户信息git config [--global] user.name "[name]"git config [--global] user.email &

2018-06-29 10:42:10 264

原创 YUV数据格式简介

引言最近在公司做人脸识别sdk,接触到了yuv数据流,就知道是视频采集的一帧数据,一直都没有搞太明白该数据的具体来龙去脉,这几天项目基本完成,在此对yuv的相关知识做简单记录。YUV简介Y’UV的发明是由于彩色电视与黑白电视的过渡时期[1]。黑白视讯只有Y(Luma,Luminance)视讯,也就是灰阶值。到了彩色电视规格的制定,是以YUV/YIQ的格式来处理彩色电视图像,把UV视作表...

2018-06-08 11:09:36 424

原创 NV12转BGR24算法总结

概述项目中用到yuv NV12转BGR24的算法,总结了几种常用算法代码如下。直接转换//NV 12 转BGRvoid NV12_T_BGR(unsigned int width, unsigned int height, unsigned char *yuyv, unsigned char *bgr) { const int nv_start = wi...

2018-05-09 17:12:53 5081 3

原创 Android Studio 快速生成jni头文件

概述在上一篇博客中讲述了,javah命令的简单用法,及通过javah命令生成,jni头文件的用法实例。该篇博客将讲述一下,在Android studio快速生成头文件几种常用方法。Terminal命令生成jni头文件terminal 可简单认为是Androidstudio 快速打开命令窗口的一个工具。 1、在Android studio项目中新建一个library模块,在该lib...

2018-05-02 16:58:05 4518

原创 javah命令详解

概述:最近在写c++/c的一个小的项目,需要打成动态库,供java使用。就对java 调用c++/c代码做了简答了解,在此做记录。jni开发第一步,就是用javah命令生成生成c\c++头文件。javah命令参数详解cmd(默认配置jdk path) 执行javah -help 如下图: -d 和-o 这两个参数用于设置生成的C\C++头文件的指定,该两参数选项不能同时使...

2018-04-26 16:49:33 30248 5

原创 c 回调函数&函数指针

概述之前写Android程序的时候,我们常常对一些异步操作,或事件监听,都会通过回调函数,回调处理结果;最近写c/c++项目的时候,也需要实现回调函数,却不知道怎么下手,经过自己学习,了解到c/c++可以通过函数指针实现回调函数的功能,在此做记录。函数指针函数指针是指向函数的指针变量,即本质是一个指针变量。 指向函数的指针包含了函数的地址的入口地址,可以通过它来调用函数。 声明...

2018-04-17 15:04:26 426

原创 Tomcat 目录结构

Tomcat7 的目录结构如图: 1、bin:该目录下存放的是二进制可执行文件,如果是安装版,那么这个目录下会有两个exe文件:tomcat6.exe、tomcat6w.exe,前者是在控制台下启动Tomcat,后者是弹出UGI窗口启动Tomcat;如果是解压版,那么会有startup.bat和shutdown.bat文件,startup.bat用来启动Tomcat,但需要先配置JAVA_H...

2018-04-15 22:02:48 202

原创 cocos2d-x Action 动画特效的简单使用

概述:cocos2d 做动画特效,利用cocos2d的Action类,非常简单。直接调用node->runAction(),即可实现相应的特效。 先上一张action 类图: 本次暂不介绍ccFollow与ccSpeed。除了这两个类之外,常用的动作父类,即时动作(ccActionInstant)-瞬间完成,延时动作(ccActionInterval)-逐渐完成。使用示例...

2018-04-12 00:28:27 970

原创 VS中的路径宏如 $(OutDir) 等含义

说明:$(IntDir)为中间文件指定的相对于项目目录的目录路径。它解析为“中间目录”属性的值。$(OutDir)输出文件目录的路径,相对于项目目录。这解析为“输出目录”属性的值。$(DevEnvDir)Visual Studio .NET 的安装目录(定义形式:驱动器 + 路径);包括尾部的反斜杠“\”。$(InputDir)输入文件的目录(定义形式:驱动器 + ...

2018-04-09 15:21:33 9450

原创 c/c++ static关键字

概述最近在写c++/c混合项目的时候,候发现static关键字在c/c++中用的时候,有些地方理解不到位,做简单学习总结。 static 有三个作用:局部静态变量; 外部静态变量/函数; 静态数据成员/成员函数。 前两种C和C++都有,第三种仅在C++中有。一、局部静态变量在C/C++中,局部变量按照存储形式可分为三种auto,static,register。其中registe...

2018-04-08 17:50:18 180

原创 几种常见的开源协议

概述开源软件(Open source software)的源代码对有追求的程序员来说是一无尽的宝藏,此外正确的使用开源软件,可以提高开发软件时的效率、提升软件质量。但是在使用和借鉴开源软件的时候,我们不得不关心一下它对使用者的诸多限制,比较常见的方式即协议授权(licence),这些协议中明确说明了使用者应该遵循的原则。现在开源协议众多,大概有50多种,下面只对几种常见协议做介绍。 首先...

2018-03-28 17:47:27 9108

原创 java 动态代理

概述:在现实社会中,租房子,找房产中介;打官司,找律师所。其中这些房产中介,和律师所就是我们的代理,在交易或对垒中,我们不直接和房东和法院打交道,而是由我们的代理去直接和他们去沟通和协调,行使我们的职责。代理模式:java中代理设计模式的概念和现实社会中代理概念类似,java中的代理类,可以类比为房产中介,和律师所。 代理类图如下: 代理模式的作用是:为其他对象提供一种代...

2018-03-27 13:13:13 221 1

原创 c 生成指定范围随机数

概述:C++中没有自带的random函数,获取随机数可以使用rand()和srand()方法。不过,由于rand()的内部实现是用线性同余法做的,所以生成的并不是真正的随机数,而是在一定范围内可看为随机的伪随机数。rand:rand()会返回一个0至RAND_MAX之间的随机数值,RAND_MAX的值与int位数有关,最小是32767。不过rand()是一次性的,因为系统默认的随机...

2018-03-23 18:42:28 14509 1

原创 java 注解使用详解

概述注解(Annotation),也叫元数据。一种代码级别的说明。它是JDK1.5及以后版本引入的一个特性,与类、接口、枚举是在同一个层次。它可以声明在包、类、字段、方法、局部变量、方法参数等的前面,用来对这些元素进行说明,注释。 作用: 1. 编写文档:通过代码里标识的元数据生成文档【生成文档doc文档】 2. 代码分析:通过代码里标识的元数据对代码进行分析【使用反射】 3. ...

2018-03-22 21:19:06 353

原创 error C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead

描述用vs2013新建一个windows窗口项目,编写代码运行出现一下错误 错误 2 error C4996: ‘strcpy’: This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See...

2018-03-15 09:03:30 3495 2

原创 gitignore忽略规则总结

概要在用git管理多人开发的项目的时候,总会不定时出现,一些非必要文件(如项目编译文件)加入版本管理。在提交代码合并代码的时候出现了一系列的问题。究其原因,就是没有很好的利用ignore文件,将一些特定文件从版本管理中剔除。本文将简要介绍一下,忽略文件的匹配规则,学习好了忽略规则,则可以随时剔除不需要的文件。gitBash 创建.gitignore文件1、打开gitBash,切换到...

2018-03-13 13:14:30 20536

原创 java 反射基本使用

概述:JAVA程序在运行状态中,通过Java的反射机制,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性。这种动态获取信息以及动态调用对象方法的功能称为java语言的反射机制。git示例代码地址获取Class对象方法:通过Class.forName()静态方法获取;Class peopleClz; try ...

2018-03-12 22:38:07 242

原创 正则表达式的三种模式

概述:正则表达式的匹配模式分为三种:贪婪模式Greedy(默认)、勉强模式Reluctant、侵占模式Possessive。下面将会分别做出具体的讲述。贪婪模式:在匹配的过程中,尽可能多的去选择匹配内容,然后逐个递减,直到匹配成功。 例如:待匹配字符串为aweiaaaaaaaaaaaaawei,匹配正则表达式p0为 “ .*wei ”。 首先p0可分为,p1(.*)和子模式p2...

2018-03-08 10:52:03 1782

原创 java 正则表达式的使用

概述:正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。【百度百科】正则常用符号预定义字符 符号 说明 . 任何字符(与结束符可能匹配也可能不匹配) \d 数字:[0-9] ...

2018-03-07 22:25:33 239

原创 java泛型与数组

泛型与数组概述:首先java中数组是不支持泛型的,对于数组不支持泛型的原因,也有很多回答。这里有两个我认为比较好的回答,供大家参考泛型不支持数组的分析与泛型为什么不支持数组。以上两个回答还是比较深入,和透彻的。 我对于该问题的理解是:由于泛型只是在编译的时候,起到类型检测,及类型转换字节码的生成,也就是说具有泛型的java文件,最终生成的字节码会将泛型信息抹去,具体数据的引用类型一般...

2018-02-27 14:09:40 10683 1

原创 java 查看class文件字节码

命令查看class文件字节码1、编写.java文件详细步骤:在D盘创建文件夹java;新建HelloWorld.java文件。public class HelloWorld{ public static void main(String args[]){ String contentBefore = "hello"; String co...

2018-02-27 10:49:24 1778

原创 java 泛型通配符

泛型通配符在java泛型中,? 表示通配符,代表未知类型,< ? extends Object>表示上边界限定通配符,< ? super Object>表示下边界限定通配符。 ?通配符与T的区别 T:主要用于泛型接口,类,方法定义的时候,作用只是将参数泛型化(类方法的定义)。 ?:主要用于实例化对象的时候,当我们实例化对象,不确定泛型参数的具体类型的时候,可以使用...

2018-02-24 17:32:35 444

NDK编译ffmpeg中的数据格式转换资源

该资源为NDK编译ffmpeg中的YUV转换BGR代码

2018-07-09

空空如也

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

TA关注的人

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