Android NDK C掉java java调C 的demo

  • Y1_132887
    了解作者
  • 135.7KB
    文件大小
  • zip
    文件格式
  • 0
    收藏次数
  • VIP专享
    资源类型
  • 0
    下载次数
  • 2022-06-13 22:10
    上传日期
在 eclipse 中 配置 NDK 的编译环境 android-ndk-r7b-windows或者 android-ndk-r8e-windows-x86 配置一下,就可以运行了!
TestNDK_01_original.zip
内容介绍
package com.example.hellojni; import java.io.UnsupportedEncodingException; import android.app.Activity; import android.os.Bundle; import android.util.Log; import android.widget.TextView; public class HelloJni extends Activity { static { System.loadLibrary("hello-jni"); } @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Tools tools = new Tools(); TextView tv = new TextView(this); Log.d("pz", "-------<<<<<<<<,-----------"); byte[] arg = new byte[100]; tv.setText(stringFromJNI(arg)); Log.d("pz", "------ 把 byte[] 转化为 String------第一种 处理方式-----可以但有问题--------------"); String argString = tools.getDate2(arg); Log.d("pz", "------argString------- : " + argString); Log.d("pz", "------ 把 byte[] 转化为 String------第二种 处理方式------推荐非常好用-------------"); String string = new String(arg); String[] strings = string.split("\0"); String string2 = ""; try { string2 = new String(strings[0].getBytes("GBK"), "UTF-8"); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } Log.d("pz", "------string ------- : " + string); Log.d("pz", "------strings[0] ------- : " + strings[0]); Log.d("pz", "------string2 ------- : " + string2); Log.d("pz","------------------------------ 十进制 ------------------------------------"); Log.d("pz", "----arg[0]---- : " + arg[0]); Log.d("pz", "----arg[1]---- : " + arg[1]); Log.d("pz", "----arg[2]---- : " + arg[2]); Log.d("pz", "----arg[3]---- : " + arg[3]); Log.d("pz", "----arg[4]---- : " + arg[4]); Log.d("pz", "----arg[5]---- : " + arg[5]); Log.d("pz","-------------------------- 十六进制 ------------------------------------"); Log.d("pz", "----arg[0]---- : " + Integer.toHexString(arg[0]));; Log.d("pz", "----arg[1]---- : " + Integer.toHexString(arg[1])); Log.d("pz", "----arg[2]---- : " + Integer.toHexString(arg[2])); Log.d("pz", "----arg[3]---- : " + Integer.toHexString(arg[3])); Log.d("pz", "----arg[4]---- : " + Integer.toHexString(arg[4])); Log.d("pz", "----arg[5]---- : " + Integer.toHexString(arg[5])); Log.d("pz","------------------------------ 字符 ------------------------------------"); Log.d("pz", "----arg[0]---- : " + (char)arg[0]); Log.d("pz", "----arg[1]---- : " + (char)arg[1]); Log.d("pz", "----arg[2]---- : " + (char)arg[2]); Log.d("pz", "----arg[3]---- : " + (char)arg[3]); Log.d("pz", "----arg[4]---- : " + (char)arg[4]); Log.d("pz", "----arg[5]---- : " + (char)arg[5]); setContentView(tv); Log.d("pz", "--------------c调java中的方法--------------------------"); DataProvider.callmethod1(); DataProvider.callmethod2(); DataProvider.callmethod3(); DataProvider.callmethod4(); } public native String stringFromJNI(byte[] arg); public native String unimplementedStringFromJNI(); }
评论
    相关推荐