当前位置: 首页 > news >正文

公司门面网站设计企业官网首页设计

公司门面网站设计,企业官网首页设计,京津冀协同发展八周年,网站开发测试阶段在JNI中,本地代码(C/C)中修改了Java对象的变量,并且将其传递回Java端,那么Java端会看到变量的修改,尝试以下两种方式进行修改: 添加native方法 data class MyData(var key:Int,var value:String…

在JNI中,本地代码(C/C++)中修改了Java对象的变量,并且将其传递回Java端,那么Java端会看到变量的修改,尝试以下两种方式进行修改:

  1. 添加native方法

    data class MyData(var key:Int,var value:String
    )class TestLib {companion object{init {System.loadLibrary("jnitest")}}external fun modifyData(data:Int)external fun modifyMyData(data:MyData)
    }var data  = 1
    Log.i(TAG,"in = ${data}")
    testLib.modifyData(1)
    Log.i(TAG,"out = ${data}")
    var myData = MyData(1,"Hello")
    Log.i(TAG,"mydata in = ${myData.toString()}")
    testLib.modifyMyData(myData)
    Log.i(TAG,"mydata in = ${myData.toString()}")
    
  2. C++

     extern "C"JNIEXPORT void JNICALLJava_com_test_jnitest_TestLib_modifyData(JNIEnv *env, jobject thiz, jint data) {data = 2;}extern "C"JNIEXPORT void JNICALLJava_com_test_jnitest_TestLib_modifyMyData(JNIEnv *env, jobject thiz, jobject data) {jclass cls = env->GetObjectClass(data);jfieldID fieldKey = env->GetFieldID(cls, "key", "I");// 获取变量的值jint valueKey = env->GetIntField(data, fieldKey);// 修改变量的值valueKey = 2;// 设置变量的新值env->SetIntField(data, fieldKey, valueKey);jfieldID fieldValue = env->GetFieldID(cls, "value", "Ljava/lang/String;");// 创建一个新的字符串const char *newStr = "World";jstring newString = env->NewStringUTF(newStr);// 设置实体类的String变量env->SetObjectField(data, fieldValue, newString);}
    

    日志打印:

     I/MainActivity: in = 1I/MainActivity: out = 1I/MainActivity: mydata in = MyData(key=1, value=Hello)I/MainActivity: mydata in = MyData(key=2, value=World)
    

第一种方法虽然在JNI中将变量修改为2,但是在Java端仍然保持为1,这是因为在JNI中传递的是变量的值的副本,而不是引用。要在JNI中更改Java对象的变量,需要通过第二种传递对象的引用来实现,使用JNI函数获取和设置变量的值,成功地更改Java对象的变量。

http://www.hkea.cn/news/943622/

相关文章:

  • 设计师灵感网站美国今天刚刚发生的新闻
  • 重庆南岸营销型网站建设公司推荐竞价sem托管
  • 深圳做二维码网站建设什么是互联网营销
  • 网易企业邮箱收费标准百色seo关键词优化公司
  • 做网站的财务需求张北网站seo
  • 北京赛车彩票网站怎么做佛山本地网站建设
  • 门户网站的建设方式有哪些网络推广引流
  • 做中东服装有什么网站免费seo刷排名
  • 做网站用java还是c语言百度竞价推广培训
  • 做动画视频的网站市场监督管理局官网入口
  • 做bbs网站教程军事新闻最新消息今天
  • 在哪儿可以找到网站开发的需求搜索引擎优化介绍
  • 成都网站建设代理加盟网络运营培训班多少钱
  • 太原开发网站公司站长工具端口扫描
  • 域控制网站访问自媒体视频发布平台
  • 广西住房和城乡建设委员会网站湖南网站营销seo多少费用
  • 关键词推广名词解释百度竞价关键词怎么优化
  • 群辉服务器做网站网络优化的内容包括哪些
  • 做淘客的网站岳阳seo
  • 网吧设计方案seox
  • 谁做网站市场营销专业
  • 慈溪外贸公司网站网络营销就业前景和薪水
  • 电商网站建设实训报告长沙网站seo推广公司
  • 阿里云ecs怎么建网站吉林网站seo
  • 企业营销型网站建设的可行性西安竞价托管
  • 做网站如何适应分辨率网站分析培训班
  • 现在币圈有那些私募网站做的好百度推广账号登陆入口
  • 旅游网站图片营销公司排名
  • 做服务器的网站都有哪些搜狗关键词排名此会zjkwlgs
  • php动态网站开发 唐四薪 答案b站引流推广网站