10 2011 档案

摘要: 在Java里面,我们可以把一些类放到.jar文件里面,然后用ClassLoader动态加载。例如:view plainURLClassLoaderucl=URLClassLoader.newInstance(newURL[]{newURL("file:/sdcard/files/test.jar")});Classclazz=ucl.loadClass("com.test.TestClass");但是在Android上面,情况有所不同。首先第一个是jar文件的制作,Java里面直接把.class文件打包到.jar文件里面就可以了,但是Android 的D阅读全文
posted @ 2011-10-11 14:35 白羽雕弓 阅读(72) | 评论 (0) 编辑
摘要: jstring与c++字符串类型转换函数jstring str2jstring(JNIEnv* env,const char* pat){ //定义java String类 strClass jclass strClass = (env)->FindClass("Ljava/lang/String;"); //获取String(byte[],String)的构造器,用于将本地byte[]数组转换为一个新String jmethodID ctorID = (env)->GetMethodID(strClass, "<init>", 阅读全文
posted @ 2011-10-11 09:45 白羽雕弓 阅读(419) | 评论 (0) 编辑
摘要: 基于Android NDK的学习之旅----- C调用Java许多成熟的C引擎要移植到Android平台上使用,一般都会提供一些接口,让Android sdk和jdk实现。下文将会介绍C如何通过JNI层调用Java的静态和非静态方法。1、主要流程1、新建一个测试类TestProvider.javaa)该类提供了2个方法b)一个静态的方法,一个非静态的方法2、JNI中新建Provider.ca)该文件中需要把Java中的类TestProvider映射到C中b)把TestProvider的两个方法映射到C中c)新建TestProvider对象d)调用两个方法3、Android上层调用JNI层4、J阅读全文
posted @ 2011-10-10 16:09 白羽雕弓 阅读(61) | 评论 (0) 编辑
摘要: 基于Android NDK的学习之旅-----JNI数据类型经典老套流程,学编程语言东西,先学它最基础的数据类型,JNI也是如此。JNI定义了一系列基本数据类型和引用数据类型与java想对应。1、基本数据类型下面一张表是描述了Java基本数据类型和JNI中基本数据类型的相对应关系已经占用空间大小。随便观察就能发现,其实就基本数据类型而已,JNI基本数据类型只是比Java基本数据类型前多了个’j’而已当然,JNI中还有个Java中没有的jsize,定义如下:typedef jint jsize;其实jsize整型是用来描述基本指标和大小,没有什么神秘的。2、引用数据类型JNI引用类型与Java的阅读全文
posted @ 2011-10-10 16:07 白羽雕弓 阅读(16) | 评论 (0) 编辑