jni 复杂类型参数传递测试全记录

7 篇文章 0 订阅

使用android studio直接创建带有C++的安卓项目,C++文件地址为./app/src/main/cpp/native-lib.cpp

具体代码全部放在了GitHub上,地址如下

GitHub

下面是Java的本地方法

    //返回一个字符串
    public native String stringFromJNI();

    //返回传入的字符串,做处理
    public native String stringFromJNI2(String str);

    //返回一个数字
    public native int intFromJNI();

    //返回传入的数字做处理
    public native float intFromJNI2(float num);

    //返回一个对象 使用无参构造函数
    public native A objFromJNI();

    //返回一个对象 使用有参数构造函数
    public native A objFromJNI2();

    //返回一个对象数组
    public native A[] arrObjFromJNI();

    //返回一个二维对象数组
    public native A[][] arrObjFromJNI2();

    //返回一个ArrayList<Object>
    public native ArrayList<A> listFromJNI();

    //传入一个对象 从java向cpp传值
    public native void objToJNI(A a);

    //传入一个对象 从cpp向java传值
    public native void objToJNI2(A a);

    //返回一个对象 成员是复杂类型
    public native B objPorpertyJNI();

    //返回一个对象 方法的参数是复杂类型
    public native B objPorpertyJNI2();

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值