自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

一个人的旅行的博客

愿所有的程序猿们,在开发这条不归路上,解锁更多的技能!!!

  • 博客(46)
  • 资源 (8)
  • 收藏
  • 关注

原创 FiveFiveVideoPlayer 是一个可以高度自定义的视频播放器

FiveFiveVideoPlayer 使用说明FiveFiveVideoPlayer 是一个可以高度自定义的播放器,手势改变亮度,音量,进度;支持调整倍速;可以轻松实现全屏视频播放,列表视频播放,小窗口视频播放1. 效果示例1.1 效果图竖屏效果横屏效果1.2 APK 功能体验demo比较粗糙,请勿介意APK 下载 安装体验扫描二维码图片安装体验(浏览器扫描)2. 快速...

2020-03-26 11:23:00 1656

原创 OneActionBar-通用标题头ActionBar封装

OneActionBar 使用说明简介自定义ActionBar,支持属性,java代码方式配置,可实现标题,标题带返回键,搜索,搜索带返回键的ActionBar;配置简单,方便使用,可适应大多数场景。效果图标准标题头,背景透明 style="@style/OneActionBar.Normal"标准标题头,蓝色背景 style="@style/OneActionBar.Normal...

2019-11-10 12:03:09 325

原创 OneBottomNavigationBar 可以凸起的导航菜单

