当前位置:   article > 正文

JNI初步(三)更新UI例子_uijnij.i

uijnij.i

1.在Activity中编写native方法

  1. package com.godv.ccalljava;
  2. import androidx.appcompat.app.AppCompatActivity;
  3. import android.os.Bundle;
  4. import android.util.Log;
  5. import android.view.View;
  6. import android.widget.Toast;
  7. public class MainActivity extends AppCompatActivity {
  8. @Override
  9. protected void onCreate(Bundle savedInstanceState) {
  10. super.onCreate(savedInstanceState);
  11. setContentView(R.layout.activity_main);
  12. }
  13. public void showToa(View view) {
  14. toastCallBack();
  15. }
  16. public native void toastCallBack();
  17. public void showToast(){
  18. Log.i("godv","更新UI");
  19. Toast.makeText(this, "godv", Toast.LENGTH_SHORT).show();
  20. }
  21. }

2.生成  .h  文件  重写  .c  中的方法  

  1. JNIEXPORT void JNICALL Java_com_godv_ccalljava_MainActivity_toastCallBack
  2. (JNIEnv * env, jobject instance)
  3. {
  4. jclass jclazz = (*env)->FindClass(env,"com/godv/ccalljava/MainActivity");
  5. jmethodID jids = (*env)->GetMethodID(env,jclazz,"showToast","()V");
  6. (*env)->CallVoidMethod(env,instance,jids);
  7. }

3.在activity调用

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/133241
推荐阅读
相关标签
  

闽ICP备14008679号