摘要:
这一节增加打印LOG的内容,需要在C那边修改两个地方即可以了 : c源文件:#include//修改日志tag中的值#define LOG_TAG "logfromc"//日志显示的等级#define LOGD(...) __android_log_print(ANDROID_LOG_DEBUG, LOG_TAG, __VA_ARGS__)#define LOGI(...) __android_log_print(ANDROID_LOG_INFO, LOG_TAG, __VA_ARGS__)增加这一部分. : Android.mk增加库文件,不然编译会有问题的:LOCAL_ 阅读全文
posted @ 2014-03-16 23:37
MMLoveMeMM
阅读(195)
评论(0)
推荐(0)
摘要:
这一节只是在节的基础上增加一个java到C数组数据传递用法,其他的通,下面只给出新增加部分: : 新建一个jniarr.c源文件:#include#includejintArray Java_com_example_hellojnidemo4_MainActivity_oarray(JNIEnv * env,jobject obj,int arr[]) { // 1.获取到 arr的大小 int len = (*env)->GetArrayLength(env, arr); if (len == 0) { return arr; } //取出数组中第... 阅读全文
posted @ 2014-03-16 22:47
MMLoveMeMM
阅读(245)
评论(0)
推荐(0)
摘要:
好了,下面的demo程序介绍多个c文件和对应一个h文件的操作方法和步骤: : 启动eclipse 并且新建一个hellojnidemo4 的android工程,然后将cgywin的编译路径切换到该目录下. : 还是新建jni目录和配置文件Android.mk和Application.mk等文件 : 先看一下c源代码:#include "jnia.h"// java中的jstring, 转化为c的一个字符数组char* Jstring2CStr(JNIEnv* env, jstring jstr) { char* rtn = NULL; jclass clsstring = 阅读全文
posted @ 2014-03-16 22:17
MMLoveMeMM
阅读(270)
评论(0)
推荐(0)
摘要:
一个Android.mk file用来向编译系统描述你的源代码。具体来说:该文件是GNU Makefile的一小部分,会被编译系统解析一次或多次。你可以在每一个Android.mk file中定义一个或多个模块,你也可以在几个模块中使用同一个源代码文件。编译系统为你处理许多细节问题。一个工程中的源文件不计数,其按类型、功能、模块分别放在若干个目录中,makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作,因为 makefile就像一个Shell脚本一样,其中也可以执行操作系统的命令。makefile带来的好处就是——“ 阅读全文
posted @ 2014-03-16 17:59
MMLoveMeMM
阅读(176)
评论(0)
推荐(0)
摘要:
换个浏览器来发,IE10不能够上传图片,兼容问题.还是和上一篇一样的步骤,不过这次函数带了参数: : eclipse新建一个hellojnidemo3工程,然后将cgywin切换到这个目录下; : 新建jni文件夹,然后新建.c源码文件,配置文件Android.mk,Application.mk文件,如果不想写了,就照抄以前的内容,改了lib名和c文件名;Android.mkLOCAL_PATH := $(call my-dir)include $(CLEAR_VARS)LOCAL_MODULE := jnilibLOCAL_SRC_FILES := hjni.cinclude $(BU... 阅读全文
posted @ 2014-03-16 17:50
MMLoveMeMM
阅读(275)
评论(0)
推荐(0)
摘要:
其他不废话!步骤如下: : eclipse 启动/cgywin启动(目录已经设定好了,就等着输入编译命令); : 新建一个hellojnidemo android工程,在工程文件夹下新建一个jni文件夹,然后新建一个c扩展名的源文件,输入:#include#include#includejstringJava_com_example_hellojnidemo_MainActivity_messageshow(JNIEnv* env, jobject thiz) {#if defined(__arm__)#if defined(__ARM_ARCH_7A__)#if defined(__ARM_ 阅读全文
posted @ 2014-03-16 16:59
MMLoveMeMM
阅读(284)
评论(0)
推荐(0)
摘要:
Application.mk简介:0. 基础知识介绍: Application.mk用来描述应用程序需要哪些modules。Application.mk通常放在:$PROJECT/jni/Application.mk。 2. Application.mk变量: Application.mk是GNU Makefile的一个小片段。它可以定义以下变量。 APP_PROJECT_PATH:以绝对路径指向Project root目录。APP_MODULES:可选项,如果没有定义,则NDK编译所有Android.mk中的modules.如果定义了,则只编译Android.mk中被APP_MODULES指 阅读全文
posted @ 2014-03-16 16:31
MMLoveMeMM
阅读(310)
评论(0)
推荐(0)
摘要:
Android.mk是Android提供的一种makefile文件,用来指定诸如编译生成so库名、引用的头文件目录、需要编译的.c/.cpp文件和.a静态库文件等。要掌握jni,就必须熟练掌握Android.mk的语法规范。一、Android.mk文件的用途 一个android子项目中会存在一个或多个Android.mk文件 1、单一的Android.mk文件 直接参考NDK的sample目录下的hello-jni项目,在这个项目中只有一个Android.mk文件 2、多个Android.mk文件 如果需要编译的模块比较多,我们可能会将对应的模块放置在相应的目录中, 这样,我们可以在每个目录中 阅读全文
posted @ 2014-03-16 16:30
MMLoveMeMM
阅读(438)
评论(0)
推荐(0)
摘要:
NDK开发环境搭建参照博客其他文章,搭建好了以后开始测试第一个ndk文件夹下面samples HelloJni工程,步骤如下: : 启动cgywin,然后输入cd $NDK,显示如下:进入主目录后,其他查看目录或者进入深一级目录命令和linux一样,不多解释;进入然后输入 : cd ./samples/hello-jni(进入工程目录下). : eclipse启动,import hello-jni工程,可以在导入之前先手工备份这些samples : 进入目录就可以开始编译了,输入: $NDK/ndk-build(没有空格);demo中会编译出4个针对不同cpu的so文件,这个是在C中预定义好的 阅读全文
posted @ 2014-03-16 15:43
MMLoveMeMM
阅读(312)
评论(0)
推荐(0)
摘要:
主源文件:package com.example.handlerdemo;import android.os.Bundle;import android.os.Handler;import android.os.Message;import android.app.Activity;import android.view.Menu;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.EditText;import 阅读全文
posted @ 2014-03-16 14:55
MMLoveMeMM
阅读(327)
评论(0)
推荐(1)
摘要:
在Android中,Broadcast是一种广泛运用的在应用程序之间传输信息的机制。而BroadcastReceiver是对发送出来的 Broadcast进行过滤接受并响应的一类组件。下面将详细的阐述如何发送Broadcast和使用BroadcastReceiver过滤接收的过程: 首先在需要发送信息的地方,把要发送的信息和用于过滤的信息(如Action、Category)装入一个Intent对象,然后通过调用 sendOrderBroadcast()或sendStickyBroadcast()方法,把 Intent对象以广播方式发送出去。 当Intent发送以后,所有已经注册的Broad.. 阅读全文
posted @ 2014-03-16 13:03
MMLoveMeMM
阅读(5545)
评论(0)
推荐(0)

浙公网安备 33010602011771号