1.文件引入
#if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID) #include <jni.h> #include "platform/android/jni/JniHelper.h" #include <android/log.h> #endif
2.按钮部分代码
void HelloWorld::menuCloseCallback(CCObject* pSender) { bool isHave; const char* msgRet; JniMethodInfo minfo; const char* fileName = "testWei"; isHave = JniHelper::getStaticMethodInfo(minfo, "org/test/MyStatic", "sendWeibo", "(Ljava/lang/String;)Ljava/lang/String;"); if (isHave) { jstring jTitle = minfo.env->NewStringUTF(fileName); jobject obj = minfo.env->CallStaticObjectMethod(minfo.classID, minfo.methodID, jTitle); jstring jRet = (jstring) obj; msgRet = (minfo.env)->GetStringUTFChars(jRet, NULL); } }
3.java 有static类方法
public class MyStatic { private static Handler mHandler; public static final int SHOW_DIALOG = 0x0001; public static void init(Handler handler) { MyStatic.mHandler = handler; } public static String sendWeibo(String pCon) { System.out.println("sendWeibo : " + pCon); Message msg = mHandler.obtainMessage(); // 发送给那个类 msg.what = MyStatic.SHOW_DIALOG; msg.sendToTarget(); return ""; } }
4.java接受3发过来的消息代码
onCreate..里
MyStatic.init(mHandler);
public Handler mHandler = new Handler() { @Override public void handleMessage(Message msg) { switch (msg.what) { case MyStatic.SHOW_DIALOG: System.out.println("SHOW_DIALOG SHOW_DIALOG"); break; } } };
相关推荐
`aidl demo用到的源码和生成java和cpp`这个标题表明,我们将讨论一个AIDL的示例,它涉及到了Java和C++代码的生成过程。 **AIDL基础知识** AIDL文件本质上是定义了一组接口,这些接口将作为进程间通信的合同。在...
在本文中,我们将深入探讨如何在Visual Studio 2019环境下使用C++通过Java Native Interface (JNI)来调用Java代码。JNI是Java平台的一部分,它为Java应用程序提供了与本地代码交互的能力,使得开发者可以将Java应用...
Apache ActiveMQ是一款开源的消息中间件,遵循Java Message Service (JMS) 规范。它支持多种协议,包括AMQP、STOMP、OpenWire、MQTT和WebSockets,使得不同语言和平台之间的通信变得可能。 2. **ActiveMQ-CPP库...
Qt通过JNI(Java Native Interface)来调用Java代码,JNI是Java平台标准的一部分,它为Java代码提供了与本地代码(如C++)交互的能力。要实现这个功能,我们需要完成以下几个步骤: 1. **创建Java类和方法**:首先...
`log4cpp`是一个基于C++的日志库,它深受Java世界的`log4j`启发,提供了灵活的日志记录功能。这个库的主要目标是为开发者提供一个强大且易于使用的日志系统,允许他们自定义日志的输出格式、输出目的地以及日志级别...
Log4Cpp是一个流行的C++日志库,它模仿了Java的Log4j框架,提供了灵活的日志输出功能。本篇文章将深入探讨如何利用Log4Cpp有效地将日志输出到文件,实现最佳实践。 首先,理解Log4Cpp的基本结构至关重要。Log4Cpp...
首先,ActiveMQ是一个开源的消息中间件,遵循Java Message Service (JMS) 规范,能够处理异步通信和分布式系统中的消息传递。ActiveMQ-CPP Library则将这一功能扩展到了C++编程语言,使得非Java开发者也能充分利用...
本教程将详细探讨如何使用C++通过JNI(Java Native Interface)来调用Java接口。JNI是Java平台标准的一部分,它允许Java代码和其他语言写的代码进行交互。下面,我们将深入讲解这个过程,并结合实际例子“CInvokJava...
log4cpp是一个流行的C++日志库,它提供了灵活的日志记录功能,类似于Java中的log4j。本文将详细介绍如何在Visual Studio 2010环境下编译log4cpp,并探讨其主要特性和使用方法。 一、log4cpp简介 log4cpp是基于C++的...
`log4cpp`是一个广泛使用的C++日志库,其设计灵感来源于Java世界的`log4j`。本篇文章将详细介绍如何在Visual Studio 2017环境下,利用提供的`log4cpp-lib.rar`压缩包,进行库的集成、配置及使用。 首先,`log4cpp-...
`log4cpp`是一款广受欢迎的C++日志库,源自Java界的`log4j`,旨在为C++开发者提供强大的日志记录功能。这款库设计灵活,易于使用,能够帮助程序员在开发过程中方便地进行调试、记录运行信息和错误跟踪。`log4cpp-...
Log4cpp是C++编程语言中的一个开源日志框架,灵感来源于Java的log4j库。这个库的主要目的是提供一种灵活、高效且可扩展的日志记录解决方案,使得开发者能够方便地在不同级别(如DEBUG、INFO、WARN、ERROR、FATAL)上...
`log4cpp`借鉴了Java中的log4j框架,为C++程序员提供了类似的功能。 ### 1. log4cpp的基本结构 - **Category(类别)**:`log4cpp`将日志分为不同的类别或命名空间,允许对不同模块或功能的日志级别进行独立控制。...
标题中的"qpid-cpp-server"指的是Apache Qpid的C++服务器端实现,这是一个开源的消息传递系统,基于AMQP(Advanced Message Queuing Protocol)协议。它允许应用程序在分布式环境中进行可靠的数据交换,支持多种编程...
这需要通过Unity与Android之间的交互来完成,也就是所谓的Unity调用Android Java函数。这个过程涉及到多个步骤和技术细节,包括JNI(Java Native Interface)的使用、Android插件开发以及Unity脚本的编写。 首先,...
它借鉴了Java中的log4j库,但完全用C++编写,符合C++编程习惯。主要组件包括Appender(输出目的地)、Layout(输出格式)、Category(日志级别)和Priority(日志优先级)。 **2. Visual Studio 配置** 在VS中使用...
Java和C++之间进行Socket通信时,可能会遇到乱码问题,主要是...总之,Java和C++通过Socket通信时,要确保双方对字符编码的一致性,避免出现乱码现象。在设计系统时,最好能统一编码标准,如都使用UTF-8,以简化处理。
在本文档中,我们将深入探讨如何通过Java Native Interface (JNI) 来调用那些由C或C++语言编写的原生函数。这种方法为Java程序提供了与外部系统集成的强大能力,并且能够充分利用现有的C/C++库。 #### 二、什么是...
通过定义.proto文件,开发者可以声明消息类型,类似于数据库中的表结构,包含字段名、字段类型和字段编号。例如: ```proto syntax = "proto3"; message Person { string name = 1; int32 id = 2; string email ...
开发者可以通过protobuf提供的API来创建、解析和操作消息,实现数据的高效存储和传输。在使用前,需要先安装protobuf编译器(protoc),然后使用该编译器处理.proto文件,生成相应的C++源代码,最后将这些源代码编译...