java 调用c ndk_Android NDK开发之从Java与C互调中详解JNI使用(一)

生活

这一个礼拜过得真的是苦不堪言,上周因为打球脚踝直接扭伤,肿的想猪蹄一样,然后休息几天消肿了,可以缓慢龟速的行走了,然而五一回来上班第一天,上班鞋子还能穿上,下班脚已插不进鞋子里面了,好吧,又肿回来了,苦逼。

正文

回到正文,上篇我们已学习到了Android NDK开发之从环境搭建到Demo级十步流,主题是DNK环境搭建和Demo示例开发步骤,而今天我们要学习的是通过JNI实现Java和C之间的交互。

对于JNI的理解,上一节也已讲过,这里在回顾下:

JNI:Java Native Interface 也就是java本地接口,它是一个协议,这个协议用来沟通java代码和本地代码(c/c++)。通过这个协议,Java类的某些方法可以使用原生实现,同时让它们可以像普通的Java方法一样被调用和使用,而原生方法也可以使用Java对象,调用和使用Java方法。也就是说,使用JNI这种协议可以实现:java代码调用c/c++代码,而c/c++代码也可以调用java代码。

接下来就以一个登录实例来详细的讲解使用JNI来完成Java与C代码之间的交互。

Java 调用 C 本地方法

JNI使用演示

一、首先先构造登录界面

登录界面中有三个文本输入框,分别对应用户名,密码,验证码。详情如下

db0c2f256ff271d033550a180ee62871.png

二、在Java2CJNI类中添加我们登录的login本地方法,且方法中带有三个不同类型的参数

4d9d71490048cbb58cda24af396e9b81.png

三、使用javah生成头文件,并存放在jni文件夹下,且在本地方法中实现我们的登录逻辑(具体的逻辑将会在下面的JNI使用中详细讲解)

6e4b5271ce7a8c6e1e0b7bea3c32285d.png

四、在我们的MainActivity中调用本地方法

8d141f556353a986947a09795214d297.png

五、来看执行结果

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值