Android NDk开发系列之字符串操作

接着前面的Hello篇章,我们继续开拓,如果没有搭建好Hello JNI的童鞋呢,先去看博主的第一篇,传送门:
JNI环境搭建

1.字符串操作

使用c代码创建一个Java字符串

上一篇中我们使用了一个方法,来生成一个字符串,那博主就创建了一个新的项目,然后和上一篇的步骤是一样的,如果不会的请移步哦
博主创建的.c文件内容为:

#include <jni.h>
#include <string.h>

JNIEXPORT jstring JNICALL Java_com_xiaojinzi_basedatasove_MainActivity_getString(
        JNIEnv * e, jobject jb) {
    return (*e)->NewStringUTF(e, "hell JNI");
}

可以看到非常简单,就是创建了一个字符串,然后返回,在java层就可以调用此方法来获取此字符串啦

public class MainActivity extends Activity {

    static {
        System.loadLibrary("demo");
    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }

    public void clickView(View v) {
        Toast.makeText(this, "content:" + getString(), Toast.LENGTH_LONG).show();
    }

    private native String getString();

}

博主这里加载的.so文件名称是demo,和上一篇的是不一样的,请填写你自己在Android.mk文件中填写的名称
效果如下

这里写图片描述

把Java字符串转换成c字符串

我们先改变本地方法的参数,在MainActivity中修改

private native String getString(String content);

然后我们需要在对应的本地实现中改变输入的参数,然后使用

未完待续

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值