Android/NDK开发
文章平均质量分 79
发布,收录Android开发相关博文,感谢大家阅读和留言!
onestravel
冰冻三尺,非一日之寒;为山九仞,岂一日之功;不忘初心,方得始终!
QQ:1130007032
Email:server@onestravel.cn
blog:https://blog.onestravel.cn
展开
-
Retrofit 2.9.0 源码解析
Retrofit 源码解析,a.Retrofit是如何通过声明来实现网络请求的;b.Retrofit是如何支持Kotlin协程的(即如何使用suspend来实现将直接转换为Response的呢);c.Retrofit在设计中使用了哪些设计模式呢;原创 2023-06-27 17:03:59 · 719 阅读 · 0 评论 -
自定义View的流程分析
分析自定义View的``requestLayout``方法,``invalidate``方法,以及``onMeasure``、``onLayout``、``onDraw``方法原创 2020-04-28 10:21:03 · 277 阅读 · 0 评论 -
FiveFiveVideoPlayer 是一个可以高度自定义的视频播放器
FiveFiveVideoPlayer 使用说明FiveFiveVideoPlayer 是一个可以高度自定义的播放器,手势改变亮度,音量,进度;支持调整倍速;可以轻松实现全屏视频播放,列表视频播放,小窗口视频播放1. 效果示例1.1 效果图竖屏效果横屏效果1.2 APK 功能体验demo比较粗糙,请勿介意APK 下载 安装体验扫描二维码图片安装体验(浏览器扫描)2. 快速...原创 2020-03-26 11:23:00 · 1687 阅读 · 0 评论 -
OneActionBar-通用标题头ActionBar封装
OneActionBar 使用说明简介自定义ActionBar,支持属性,java代码方式配置,可实现标题,标题带返回键,搜索,搜索带返回键的ActionBar;配置简单,方便使用,可适应大多数场景。效果图标准标题头,背景透明 style="@style/OneActionBar.Normal"标准标题头,蓝色背景 style="@style/OneActionBar.Normal...原创 2019-11-10 12:03:09 · 353 阅读 · 0 评论 -
(五)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 · 878 阅读 · 0 评论 -
(四)C++中的继承、多态和模板函数
目录C++中的继承、多态和模板函数一、继承1、属性和方法的继承2、通过子类给父类构造方法传参3、继承中父类和子类的权限继承关系4、继承的二义性4.1 继承的二义性定义4.2 继承的二义性定义解决方案二、多态1、虚函数2、发生动态多态的条件3、纯虚函数(抽象类)4、接口5、抽象类的作用二、模板函数(泛型)C++中的继承、多态和模板函数一、继承1、属性和方法的继承继承可以更好的实现代码的重用性...原创 2019-04-02 10:56:19 · 1130 阅读 · 0 评论 -
(三)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 · 690 阅读 · 0 评论 -
(二)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 · 632 阅读 · 0 评论 -
(一)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 · 2112 阅读 · 3 评论 -
(三)JNI 引用、异常处理和缓存策略
目录JNI 引用、异常处理和缓存策略一、JNI 引用变量1、引用类型2、引用的作用3、局部引用的使用4、全局引用的使用5、弱全局引用的使用二、JNI 的异常处理三、JNI 缓存策略1、**局部的静态变量,当程序运行结束之后,变量的值还会在内存中**2、全局变量,动态库加载完成之后,立刻缓存起来JNI 引用、异常处理和缓存策略一、JNI 引用变量1、引用类型JNI 引用的类型分为局部引用和全...原创 2019-03-11 10:06:01 · 311 阅读 · 0 评论 -
(二)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 · 428 阅读 · 0 评论 -
(一)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 · 4543 阅读 · 0 评论 -
(五)C语言之联合体,枚举与IO
目录(五)C语言之联合体,枚举与IO一、联合体(共用体)1、定义2、大小二、枚举1、定义三、IO操作1、读取文本文件2、写入文本文件3、操作二进制文件4、获取文件的大小5、文本文件的加密解密6、二进制文件的加密解密(五)C语言之联合体,枚举与IO一、联合体(共用体)1、定义不同类型的变量共同占用一段内存(相互覆盖),联合变量任何时刻只有一个成员存在,节省内存2、大小联合体变量的大小=最...原创 2019-03-06 18:25:07 · 433 阅读 · 0 评论 -
(四)C语言之结构体
目录(四)C语言之结构体一、什么是结构体二、初始化结构体的变量1. 第一种初始化方式2. 第二种初始化方式三、结构体的几种写法1、第一种写法2、第二种写法,可以在结构体类型的}后,定义结构体变量名,也可以对结构体变量名进行初始化。3、第三种写法:匿名结构体,控制结构体变量的个数(限量版),相当于单例四、结构体嵌套1、分别定义结构体嵌套2、结构体内定义结构体嵌套五、结构体与指针六、结构体数组与指针七...原创 2019-03-06 18:23:56 · 482 阅读 · 0 评论 -
(三)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 · 354 阅读 · 0 评论 -
(二)C语言之动态内存分配
目录(二)C语言之动态内存分配一、静态内存分配二、C语言内存分配1、栈区(stack)2、堆区(heap)3、全局区或静态区4、字符常量5、程序代码区三、静态内存分配与动态内存分配的区别四、内存分配的几个注意细节(二)C语言之动态内存分配一、静态内存分配定义是指定分配的内存长度就是静态内存分配,是在栈内存中分配int a[1024];二、C语言内存分配1、栈区(stack)win...原创 2019-03-06 18:20:12 · 221 阅读 · 0 评论 -
(一) C语言之基本数据类型_输入输出_指针
文章目录(一) C语言之基本数据类型_输入输出_指针一、基本数据类型1、头文件2、基本数据类型(1)、基本数据类型所使用的输出占位符(2)、基本数据类型所占字节数二、输入输出函数1、输入函数2、输出函数三、指针1、指针的定义2、指针的类型3、NULL空指针4、多级指针5、指针运算6、函数指针(一) C语言之基本数据类型_输入输出_指针一、基本数据类型1、头文件引入头文件,在头文件中只有函数...原创 2019-03-06 18:16:50 · 2645 阅读 · 0 评论 -
OneBottomNavigationBar 可以凸起的导航菜单
BottomView 使用说明简介:BottomView 是自定义的一个实现App应用底部导航栏功能的View,可以实现底部 2-5 个导航菜单(一般不会有更多),可以实现某一个菜单凸起的效果,如,有5个菜单,可以选择让第三个菜单凸起(floating),这是很多App都有的功能; 可以根据编写的颜色变化的资源文件来更改图标和文字选中时和未选中时的颜色,可以自由控制是否需要选中(checkab...原创 2019-01-31 10:23:54 · 2598 阅读 · 5 评论 -
(七)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 · 429 阅读 · 0 评论 -
(六)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 · 893 阅读 · 0 评论 -
(五)协程 Coroutine
文章目录一、协程的概念二、协程要解决什么问题三、kotlin如何支持协程四、协程的基本API五、协程的执行流程六、协程的运行结果七、kotlinx.coroutine 框架介绍上一篇:[(四)Kotlin 领域特定语言 DSL](https://blog.csdn.net/qq_20538515/article/details/84988699)下一篇:[(六)Kotlin 与 Java 混合开发...原创 2018-12-13 15:00:12 · 681 阅读 · 0 评论 -
(四)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 · 1313 阅读 · 0 评论 -
(三)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 · 496 阅读 · 0 评论 -
(二)Kotlin 面向对象
文章目录一、面向对象的概念二、抽象类与接口1、接口2、抽象类3、抽象类和接口的共性3、抽象类和接口的区别三、类的继承与接口的实现接口代理接口方法冲突四、类及其成员的可见性五、object六、伴生对象与静态成员七、方法重载(Overloads)和默认参数重载默认参数方法重载与默认参数八、扩展成员(二次加工)九、属性代理十、数据类(data class)十一、内部类匿名内部类十二、枚举类十二、密封类(...原创 2018-12-13 14:24:37 · 710 阅读 · 0 评论 -
(一)Kotlin 基础语法
文章目录一、 Kotlin语法1. 变量与常量* 常量:* 变量:* 字符串模板:2. 函数(得函数者得天下)3. Lambda 表达式3. 类成员4. 运算符( +-*/%^? )5. 异常捕获6. 具名参数7. 变长参数8. Spread Operator9.默认参数10. 导出可执行程序一、 Kotlin语法1. 变量与常量<修饰符> <变量/常量名>[:类型]...原创 2018-12-13 14:15:06 · 454 阅读 · 0 评论 -
配置项目构建完成后邮件通知---- Jenkins自动化部署学习笔记(四)
在之前的文章中,跟大家介绍了配置Jenkins程序, 使用Jenkins 进行自动化构建,构建成功后的文件移动,这篇文章,我们来说说构建任务失败怎么邮件通知相关人员。一、全局邮件配置在Jenkins 的主视图下点击系统管理 -> 系统设置 ,在系统设置中找到 Jenkins Location 区块,这这一区块中,有两个需要配置的A:Jenkins URL 值为自己Jenk...原创 2018-10-11 11:05:14 · 2708 阅读 · 0 评论 -
IDEA 创建类注释模板和方法注释模板
在使用Idea的时候,它的注释模板很简单,不够详细;所有大多数开发者都想设置一个比较详细的注释模板,我现在把我了解的创建类注释模板和方法注释模板的操作记录下来,分享给大家我们需要定义的注释模板如下:类注释模板:方法注释模板:一、设置IDEA 中的类注释模板File -> Settings -> Editor -> File and Code Templates ...原创 2018-10-11 11:03:12 · 2936 阅读 · 0 评论 -
配置项目构建完成后文件移动---- Jenkins自动化部署学习笔记(三)
在前两篇文章中,跟大家分享了在 Windows 系统上安装 Jenkins 和使用 Jenkins 进行 Android 项目的编译打包;相信可能会有人疑问,打包完成之后,我需要将 apk 文件放入指定位置怎么办。 其实,Jenkins 功能很强大,它可以配置在打包完成之后将你所需的文件拷贝至目标路径,亦可配置在打包完成后(成功/失败),邮件通知相关人员。下面详细介绍:一、将打好的包移动...原创 2018-10-11 11:01:55 · 4825 阅读 · 0 评论 -
自动化构建Android项目 ---- Jenkins自动化部署学习笔记(二)
上篇文章跟大家分享了在Windows上安装Jenkins的方法,这篇文章来跟大家分享一下利用Jenkins自动化构建Android项目:一、所需准备:Android项目上传至版本管理平台,这里我准备了Github上的Android项目https://github.com/onestravel/WebView404Example.git配置Android SDK环境变量参考上篇文章,我...原创 2018-10-11 11:00:59 · 984 阅读 · 0 评论 -
Android 利用广播实现黑名单【指定号码】的短信的拦截 附源码下载链接
利用广播实现指定号码的短信的拦截根据最近的学习内容,今天实现了利用广播进行指定号码的拦截步骤: ①、写一个数据库的帮助类,实现对数据库的创建,总共创建两个数据库psms(受保护的短信的数据库)和protectedPhone(受保护的联系人数据库),粘代码:public class DBHelper extends SQLiteOpenHelper { private static fina原创 2015-10-12 20:28:51 · 2699 阅读 · 1 评论 -
View 的setVisibility有三个值:VISIBLE、INVISIBLE和GONE的区别
View 的setVisibility有三个值可以设置: VISIBLE—>可见 INVISIBLE—>不可见,但这个View在ViewGroupt中仍保留它的位置,不重新layout GONE—->不可见,但这个View在ViewGroupt中不保留位置,重新layout,那后面的view就会取代他的位置。 注意:若你在Adapter中的getView或bindview将某些原创 2015-11-05 10:41:15 · 1179 阅读 · 0 评论 -
Android读取SD卡中的媒体文件(MP3)
在Android读取SD卡中的媒体文件(MP3),一是遍历SD卡所有目录,二是读取媒体文件数据库原创 2015-10-11 15:40:44 · 7157 阅读 · 2 评论 -
Android 中级教程之------Android MediaPlayer播放mp3的实例!
Android 中级教程之——Android MediaPlayer播放mp3的实例!标签:Android MediaPlayer mp3 教程 实例 本文转载自 “Android_Tutor” 博客 原创作品,请点击 –> http://weizhulin.blog.51cto.com/1556324/311694大家好我们今天研究的是Android中很重要也最为复杂的媒体播放器—Media转载 2015-10-11 14:30:09 · 1030 阅读 · 0 评论