- 博客(7)
- 资源 (6)
- 收藏
- 关注
原创 android JNI学习七
这次尝试做 android 系统 API 的接口,就是生成一个 framework 的 jar 包让 eclipse 导入,然后像普通接口一样 import 包名即可使用的接口。当然,程序要用这个接口运行起来,就需要专门运行这个 framework 的机器了。我在网上下载一个 word 文档中如下写:2在framework中的JNI第一步:编写java类,其并不完整,有部分
2014-03-08 10:29:36
643
原创 android JNI学习六
这次尝试 jni 回调中传递自定义类对象和初始化该对象并写入内容,也就是说,在 java 里没有初始化对象,而是在 C或C++ 里才初始化并写入数据,然后传递到 java 里使用。这个可以用于底层获取数据后发送到上层的。以 android JNI学习五的代码为基础,在 android 工程里 src 文件下就已经有 jData 类public class jData {public i
2014-03-06 16:37:45
503
原创 android JNI学习五
这次尝试 jni 回调,就是 C或C++ 调用 java 方法。主要是使用 jni 的 CallXXXMethod 函数。由于我尝试的例子是 void 型,所以 jni 函数是 CallVoidMethod 。在前面的例子里做修改尝试,先在 MainActivity.java 里删除掉获取图片和显示的代码,添加一个 jni 回调的无参数无返回值方法 answerjnicallback 代码如下
2014-03-06 15:25:07
453
原创 android JNI学习四
这次尝试做 java 与 C++ 的自定义类做参数传递的 jni 实现。目标是在 java 里建一个存放 image 的类,类里有4个成员变量,分别是:像素格式,图片高度,图片宽度和图片数据流。传递这个类到 C++ 里,C++ 把内容写进去,java 显示图片。在 android 工程里添加类文件 jData.java 如下:package com.example.jnicall;
2014-03-06 09:52:05
992
原创 android JNI学习三
这次尝试使用 env->RegisterNatives 的方法向系统注册 jni 的接口。向系统注册,还可以使用 AndroidRuntime::registerNativeMethods 这个方法,要详细内容可自己百度。jni_call.cpp文件修改如下:#include "tools.h"#include #include "JNIHelp.h"#include
2014-03-05 17:04:11
782
原创 android JNI学习二
在上一篇里记录了一个个人认为较简单的jni例子,接下来我写一下jni流程,个人观点,也是参考网上资料后写的一些观点吧,如有错误,可指正,谢谢。以上一篇记录里的代码为举例,在java里static {System.load("/system/jni/libjnicall.so");}就是加载so库,这个是制定路径的加载,另外一种方法是System.loadLibrary,各位可自
2014-03-05 16:07:36
899
原创 android JNI学习一
记录一下自己学习JNI的过程,目标是做一个小demo,实现apk简单调用C或C++语言,从而熟悉JNI过程。并记录错误。可以实现java调用C或C++语言,并且从C或C++回调java。以下为个人观点,未必正确,可不参考。JNI就是java调用本地方法的意思,具体来说就是android apk里java调用.so为后缀的库文件里的C或C++函数。我个人认为java调用C有两种,一种是j
2014-03-04 17:20:53
559
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人