本文使用的Android Studio版本是windows版Android Studio Bumblebee | 2021.1.1 Patch 2
先看下最终效果:
检查NDK和CMake是否已经下载了,这一步不难,具体步骤就不细说了。下载好了如下图:
CMakeLists.txt
和native-lib.cpppublic native String getStringData();
,按住alt+Enter,如下图:extern "C"
JNIEXPORT jstring JNICALL
Java_com_example_jnidemo3_MainActivity_getStringData(JNIEnv *env, jobject thiz) {// TODO: implement getStringData()
}
打开C++代码提示
打开C++代码提示后,会看到自动提示NewStringUTF函数
增加代码如下
extern "C"
JNIEXPORT jstring JNICALL
Java_com_example_jnidemo3_MainActivity_getStringData(JNIEnv *env, jobject thiz) {std::string name = "my name is James";return env->NewStringUTF(name.c_str());
}
tv.setText(getStringData());
MainActivity完整代码如下:
public class MainActivity extends AppCompatActivity {// Used to load the 'jnidemo3' library on application startup.static {System.loadLibrary("jnidemo3");}private ActivityMainBinding binding;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);binding = ActivityMainBinding.inflate(getLayoutInflater());setContentView(binding.getRoot());// Example of a call to a native methodTextView tv = binding.sampleText;tv.setText(getStringData());}/*** A native method that is implemented by the 'jnidemo3' native library,* which is packaged with this application.*/public native String stringFromJNI();public native String getStringData();
}
直接运行,可以看到文章开头的效果。
上一篇: 二年级数学下册综合测试题
下一篇: 最新喜庆结婚对联