<Linearlayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@id/top" >
<include layout="@layout/otherlayout">
</Linearlayout
include不是一个对象,它只是一条预处理指令,通过这指令你就可以使用C/C++函数库中的函数。如:<!--#include “头文件名”-->
java要调用C/C++的函数库中的函数的话,可以通过JNI(java本地接口)来实现。
介绍一下简单的流程:
1、首先在java中申明一个本地的方法(Native修饰),不要去实现这个方法。
2、接着通过javah命令编译这个java文件,生成一个扩展名为.h的头文件,在这个头文件中编译器会自动为你申明一个跟你在java中申明的本地方法相对应的一个函数。
3、然后创建一个.c或者.cpp的文件,在里面实现第三步生成的那个函数,在这个文件中需要将第三步的那个头文件include进来。
4、再使用gcc(在linux下)或者其他方法将你实现的本地代码生成动态链接库也叫做共享库。以前做windows开发的人都知道动态链接库.dll,但是android是基于linux,在linux有一扩展名为.so的文件,它其实跟在windows中的dll库文件差不多,这一步就是生成.so文件。
5、你需要在你的java程序中加载这个库文件(.so文件),比如:
System.load(你的库文件路径);
你就可以在你的程序其他地方调用在第一步申明的那个本地方法了。
6、最后就是运行java程序。
举个在java中的代码的例子:
public class MyJNI{
static {
try{
System.load("/home/Jni/test.so")//也可以使用loadLibrary方法,区别的话你可以去百度一下
}catch(UnsatisfiedLinkError e){Log.e("JNI",e.toString())}//抛出找不到对应的本地语言定义的异常
}
public static native String method_name(int params)//申明本地方法,这些参数返回值都是根据自己需要定义的
public String usingNativeMethod(int x){
method_name(x) //跟普通成员函数一样调用
}
}
详细的如何使用JNI可以参考一些专业的博客。
安卓手机可以用includewindows.h。编译器是安卓版叫c4android,可以用includewindows.h。安卓(Android)是一种基于Linux内核(不包含GNU组件)的自由及开放源代码的 *** 作系统。主要使用于移动设备,如智能手机和平板电脑,由美国Google公司和开放手机联盟领导及开发。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)