BottomView 使用说明简介:BottomView 是自定义的一个实现App应用底部导航栏功能的View,可以实现底部 2-5 个导航菜单(一般不会有更多),可以实现某一个菜单凸起的效果,如,有5个菜单,可以选择让第三个菜单凸起(floating),这是很多App都有的功能; 可以根据编写的颜色变化的资源文件来更改图标和文字选中时和未选中时的颜色,可以自由控制是否需要选中(checkab...

2019-01-31 10:23:54 2483 5

原创 Retrofit 2.9.0 源码解析

Retrofit 源码解析,a.Retrofit是如何通过声明来实现网络请求的;b.Retrofit是如何支持Kotlin协程的(即如何使用suspend来实现将直接转换为Response的呢);c.Retrofit在设计中使用了哪些设计模式呢;

2023-06-27 17:03:59 664

原创 自定义View的流程分析

分析自定义View的``requestLayout``方法,``invalidate``方法,以及``onMeasure``、``onLayout``、``onDraw``方法

2020-04-28 10:21:03 243

原创 【FFmpeg】(二)视频解码、像素格式转换与Native原生绘制

目录视频解码、像素格式转换与Native原生绘制一、视频解码1、FFmpeg 库简介2、FFmpeg 解码的流程图3、FFmpeg 数据格式简介二、像素格式转换I420ToARGB三、Native 原生绘制1、获取ANativeWindow指针,定义缓冲区2、设置缓冲区参数3、刷新数据到缓冲区4、释放nativeWindow四、使用FFmpeg实现native原生绘制,显示视频图像视频解码、像素...

2019-04-28 21:55:26 891

原创 【FFmpeg】(一) 音视频相关基础知识以及FFmpeg介绍

目录【FFmpeg】(一) 音视频相关基础知识以及FFmpeg介绍一、音视频相关基础知识1、视频播放器原理1.1 解封装1.2 解码1.2.1 音频压缩数据解码1.2.2 视频压缩数据解码1.3 音视频同步二、FFmpeg 介绍1、定义2、FFmpeg 命令2.1 视频格式转换命令2.2 视频转 Gif 命令三、使用 visual studio 编译 FFmpeg四、使用 Linux主机 编译 F...

2019-04-28 21:49:03 958

原创 (五)C++中的异常处理与模板类

目录C++中的异常处理与模板类一、C++ 中的异常处理1、异常处理2、throw 抛出函数外3、抛出异常对象4、声明抛出异常的类型5、标准异常(类似于Java NullPointerException)二、模板类1、模板类示例2、普通类继承模板类3、模板类继承模板类4、模板类对象实例化C++中的异常处理与模板类一、C++ 中的异常处理1、异常处理在C++ 中可以抛出任何类型的异常,根据抛出...

2019-04-15 17:31:55 631

原创 (四)C++中的继承、多态和模板函数

目录C++中的继承、多态和模板函数一、继承1、属性和方法的继承2、通过子类给父类构造方法传参3、继承中父类和子类的权限继承关系4、继承的二义性4.1 继承的二义性定义4.2 继承的二义性定义解决方案二、多态1、虚函数2、发生动态多态的条件3、纯虚函数(抽象类)4、接口5、抽象类的作用二、模板函数(泛型)C++中的继承、多态和模板函数一、继承1、属性和方法的继承继承可以更好的实现代码的重用性...

2019-04-02 10:56:19 853

原创 (三)C++中的静态成员、this指针、友元函数与运算符重载

目录C++中的静态成员与this指针一、静态成员1、static 关键字二、类的大小三、this 指针1、this指针2、常函数(const修饰函数)四、友元函数与友元类1、友元函数2、友元类五、运算符重载1、单独进行运算符重载2、类成员函数运算符重载3、友元函数运算符重载C++中的静态成员与this指针一、静态成员1、static 关键字静态属性只能在全局范围内进行初始化赋值静态方法...

2019-03-29 09:36:22 485

原创 (二)C++中的类与构造函数

目录C++中的类与构造函数一、C++中类的常用写法1、在头文件中声明类的属性和方法2、在源文件中(.cpp)实现对应的方法3、在具体C++代码中使用二、C++中类的构造函数、析构函数、拷贝构造函数1、构造函数2、析构函数3、拷贝构造函数3.1 浅拷贝3.2 深拷贝3.3 拷贝构造函数被被调用的场景4、构造函数属性初始化列表三、C++中的new 和 delete的使用C++中的类与构造函数一、C...

2019-03-29 09:35:24 418

原创 (一)C++命名空间及引用

目录C++命名空间及引用一、C 与 C++ 的关系二、C++ 命名空间三、C++ 中的类三、C++ 中的结构体三、C++ 中的数据类型四、C++ 中的引用1、引用的定义2、C++ 中的引用的作用3、C++中引用的主要功能4、指针常量和常量指针5、常引用五、C++ 中的函数1、函数参数的默认值2、函数的可变参数3、函数的可变参数(循环读取)C++命名空间及引用一、C 与 C++ 的关系C++...

2019-03-22 17:26:41 1884 3

原创 (三)JNI 引用、异常处理和缓存策略

目录JNI 引用、异常处理和缓存策略一、JNI 引用变量1、引用类型2、引用的作用3、局部引用的使用4、全局引用的使用5、弱全局引用的使用二、JNI 的异常处理三、JNI 缓存策略1、**局部的静态变量,当程序运行结束之后,变量的值还会在内存中**2、全局变量,动态库加载完成之后,立刻缓存起来JNI 引用、异常处理和缓存策略一、JNI 引用变量1、引用类型JNI 引用的类型分为局部引用和全...

2019-03-11 10:06:01 295

原创 (二)JNI 的数据类型

目录JNI 的数据类型一、JNI 数据类型二、C通过JNI调用Java1、访问Java属性2、访问Java静态属性3、访问java方法4、访问静态方法5、访问构造方法6、访问父类的方法三、JNI字符串乱码问题四、JNI数组处理,传入一个数组,返回另一个数组JNI 的数据类型一、JNI 数据类型Java基本数据类型与JNI数据类型的映射关系Java数据类型JNI数据类型C/C++...

2019-03-11 10:04:38 303

原创 (一)JNI 开发流程

目录JNI 开发流程一、C 语言执行的流程二、头文件1、头文件的作用2、自定义头文件1、创建 .h 文件,对相应方法进行声明。2、在 .h 文件同级目录下创建对应的 .c 文件,对 .h 文件中声明的方法进行实现。3、创建一个C文件,进行验证头文件是否编写成功。三、define 指令1、define 指令的作用四、JNI (Java Native Interface)1、定义2、Java调用C/C...

2019-03-11 10:00:47 4235

原创 (五)C语言之联合体,枚举与IO

目录(五)C语言之联合体,枚举与IO一、联合体(共用体)1、定义2、大小二、枚举1、定义三、IO操作1、读取文本文件2、写入文本文件3、操作二进制文件4、获取文件的大小5、文本文件的加密解密6、二进制文件的加密解密(五)C语言之联合体,枚举与IO一、联合体(共用体)1、定义不同类型的变量共同占用一段内存(相互覆盖),联合变量任何时刻只有一个成员存在,节省内存2、大小联合体变量的大小=最...

2019-03-06 18:25:07 289

原创 (四)C语言之结构体

目录(四)C语言之结构体一、什么是结构体二、初始化结构体的变量1. 第一种初始化方式2. 第二种初始化方式三、结构体的几种写法1、第一种写法2、第二种写法,可以在结构体类型的}后,定义结构体变量名,也可以对结构体变量名进行初始化。3、第三种写法:匿名结构体,控制结构体变量的个数(限量版),相当于单例四、结构体嵌套1、分别定义结构体嵌套2、结构体内定义结构体嵌套五、结构体与指针六、结构体数组与指针七...

