OSDN Git Service

サンプルコードを追加
[sdl2referencejp/sdl2referencejp.git] / SDL_AndroidGetActivity.html
index cd5b10f..ad7d412 100644 (file)
@@ -24,6 +24,34 @@ jobject
 \82±\82Ì\8aÖ\90\94\82ª\96ß\82µ\82½jobject\82Í\83\8d\81[\83J\83\8b\83\8a\83t\83@\83\8c\83\93\83X\82Å, \8cÄ\82Ñ\8fo\82µ\91¤\82ª\89ð\95ú\82·\82é\95K\97v\82ª\82 \82é.\r
 Java\83l\83C\83e\83B\83u\83C\83\93\83^\81[\83t\83F\81[\83X\82ÌPushLocalFrame(), PopLocalFrame(), DeleteLocalRef()\8aÖ\90\94\82ð\8eQ\8fÆ\82·\82é\82±\82Æ. (<a href="http://docs.oracle.com/javase/1.5.0/docs/guide/jni/spec/functions.html">Oracle\82Ì\83h\83L\83\85\83\81\83\93\83g</a>\82É\82 \82é)\r
 </p>\r
+<h2>\83T\83\93\83v\83\8b\83R\81[\83h</h2>\r
+<p>\r
+<code>\r
+<pre>\r
+// Java\82Ì\83A\83N\83e\83B\83r\83e\83B\82Ì\83C\83\93\83X\83^\83\93\83X\82Ì void MyActivity.showHome() \83\81\83\\83b\83h\82ð\8cÄ\82Ô\r
+void showHome(void)\r
+{\r
+    // JNI\8aÂ\8b«\82ð\93¾\82é\r
+    JNIEnv* env = (JNIEnv*)SDL_AndroidGetJNIEnv();\r
+\r
+    // SDLActivity\82ÌJava\83C\83\93\83X\83^\83\93\83X\82ð\93¾\82é\r
+    jobject activity = (jobject)SDL_AndroidGetActivity();\r
+\r
+    // \83A\83N\83e\83B\83r\83e\83B\82ÌJava\83N\83\89\83X\82ð\8c\9f\8dõ\82·\82é. SDLActivity\82©\82»\82Ì\83T\83u\83N\83\89\83X\82Å\82 \82é\95K\97v\82ª\82 \82é\r
+    jclass clazz( env->GetObjectClass(activity) );\r
+\r
+    // \83\81\83\\83b\83h\82ÌID\82ð\93¾\82é\r
+    jmethodID method_id = env->GetMethodID( clazz, "showHome", "()V" );\r
+\r
+    // Java\83\81\83\\83b\83h\82ð\8eÀ\8dÛ\82É\8cÄ\82Ô\r
+    env->CallVoidMethod( activity, method_id );\r
+    \r
+    // \83\8d\81[\83J\83\8b\8eQ\8fÆ\82ð\89ð\95ú\82·\82é\r
+    env->DeleteLocalRef(activity);\r
+}\r
+</pre>\r
+</code>\r
+</p>\r
 <h2>\8fÚ\8d×</h2>\r
 \82±\82Ì\8aÖ\90\94\82Íjobject\8c^\82ð\96ß\82·\82ª, \96ß\82è\92l\82Ì\8aÖ\90\94\83v\83\8d\83g\83^\83C\83v\82Ívoid*\82Å\92è\8b`\82³\82ê\82Ä\82¢\82é.\r
 SDL\82Ì\83w\83b\83_\82É\82Íjni.h\82ª\83C\83\93\83N\83\8b\81[\83h\82³\82ê\82Ä\82¢\82È\82¢\82½\82ß\82Å\82 \82é.\r