android JNI java与C++传递String数组(引用类型)
16lz
2022-03-19
android java
public class MainActivity extends AppCompatActivity { static{ System.loadLibrary("myndk"); } private TextView textView; public native String getStr(String[] oa); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); textView = (TextView)findViewById(R.id.text); String[] oa={"你呀","我呀"}; textView.setText(getStr(oa)); }}
#include #include JNIEXPORT jstring JNICALLJava_com_myndk_MainActivity_getStr(JNIEnv *env, jobject instance,jobjectArray oa){ jsize size = env->GetArrayLength(oa); for(int i=0;iGetObjectArrayElement(oa,i); std::string sstr = (std::string)env->GetStringUTFChars(obj,NULL);//得到字符串 } std::string str="NDK"; return env->NewStringUTF(str.data());}
更多相关文章
- Android(安卓)一张图理解getWidth和getMeasuredWidth
- 详解Android(安卓)getWidth和getMeasuredWidth
- Android(安卓)时间戳和时间之间的转化
- 自定义VIEWGROUP的一个用法
- Android(安卓)获得屏幕大小
- Android各版本占比信息统计
- Android支持的媒体格式
- 【Android】使RecyclerView 支持setEmptyView
- Android常用功能代码块