Android 下 JNI 开发Day1
Day1
JNI简介-25
01_什么是JNI
1、JNI(Java Native Interface) java本地开发接口
JNI 是一个协议
有了这个协议可以使Java代码和C/C++代码相互调用.
画图理解:
02_为什么用JNI
1、JNI扩展了java 虚拟机的能力, 驱动开发 (wifi-hotspot) 2.3 无线热点共享
2、Native code效率高,数学运算,实时渲染的游戏上,音视频处理 (极品飞车,opengl,ffmpeg)
3、复用代码 (文件压缩,人脸识别…)
4、特殊的业务场景
03_怎么用JNI
1.C/C++语言
2.掌握java jni流程
3.NDK (native develop kits )
C语言入门
1、课程目标
课程结束大家能看懂c代码.会读会调用.
安排:
基本数据类型
基本输入输出函数
数组
指针
结构体
枚举
1、C语言第一个程序-13
A:第一个C程序
A:安装Dev-c++工具
B:演示编译运行
C语言代码在window系统编译后生成.exe文件
Visual C++
C :代码注释
//include 相当于Java中的 import导包;
//.h文件是C语言中的头文件,里面申明很多函数。
//stdio.h: standard input&output 标准的输入输出流
#include <stdio.h>
//导入stdlib.h c语言的标准库。
#include <stdlib.h>
//主程序入口 public static void main(String args[]) {}
main()
{
// 输出日志。相当于Java中的 System.out.print("Hello world ! \n")
printf("Hello world !\n");
//向 dos命令行执行一个命令:pause
system("pause");
}
D:演示调用window中的一下软件命令,加深system("pause");的理解
在控制台演示:
调用画图工具:mspaint
调用计算器:calc
调用服务:services.msc
system("calc");//调出计算器
system("services.msc"); //调出服务列表
E:演示调用Java编译好的.class文件
public class Hello{
public static void main(String []args){
System.out.println("Hello from java !!!");
}
}
进入目录下:cd /d D:\JNI\day1\coder
查看目录下有什么:dir
编译命令:javac Hello.java
执行命令:java Hello
system("java Hello");
直接运行报错,需要把Hello.class文件添加到classpath环境变量中
验证:打开doc命令行:java Hello
Dev-c++工具关闭退出后才起作用。