2019-03-06 18:23:56 456

原创 (三)C语言之字符串与字符串函数

目录(三)C语言之字符串与字符串函数字符串与字符串函数1. 字符串2. 字符串相关函数(三)C语言之字符串与字符串函数字符串与字符串函数1. 字符串使用字符数组存储字符串,\0 表示结束符,字符串可以被修改void main(){ char str[] = {'c','h','i','n','a','\0'}; //char str[6] = {'c','h','i'...

2019-03-06 18:21:55 287

原创 (二)C语言之动态内存分配

目录(二)C语言之动态内存分配一、静态内存分配二、C语言内存分配1、栈区(stack)2、堆区(heap)3、全局区或静态区4、字符常量5、程序代码区三、静态内存分配与动态内存分配的区别四、内存分配的几个注意细节(二)C语言之动态内存分配一、静态内存分配定义是指定分配的内存长度就是静态内存分配,是在栈内存中分配int a[1024];二、C语言内存分配1、栈区(stack)win...

2019-03-06 18:20:12 208

原创 (一) C语言之基本数据类型_输入输出_指针

文章目录(一) C语言之基本数据类型_输入输出_指针一、基本数据类型1、头文件2、基本数据类型(1)、基本数据类型所使用的输出占位符(2)、基本数据类型所占字节数二、输入输出函数1、输入函数2、输出函数三、指针1、指针的定义2、指针的类型3、NULL空指针4、多级指针5、指针运算6、函数指针(一) C语言之基本数据类型_输入输出_指针一、基本数据类型1、头文件引入头文件,在头文件中只有函数...

2019-03-06 18:16:50 2389

原创 Kotlin语言基于Mvp+Retrofit+RxJava封装的Android项目的基础依赖库

主要针对使用 Kotlin 语言开发Android项目,使用 MVP+Retrofit+RxJava 架构封装的一些基础类(Activity/ListActivity,Fragment/ListFragment,Adapter),供开发时依赖使用,缩短项目准备时间。

2019-02-27 16:36:43 807

原创 使用 Hexo 来优化管理自己的博客

这里写自定义目录标题前言准备工作Git客户端 : [下载安装](https://git-scm.com/download/win),一路默认安装即可NodeJs: [下载安装](https://nodejs.org/en/) ,一路默认安装即可验证NodeJs 是否安装成功安装安装 Hexo初始化 Hexo_config.ymlpackage.jsonscaffoldssourcethemes配置...

2018-12-29 12:03:11 394

原创 (七)Kotlin 小案例与展望未来

文章目录一、Kotlin 的应用场景1、Kotlin Script2、Java 虚拟机应用3、前端开发4、Android 应用开发5、Native 程序二、Kotlin Script 实例1、安装 Kotlin 编译库Windows下Kotlin命令行开发环境安装其它可选的安装平台2、编译执行Kotlin Script(.kts) 文件三、Kotlin Android 实例1、Kotlin And...

2018-12-13 15:04:44 406

原创 (六)Kotlin 与 Java 混合开发

文章目录一、基本互操作1、属性读写2、空安全类型3、几类函数的调用4、几个常用注解的使用5、NoArg 与 AllOpen6、泛型二、SAM 转换三、正则表达式四、集合框架五、IO 操作六、装箱与拆箱七、注解处理器上一篇:[(五)协程 Coroutine](https://blog.csdn.net/qq_20538515/article/details/84988743)下一篇:[(三)Kotl...

2018-12-13 15:02:22 872

原创 (五)协程 Coroutine

文章目录一、协程的概念二、协程要解决什么问题三、kotlin如何支持协程四、协程的基本API五、协程的执行流程六、协程的运行结果七、kotlinx.coroutine 框架介绍上一篇:[(四)Kotlin 领域特定语言 DSL](https://blog.csdn.net/qq_20538515/article/details/84988699)下一篇:[(六)Kotlin 与 Java 混合开发...

2018-12-13 15:00:12 592

原创 (四)Kotlin 领域特定语言 DSL

文章目录一、领域特定语言 DSL的概念二、领域特定语言 DSL的特点三、Html DSL四、Gradle DSL以下内容引用自 : [Kotlin 语言中文站](http://www.kotlincn.net/docs/reference/using-gradle.html#使用-gradle)使用 Gradle[](#使用-gradle)插件和版本[](#插件和版本)针对 JVM[](#针对-...

2018-12-13 14:58:11 759

原创 (三)Kotlin 高阶函数

文章目录一、基本概念二、常见高阶函数(forEach/map/flatMap)三、尾递归优化四、闭包五、函数复合六、Currying (科理化)七、偏函数上一篇:[((二)Kotlin 面向对象](https://blog.csdn.net/qq_20538515/article/details/84987919)下一篇:[(四)Kotlin 领域特定语言 DSL](https://blog.cs...

2018-12-13 14:37:51 335

原创 (二)Kotlin 面向对象

文章目录一、面向对象的概念二、抽象类与接口1、接口2、抽象类3、抽象类和接口的共性3、抽象类和接口的区别三、类的继承与接口的实现接口代理接口方法冲突四、类及其成员的可见性五、object六、伴生对象与静态成员七、方法重载(Overloads)和默认参数重载默认参数方法重载与默认参数八、扩展成员(二次加工)九、属性代理十、数据类(data class)十一、内部类匿名内部类十二、枚举类十二、密封类(...

2018-12-13 14:24:37 283

原创 (一)Kotlin 基础语法

文章目录一、 Kotlin语法1. 变量与常量* 常量:* 变量:* 字符串模板:2. 函数(得函数者得天下)3. Lambda 表达式3. 类成员4. 运算符( +-*/%^? )5. 异常捕获6. 具名参数7. 变长参数8. Spread Operator9.默认参数10. 导出可执行程序一、 Kotlin语法1. 变量与常量<修饰符> <变量/常量名>[:类型]...

2018-12-13 14:15:06 320

原创 CentOS 7 环境配置

一、Centos7如何修改ssh默认端口221. 修改 sshd_config 端口编辑sshd_config 配置文件$ vi /etc/ssh/sshd_config取消 #Port 22 的注释,在下一行添加你需要修改的新端口 Port10022。(这里不删除 22 端口是为了防止修改后新端口无法访问,造成无法用 ssh 连接服务器。)Port 22 Port 10...

2018-10-11 11:06:27 1117

原创 配置项目构建完成后邮件通知---- Jenkins自动化部署学习笔记(四)

  在之前的文章中,跟大家介绍了配置Jenkins程序, 使用Jenkins 进行自动化构建,构建成功后的文件移动,这篇文章,我们来说说构建任务失败怎么邮件通知相关人员。一、全局邮件配置在Jenkins 的主视图下点击系统管理 -> 系统设置 ,在系统设置中找到 Jenkins Location 区块,这这一区块中,有两个需要配置的A:Jenkins URL 值为自己Jenk...

2018-10-11 11:05:14 2674

原创 IDEA 创建类注释模板和方法注释模板

  在使用Idea的时候,它的注释模板很简单,不够详细;所有大多数开发者都想设置一个比较详细的注释模板,我现在把我了解的创建类注释模板和方法注释模板的操作记录下来,分享给大家我们需要定义的注释模板如下:类注释模板:方法注释模板:一、设置IDEA 中的类注释模板File -> Settings -> Editor -> File and Code Templates ...

2018-10-11 11:03:12 2898

原创 配置项目构建完成后文件移动---- Jenkins自动化部署学习笔记(三)

  在前两篇文章中,跟大家分享了在 Windows 系统上安装 Jenkins 和使用 Jenkins 进行 Android 项目的编译打包;相信可能会有人疑问,打包完成之后,我需要将 apk 文件放入指定位置怎么办。  其实,Jenkins 功能很强大,它可以配置在打包完成之后将你所需的文件拷贝至目标路径,亦可配置在打包完成后(成功/失败),邮件通知相关人员。下面详细介绍:一、将打好的包移动...

2018-10-11 11:01:55 4754

原创 自动化构建Android项目 ---- Jenkins自动化部署学习笔记(二)

  上篇文章跟大家分享了在Windows上安装Jenkins的方法,这篇文章来跟大家分享一下利用Jenkins自动化构建Android项目:一、所需准备:Android项目上传至版本管理平台,这里我准备了Github上的Android项目https://github.com/onestravel/WebView404Example.git配置Android SDK环境变量参考上篇文章,我...

2018-10-11 11:00:59 948

原创 在Windows系统上安装Jenkins ---- Jenkins自动化部署学习笔记(一)

  之前一直想着学习一下Jenkins自动化部署,最近刚好有点时间,就利用这点时间来学习一下Jenkins自动化部署,做个笔记,既可以巩固自己的学习,也可以帮助更多的人了解Jenkins自动化部署。  先从简单的开始,我们先用Windows系统来安装Jenkins,当然以后肯定会在Ubuntu上进行Jenkins安装配置的。一、安装前准备:JDK1.7,或者JDK1.8:Jdk下载地址...

2018-10-11 10:58:53 1084

原创 从零开始-使用IDEA创建SpringBoot项目

*注:此文章谨以记录学习过程,分享学习心得!刚刚开始了解SpringBoot框架,觉得很好用,觉得很有必要深入学习一下该框架,现在就来创建一个SpringBoot项目:1、在IDEA上新建一个Project,选择Spring Initializr,Project SDK 选择安装的JDK;Choose Initializr Service URL 选择默认(Default:https:/...

2018-10-11 10:56:58 1957

原创 最全idea快捷键总结,大幅度提高工作效率

前言刚开始使用idea的同学可能不熟悉idea的快捷键方式,觉得没有eclipse的好用,但是不建议把idea的keymap改成eclipse,因为idea的快捷键设计有它独到的一面,刚开始使用不习惯,但是用多了就会觉得这些快捷键非常好用,大幅度提高工作效率,听说大神们合理使用idea快捷键可以实现全键盘操作呢。so,不要固步自封,尝试新事物吧,你会发现一片新的天空(海阔天空)~系统默认的快捷...

2018-10-11 10:55:32 3020

原创 Linux 用户、用户组添加修改删除(ubuntu、centos)

一、LINUX(UBUNTU/CENTOS)用户添加删除修改1、建用户:adduser web #新建web用户useradd web #添加web 用户passwd web #给web用户设置密码useradd web -g admin -n -m #...

2018-10-11 10:53:58 282

原创 Github+域名搭建个人主页(个人博客)

Github+域名搭建个人主页(个人博客)一、工作准备搭建个人主页需要做的准备工作有两个:1)、注册Github账号,注册Github账号是免费的,Github网站地址:https://github.com/github点击Sign up进入注册页面,总共有三步,按照步骤填入相应的信息即可。第一步:第二步:第三步:注册步骤完成之后点击邮箱验证后,就注册成功了。2)、注册...

2018-10-11 10:51:34 3680 5

原创 Html5利用AppCache和LocalStorage实现缓存h5页面数据

最近在开发的过程中遇到了一个问题,就是在Android上通过WebView加载Html5页面时发现页面加载速度慢,再加上网络速度慢,每次请求需要5s左右的时间,严重影响用户体验,所以查询资料,最终找到一个可以解决加载缓慢的方法,现在介绍给大家:1、使用AppCache机制实现缓存html,css,js文件和一些本地图片,这种缓存方法使用manifest文件进行缓存数据,一般manifest文件默认后

2016-10-09 00:22:38 14568

JSONTools网络请求,json格式化

JSONTools实现网络请求json数据,进行json数据格式化,字符串base64,MD5加密解密,urlEncode编码/转码功能,帮助程序猿提高工作效率。 谢谢大家支持!

2018-01-20

接口请求(request),Json格式化工具

该工具适用于码友们在开发过程中进行接口的测试和json数据的格式化,以及常用编码的转换,方便快捷,无需安装,解压后即可使用(windows系统直接双击start.cmd即可打开,其他平台,在确保有JDK开发环境的情况下双击jsontools.jar亦可打开)

2017-07-27

JSONTools 数据请求+JSON格式化

方便广大前段程序员进行接口测试,进行Get或者Post请求,验证接口的正确性,并且可以对Json数据进行格式化处理。

2016-05-07

JSONTools json格式化+json请求

该软件为普通Android程序员调试JSON接口提供了一定的方便, 程序员们可以使用该软件模拟POST和GET请求,调试接口, 也可以进行JSON数据的格式化。

2015-12-27

友盟第三方登录demo

集成友盟的第三方登录和分享,包括QQ,微信,微博,人人

2015-12-17

android中利用广播实现指定电话号码的短信的拦截 源码

利用广播进行过滤短信,可以将你需要加密的短信显示到这个app上,而不会在显示到系统自带的短信中

2015-10-12

记事本(带图形解锁)

简易记事本,并且带图形解锁,保护您的私密记事

2015-10-11

Android简易计算器的实现

实现简易计算器,可以进行表达式的计算,容错性也还不错

2015-10-11

运动会计分系统MUL图设计

该文档对运动会计分系统进行了详细的分析,根据各项功能画出所对应的类图,对象图,活动图,时序图,构件图 等等。

2015-06-26

空空如也

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

TA关注的人

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