适合人群: 适合有编程基础的人群
课程标签: Android高级开发NDK课程安卓进阶
Android NDK开发、JNI、Android系统源码解析等懂Android基础编程工程师或爱好者
01-NDK简介
Window环境-Cygwin安装
Window环境-eclipse-配置环境变量
Window环境-eclipse-NDK实现
Window环境-AS-NDK实现
Mac环境-eclipse-NDK实现
Mac环境-AS-NDK实现
C语言-开发工具
C语言-入口函数
C语言-基本数据类型
C语言-输入输出函数
C语言-内存地址
C语言-指针-存储内容
C语言-指针-修改值-错误写法
C语言-指针-修改值-正确写法
Java-修改值-实现
OC-修改值-实现
C语言-外挂程序
C语言-指针为什么有类型?
课前说明
指针地址-指针和地址区别?
指针地址-空指针
指针地址-空指针-补充
指针地址-二级指针
指针地址-二级指针-加深理解
指针运算-算术运算
指针运算-算术运算-补充
指针运算-使用指针循环给数组赋值
指针运算-数组内部指针的加减
指针运算-指针大小比较
指针运算-指针与数组的几种写法
指针运算-指针与二维数组-上
指针运算-指针与二维数组-下
内容回顾
函数指针
函数指针-案例
动态分配内存-栈区
动态分配内存-分区
动态分配内存-补充
动态分配内存-回收内存-free方法
动态分配内存-malloc方法
动态分配内存-重新分配内存-calloc和realloc方法
动态分配内存-注意事项
VSCode跨平台工具使用
字符串-存储字符串
字符串-字符指针存储字符串
字符串-获取字符串长度
字符串-字符串拼接
字符串-字符串拷贝
字符串-字符串拷贝-补充
字符串-查找字符
字符串-大小比较
字符串-大小比较
字符串-字符替换
字符串-字符顺序
字符串-字符类型转换
字符串-大小写转换
字符串-删除指定字符
结构体-第一种定义-默认
结构体-第二种定义-初始化
结构体-第三种定义-嵌套
结构体-第四种定义-匿名结构体
结构体-第五种定义-结构体与数组
结构体-结构体和指针
结构体-字节对齐
结构体-结构体与动态内存分配
结构体-结构体取别名(typedef)
联合体-定义与原理分析
联合体-匿名联合体-第一种定义
联合体-匿名联合体-第二种定义
联合体-联合体取别名
枚举-定义和使用
枚举-补充
文件操作-文本文件-读取
文件操作-文本文件-写入
文件操作-二进制文件-读写
文件操作-获取文件大小
文件操作-文本文件-加密
文件操作-文本文件-解密
文件操作-二进制文件-密码加密
文件操作-二进制文件-密码解密
文件操作-文件分割与合并
课后说明
JNI语法-生成dll动态库
JNI语法-分析方法含义
JNI语法-模拟JNIEnv原理
JNI语法-jobject含义
JNI语法-基本数据类型和引用类型
JNI语法-C和C++调用Java类实例属性
JNI语法-C和C++调用Java类静态属性
JNI语法-C和C++调用Java类实例方法
JNI语法-C和C++调用Java类静态方法
构造方法-子类方法
构造方法-构造方法
构造方法-写入文件
常量指针
指针常量针
父类方法
Log日志调试
Windows和Linux中文乱码问题
JNI-数组-C排序返回Java
JNI-数组-C产生数组返回Java
JNI-JNI引用-局部引用
JNI-JNI引用-全局引用
JNI-异常-总结1
JNI-异常-总结2
JNI-缓存策略-static缓存
JNI-缓存策略-初始化方式
JNI-include指令-Mac环境
JNI-include指令-Windows环境
JNI-include指令-直接引入.c文件
JNI-define指令-定义标识
JNI-define指令-定义常数
JNI-define指令-定义宏函数-案例-比较大小
JNI-define指令-定义宏函数-案例-方法名
JNI-define指令-定义宏函数-案例-Log日志
JNI-条件预处理命令
JNI-POISX线程-C中实现
JNI-Build工具-mk文件分析
JNI-Build工具-Mac环境调试运行C和C++代码
JNI-Build工具-Windows环境-自动编译动态库
JNI-Build工具-Windows环境-调试C和C++代码
JNI-Build工具-Mac环境-AS使用快速开发
JNI-C子线程操作JNIEnv环境指针
JNI-Windows下VSCode工具配置
JNI-开发环境说明
JNI-Linux平台-Socket编程-服务端
JNI-Linux平台-Socket编程-客户端
JNI-Android平台-Socket编程-服务端
JNI-Android平台-Socket编程-客户端
CPP-Cpp中常量
CPP-Cpp与C中常量区别
CPP-Cpp中指针的引用
CPP-Cpp中指针的引用-补充
CPP-Cpp中常引用
CPP-Cpp中内联函数
CPP-Cpp中内联函数和宏函数区别
CPP-Cpp中函数参数
CPP-Cpp中函数参数-可变参数
CPP-Cpp中定义类
CPP-内容回顾
CPP-构造函数
CPP-析构函数
CPP-new关键字
CPP-拷贝函数
CPP-拷贝函数-场景
CPP-浅拷贝和深拷贝
CPP-类-对象属性初始化
CPP-new和delete关键字
CPP-static关键字-修饰属性
CPP-static关键字-修饰函数
CPP-对象大小
CPP-const修饰函数
CPP-友元函数
CPP-友元类
CPP-对象管理-发现问题
CPP-对象管理-解决问题
CPP_课前说明
CPP-指针和引用-区别
CPP-指针和引用-分析
CPP-指针和引用-场景
CPP-运算符重载-加减运算符-public
CPP-运算符重载-加减运算符-private
CPP-运算符重载-自增减运算符
CPP-运算符重载-输出函数
CPP-运算符重载-等号运算符
CPP-运算符重载-括号运算符
CPP-运算符重载-条件运算符
CPP-重载运算符-中括号
CPP-继承-语法
CPP-继承-初始化父类属性
CPP-继承-初始化父类属性-补充
CPP-继承-成员函数重写
CPP-继承-多继承
CPP-继承-虚函数
CPP-父类类型指针-虚函数回顾
CPP-父类类型指针-分析对象大小
CPP-父类类型指针-分析对象数组问题
CPP-纯虚函数-语法定义
CPP-纯虚函数-类似Java接口说明
CPP-函数模板-函数模板定义
CPP-函数模板-与函数重载同时存在
CPP-函数模板-原理分析
CPP-模板类-语法定义
CPP-模板类-父类是模板类同时子类也是模板类
CPP-函数指针作为函数参数
CPP-模板类-重载运算符
CPP-模板类-注意事项
CPP-模板类-使用static关键字
CPP-模板类-实现类似Java集合-基本实现
CPP-模板类-实现类似Java集合-删除元素
CPP-模板类-实现类似Java集合-运算符重载
CPP-模板类-实现类似Java集合-保存对象
CPP-类型转换-静态类型转换-static_cast
类型转换-常量类型转换-const_cast
CPP-类型转换-强制类型转换-reinterpret_cast
CPP-类型转换-动态类型转换-dynamic_cast
CPP-补充
CPP-异常处理-语法-函数内部处理异常
CPP-异常处理-语法-函数向外抛异常
CPP-异常处理-语法-函数向外抛异常-指定抛出异常类型
CPP-异常处理-抛出对象异常
CPP-异常处理-内部类
CPP-异常处理-异常继承
CPP-异常处理-标准异常
CPP-IO流-文本文件-写文件
CPP-IO流-文本文件-读文件
CPP-IO流-文本文件-追加内容
CPP-IO流-二进制文件-读写
CPP-IO流-二进制文件-对象持久化
CPP-解决上一次课问题
CPP-string类-初始化
CPP-string类-遍历
CPP-string类-和char数组
CPP-string类-字符串查找
CPP-string类-字符串替换
CPP-string类-字符串删除
CPP-string类-字符串插入
CPP-string类-大小写转换
CPP-vector容器类-添加和插入
CPP-vector容器类-修改和删除
CPP-vector容器类-遍历
CPP-deque双向队列
CPP-queue队列-基本使用
CPP-queue队列-优先级
CPP-stack栈-基本使用
CPP-list-基本使用
CPP-list-删除
CPP-list-插入
CPP-set-基本使用(元素唯一)-默认从小到大排列
CPP-et-基本使用(元素唯一)-从大到小排列
CPP-set-自定义排序规则
CPP-set-查找
CPP-multiset-基本使用
CPP-map-基本使用
CPP-map-删除
CPP-map-查找
CPP-multimap-一对多
CPP-vector-浅拷贝和深拷贝
CPP-上次课问题
CPP-函数对象-语法
CPP-函数对象-容器遍历
CPP-函数对象-谓词-一元谓词
CPP-函数对象-谓词-二元谓词
CPP-函数对象-谓词-案例
CPP-函数对象-谓词-原理分析-一元谓词
CPP-函数对象-谓词-原理分析-二元谓词
CPP-预定义函数-案例-集合元素相加
CPP-预定义函数-plus
CPP-预定义函数-函数适配器
CPP-常用遍历算法
CPP-常用查找算法+常用排序算法
CPP-常用-拷贝+替换+排序+生成+集合-算法
CPP-综合案例-上
CPP-综合案例-下
CPP-上一次课问题
JNI应用-音视频原理
JNI应用-视频信息查看软件
JNI应用-封装格式
JNI应用-视频像素数据
JNI应用-音频采样数据
JNI应用-FFmpeg命令工具使用
FFmpeg-环境配置流程
FFmpeg-集成AS
FFmpeg-获取视频信息-老版本-上
FFmpeg-获取视频信息-老版本-下
FFmpeg-获取视频信息-新版本
FFmpeg-视频解码
FFmpeg-视频解码-新API学习
SDL-EC环境搭建
SDL-AS环境搭建
SDL-播放视频
复习
边解码边播放
音频解码
视频转码压缩-环境配置
视频转码压缩-功能实现
播放音频-SDL环境配置
播放音频-功能实现
NDK-JIN应用-FFmpeg-视频添加水印+多媒体解决方案
NDK-JIN应用-FFmpeg-视频添加水印+多媒体解决方案
NDK-JIN应用-FFmpeg-视频添加水印+多媒体解决方案
NDK-JNI应用-OpenCV-图像灰度处理
NDK-JNI应用-OpenCV-图像灰度处理
NDK-JNI应用-OpenCV-图像灰度处理
NDK-JNI应用-OpenCV-图像灰度处理
序号
标题
下载共36节 · 10小时59分钟
¥10.0012959人在学
共45节 · 41小时40分钟
¥8.8073514人在学
共153节 · 42小时6分钟
¥199.0058570人在学
共10节 · 1小时23分钟
¥90.0012876人在学
评价
给该课程打分: