Here are those functions, from the chat earlier:
void JNI_Init_Varriables( JNIEnv* env, jclass cls )
{
mEnv = env;
mActivityClass = cls;
midGetSongName = (*mEnv)->GetStaticMethodID( mEnv, mActivityClass,
"getSongName","()Ljava/lang/String;" );
midGetConfigFile = (*mEnv)->GetStaticMethodID( mEnv, mActivityClass,
"getConfigFile","()Ljava/lang/String;" );
}
static char strBuff[1024];
char* JNI_GetSongName()
{
jstring javaS = (*mEnv)->CallStaticStringMethod( mEnv, mActivityClass, midGetSongName );
const char *nativeS = (*mEnv)->GetStringUTFChars( mEnv, javaS, 0 );
strcpy( strBuff, nativeS );
(*mEnv)->ReleaseStringUTFChars( mEnv, javaS, nativeS );
return strBuff;
}
char* JNI_GetConfigFile()
{
jstring javaS = (*mEnv)->CallStaticStringMethod( mEnv, mActivityClass, midGetConfigFile );
const char *nativeS = (*mEnv)->GetStringUTFChars( mEnv, javaS, 0 );
strcpy( strBuff, nativeS );
(*mEnv)->ReleaseStringUTFChars( mEnv, javaS, nativeS );
return strBuff;
}
The basic idea for linking them to your Activity class (Java side) is to add the following definition:
public static native void JNI_Init_Varriables();
Call it in the onCreate method:
JNI_Init_Varriables();
And implement the following static methods:
public static String getSongName()
{
// TODO: get the song filename somehow, and return it
}
public static String getConfigFile()
{
// TODO: get the config filename somehow, and return it
}