字符串拼接在java中很常见,比如拼接url路径,那么到了jni开发中怎么使用java中拼接字符串呢?不废话了啊,直接来个案例分析
我们将Android Studio3.0默认创建的工程文本显示从jni中拼接输出…
我们写一个简单的字符串返回的native方法,调用时给“Hello”参数,调用二种不同方式的拼接方法,在屏幕文本时输出内容为:Hello-World以及 Hello,欢迎来到JNI的世界!
以下两个方法是网上很多人采用的,但不是很友好,多次循环调用会出现崩溃。博主最近才发现的,所以在底部重新给出了新的字符串拼接的方式。
MainActivity.java类:
package fj.clover.jnistringbuilder;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
static {
System.loadLibrary("native-lib");
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TextView tv = (TextView) findViewById(R.id.sample_text);
//调用native本地方法调用,实现在屏幕输出Hello-World!
tv.setText(getString("Hello"));
TextView tv1 = (TextView) findViewById(R.id.sample_text1);
//调用native本地方法调用,实现在屏幕输出Hello,欢迎来到JNI的世界!
tv1.setText(getString1("Hello"));
}
/**
* 以下native方法主要是在JNI代码(C++)中实现getStr()方法内容
* @param str
* @return
*/
public