基于 Android NDK 的学习之旅-----Java 调用C

2014-11-24 10:24:41 · 作者: · 浏览: 0

随便谈谈为什么要Java调用C 吧:


我认为:


2、 C的速度一般是java的10-20倍把,有些对速度要求高的就需要在C中实现。例如我以前在Android项目中有要求批量(10000++)生成MD5的值,由于测试对java中直接生成的效果不满意,所以后面就换成C去实现了。


3、 …..


不罗嗦了,直接开始吧。


1、主要流程


a) Java声明本地接口 add(int x, int y)


b) C 中 实现 add(int x,int y)


c) JNI中 java方法调用C 中的 add(intx,int y),并把结果返回


d) Android 上层显示结果


2、设计实现


1、界面设计如下:



比较搓一点,大家别见笑(嘎嘎),代码不贴了,兄弟们可以直接下载整个工程


2、 Android 上层关键代码


public native int add(int x, int y);


该方法就是 要让 C 实现的本地方法。


MainActivity.java