convert java to c++
Way of converting java to c++. First create Navetive function. let's see the example.
		// has two args String data String id
    public static native void getNativeBluetoothData(String data,String id);
		
		In cocos2dx we have AppActivity from the beginning. Write public static native function in AppActivity, And call this function want to call.
		Then we have to create source file for native function.
		In Classes/platform/android/jni
		Source file name has a rule to obey.
		In this case.
		
org_cocos2dx_cpp_AppActivity.cpp
		Pacage name in AppActivity is
		package org.cocos2dx.cpp
		so in header org_cocos2dx_cpp_
		
		Let's write the code in org_cocos2dx_cpp_AppActivity.cpp
		
// 1.function
JNIEXPORT void JNICALL Java_org_cocos2dx_cpp_AppActivity_getNativeBluetoothData(JNIEnv *env,jobject thiz,jstring jsonStr,jstring id)
{
    // 2.convert string
    auto arg1 = env->GetStringUTFChars(jsonStr, nullptr);
    std::string string1 = arg1;
    env->ReleaseStringUTFChars(jsonStr, arg1);
    // arg2
    auto arg2 = env->GetStringUTFChars(id, nullptr);
    std::string string2 = arg2;
    env->ReleaseStringUTFChars(id, arg2);
    // 3.create scene from cocos2dx
    MenuScene* scene = dynamic_cast(cocos2d::CCDirector::sharedDirector()->getRunningScene());
    // 4.call c++ function
    scene->getBluetoothData(string1.c_str(),string2.c_str());
}
		 
		
		I define function two args both String
		String equals jstring.
		and let see another infomation.
		
| JNI Types | Java Type | 
|---|---|
| void | void | 
| jboolean | boolean | 
| jbyte | byte | 
| jchar | char | 
| jshort | short | 
| jint | int | 
| jlong | long | 
| jfloat | float | 
| jdouble | double | 
| jobject | All Java objects | 
| jclass | java.lang.Class objects | 
| jstring | java.lang.String objects | 
| jobjectArray | Array of objects | 
| jbooleanArray | Array of booleans | 
| jbyteArray | Array of bytes | 
| jshortArray | Array of shorts | 
| jintArray | Array of integers | 
| jlongArray | Array of longs | 
| jfloatArray | Array of floats | 
| jdoubleArray | Array of doubles | 
1.Define function
		in args have two arg not familiar.
		JNIEnv *env
		jobject thiz
		
This two need to declare to define function
		Next is header file.
		Name is org_cocos2dx_cpp_AppActivity.h
		
#include#ifndef _Included_org_cocos2dx_cpp_AppActivity #define _Included_org_cocos2dx_cpp_AppActivity extern "C" { JNIEXPORT void JNICALL Java_org_cocos2dx_cpp_AppActivity_getNativeBluetoothData (JNIEnv* env,jobject thiz,jstring jsonStr,jstring id); #endif 
	In Header file needs JNIEXPORT in header.
	and JNICALL ahead of function call.