`
renzhe20092584
  • 浏览: 10972 次
  • 性别: Icon_minigender_1
最近访客 更多访客>>
社区版块
存档分类
最新评论

cpp通过Message掉java

 
阅读更多

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 demo用到的源码和生成java和cpp`这个标题表明,我们将讨论一个AIDL的示例,它涉及到了Java和C++代码的生成过程。 **AIDL基础知识** AIDL文件本质上是定义了一组接口,这些接口将作为进程间通信的合同。在...

    visual studio 2019下C++通过JNI调用JAVA代码

    在本文中,我们将深入探讨如何在Visual Studio 2019环境下使用C++通过Java Native Interface (JNI)来调用Java代码。JNI是Java平台的一部分,它为Java应用程序提供了与本地代码交互的能力,使得开发者可以将Java应用...

    activemq-cpp-library-3.9.5-src.zip

    Apache ActiveMQ是一款开源的消息中间件,遵循Java Message Service (JMS) 规范。它支持多种协议,包括AMQP、STOMP、OpenWire、MQTT和WebSockets,使得不同语言和平台之间的通信变得可能。 2. **ActiveMQ-CPP库...

    Qt Android 调用JAVA

    Qt通过JNI(Java Native Interface)来调用Java代码,JNI是Java平台标准的一部分,它为Java代码提供了与本地代码(如C++)交互的能力。要实现这个功能,我们需要完成以下几个步骤: 1. **创建Java类和方法**:首先...

    log4cpp源代码

    `log4cpp`是一个基于C++的日志库,它深受Java世界的`log4j`启发,提供了灵活的日志记录功能。这个库的主要目标是为开发者提供一个强大且易于使用的日志系统,允许他们自定义日志的输出格式、输出目的地以及日志级别...

    Log4Cpp日志输出至文件组件最佳实践

    Log4Cpp是一个流行的C++日志库,它模仿了Java的Log4j框架,提供了灵活的日志输出功能。本篇文章将深入探讨如何利用Log4Cpp有效地将日志输出到文件,实现最佳实践。 首先,理解Log4Cpp的基本结构至关重要。Log4Cpp...

    activemq-cpp-library-3.9.5 编译的windows库文件,支持vs2015、vs2017

    首先,ActiveMQ是一个开源的消息中间件,遵循Java Message Service (JMS) 规范,能够处理异步通信和分布式系统中的消息传递。ActiveMQ-CPP Library则将这一功能扩展到了C++编程语言,使得非Java开发者也能充分利用...

    C++调用Java接口

    本教程将详细探讨如何使用C++通过JNI(Java Native Interface)来调用Java接口。JNI是Java平台标准的一部分,它允许Java代码和其他语言写的代码进行交互。下面,我们将深入讲解这个过程,并结合实际例子“CInvokJava...

    log4cpp vs2010 版本

    log4cpp是一个流行的C++日志库,它提供了灵活的日志记录功能,类似于Java中的log4j。本文将详细介绍如何在Visual Studio 2010环境下编译log4cpp,并探讨其主要特性和使用方法。 一、log4cpp简介 log4cpp是基于C++的...

    log4cpp-lib.rar

    `log4cpp`是一个广泛使用的C++日志库,其设计灵感来源于Java世界的`log4j`。本篇文章将详细介绍如何在Visual Studio 2017环境下,利用提供的`log4cpp-lib.rar`压缩包,进行库的集成、配置及使用。 首先,`log4cpp-...

    log4cpp-1.1.2rc5

    `log4cpp`是一款广受欢迎的C++日志库,源自Java界的`log4j`,旨在为C++开发者提供强大的日志记录功能。这款库设计灵活,易于使用,能够帮助程序员在开发过程中方便地进行调试、记录运行信息和错误跟踪。`log4cpp-...

    Log4cpp C++ 中的日志管理

    Log4cpp是C++编程语言中的一个开源日志框架,灵感来源于Java的log4j库。这个库的主要目的是提供一种灵活、高效且可扩展的日志记录解决方案,使得开发者能够方便地在不同级别(如DEBUG、INFO、WARN、ERROR、FATAL)上...

    log4cpp编译好的库+简单例子

    `log4cpp`借鉴了Java中的log4j框架,为C++程序员提供了类似的功能。 ### 1. log4cpp的基本结构 - **Category(类别)**:`log4cpp`将日志分为不同的类别或命名空间,允许对不同模块或功能的日志级别进行独立控制。...

    qpid-cpp-server

    标题中的"qpid-cpp-server"指的是Apache Qpid的C++服务器端实现,这是一个开源的消息传递系统,基于AMQP(Advanced Message Queuing Protocol)协议。它允许应用程序在分布式环境中进行可靠的数据交换,支持多种编程...

    unity 调用 android java函数

    这需要通过Unity与Android之间的交互来完成,也就是所谓的Unity调用Android Java函数。这个过程涉及到多个步骤和技术细节,包括JNI(Java Native Interface)的使用、Android插件开发以及Unity脚本的编写。 首先,...

    VS log4cpp_v1.1.3 打印log动态库

    它借鉴了Java中的log4j库,但完全用C++编写,符合C++编程习惯。主要组件包括Appender(输出目的地)、Layout(输出格式)、Category(日志级别)和Priority(日志优先级)。 **2. Visual Studio 配置** 在VS中使用...

    java c++ 通信之间的乱码解决方法

    Java和C++之间进行Socket通信时,可能会遇到乱码问题,主要是...总之,Java和C++通过Socket通信时,要确保双方对字符编码的一致性,避免出现乱码现象。在设计系统时,最好能统一编码标准,如都使用UTF-8,以简化处理。

    java 调用dll

    在本文档中,我们将深入探讨如何通过Java Native Interface (JNI) 来调用那些由C或C++语言编写的原生函数。这种方法为Java程序提供了与外部系统集成的强大能力,并且能够充分利用现有的C/C++库。 #### 二、什么是...

    protobuf-cpp

    通过定义.proto文件,开发者可以声明消息类型,类似于数据库中的表结构,包含字段名、字段类型和字段编号。例如: ```proto syntax = "proto3"; message Person { string name = 1; int32 id = 2; string email ...

    protobuf-cpp-3.6.0.zip

    开发者可以通过protobuf提供的API来创建、解析和操作消息,实现数据的高效存储和传输。在使用前,需要先安装protobuf编译器(protoc),然后使用该编译器处理.proto文件,生成相应的C++源代码,最后将这些源代码编译...

Global site tag (gtag.js) - Google Analytics