ã¤ã³ã¿ãã§ã¼ã¹ã§é¨ååå¾¹åº ã«ããã¦ãã¤ã³ã¿ãã§ã¼ã¹ã¯ã¤ã³ã¹ã¿ã³ã¹ãä½ããã¨ãã§ããªãã¨æ¸ãã¾ããããç¡åã¯ã©ã¹ã使ãã¨ãã¤ã³ã¿ãã§ã¼ã¹ãã¤ã³ã¹ã¿ã³ã¹åããããã®ãããªã³ã¼ãã«ãªãã¾ãã package kihon; public class Sample { public static void main( String args[] ) { Cafe cafe=new Cafe(){ public void welcome(){ System.out.println("ããã£ãããã¾ã"); } }; cafe.welcome(); } } interface Cafe{ public void welcome(); } å®è¡çµæ :ããã£ãããã¾ãã ä¸ã®ä¾ã®å ´åãæ¬æ¥ã§ããã°ãCafeã¤ã³ã¿ãã§ã¼ã¹ãå®è£ ããã¯ã©ã¹ãå®ç¾©ãã¦ããã®ã¯ã©ã¹ã®ã¤ã³ã¹ã¿ã³ã¹ãä½ã£ã¦ã¡ã½ãããå®è¡ããã®ãç
ãã®ãã¼ã¸ã®ç®çã¯ã Webã¢ããªã±ã¼ã·ã§ã³ã®åºç¤ã®åºç¤ã説æãããã¨ã§ãã ãã¦ãããããä¸ã®ãã ãã ã¯èªã¿é£ã°ãã¦ã ãããªãå®è£ ã®èª¬æã« è¡ã£ã¦ããã£ã¦ããã¾ãã¾ããããä¸å¿è¶£æ¨ãæ¸ãã¦ããã¾ãã ç¾å¨ãããã®ããã°ã©ãã¼ã®æ¹ã ã«ã¯ãæ¥ã ã®ä»äºã§ãã£ã㨠ãWebã¢ããªã±ã¼ã·ã§ã³ããä½ã£ã¦ãã人ãå¤ãã¨æãã¾ãã ããã¦ããã¾ã©ãWebã¢ããªã±ã¼ã·ã§ã³ãä½ãã®ã«ã CGIã¨ãããå¾ãªãã§ãããããã ãããªãã®é«ç´è¨èªã§ã ãããªãã®ãã¬ã¼ã ã¯ã¼ã¯çã使ç¨ãã¦ä½ã£ã¦ããã®ã ã¨æãã¾ãã ç§èªèº«ãç¾ç¶ãä»äºã§ã¯ä¸»ã«C#ã¨ASP.NETã使ã£ã¦ãã¾ãã ãããã£ã¦çç£æ§ãä¸ããã®ã¯å¤§å¤ãããã¨ã ã¨æãã®ã§ããã ãã¨Webã¢ããªã±ã¼ã·ã§ã³ã«ããã¦ã¯ã ãã®ãããªãä¸è¦ç°¡åããããªãã¬ã¼ã ã¯ã¼ã¯ã使ã£ã¦ãã ã¡ãã£ã¨ããããããã¨ããããã¨ããã¨ããã«ãã¾ããããªããªã£ã¦ã è·å ´ã®å 輩ã«è
eclipseä¸ã§c++ã³ã¼ãããããã°ãããã¨ããéæã¯ç¾å¨ä¸æã ãã®ã¾ã¾ã ã¨é²ã¾ãªãã®ã§eclipseä¸ã§c++ã®ã³ã³ãã¤ã«ãåºæ¥ãã¨ããã§å ã«è¡ãã®ã§ãã ã§ã次ã¯c++ããJavaã®é¢æ°ã®å¼ã³åºãã§ãã c++->Javaã®å¼ã³åºãã®åºæ¬ã¯ãããªæãã c++å´ jclass jc = env->FindClass("com/java/package/ClassName"); if (jc == 0) { return false; } // ã¡ã½ããã®åå¾ jmethodID id = env->GetStaticMethodID(jc, "function", "()V"); //ã¡ã½ãããå®è¡ã env->CallStaticVoidMethod(jc, id); javaå´ package com.java.package; public class ClassName
ä»è¨èªããJavaå®è¡ JNIã使ã£ã¦ãCè¨èª/C++ããJavaVMãå®è¡ãã¦ã¡ã½ãããå¼ã³åºããã¨ãåºæ¥ãã Cè¨èªã¾ãã¯C++å ã§JavaVMãçæï¼åå¾ï¼ããå¾ã¯é常ã®JNIã¨åæ§ã«ã³ã¼ãã£ã³ã°ããã Windowsã§ã®å®è¡ç°å¢ ãªã³ã¯æã«jvm.libãå¿ è¦ãâï¼VC++ï¼ã©ã¤ãã©ãªã®è¿½å æ¹æ³ jvm.libã¯ã%JAVA_HOME%\libãã«å¨ããâï¼VC++ï¼ã©ã¤ãã©ãªã®ãã¹æå®æ¹æ³ å®è¡æã«jvm.dllãå¿ è¦ã jvm.dllã¯ã%JAVA_HOME%\jre\bin\clientããã%JAVA_HOME%\jre\bin\serverãã«å¨ãã âï¼VC++ï¼ãããã°å®è¡æã®ç°å¢å¤æ°PATHã®è¿½å æ¹æ³ JavaVMã®çæã»ç ´æ£ JavaVMã®ãªãã¸ã§ã¯ãã使ããã«ã¯ãjni.hã§å®£è¨ããã¦ããJNI_CreateJavaVM颿°ã使ãã ããã«æ¸¡ãããã®å¼æ°ã®åæ
cygwin-gcc â ããããæ¹æ³ã¯ãããã ãããã©ãä¸çªç°¡åãããªdefãã¡ã¤ã«ãä½ã£ã¦ããæ¹æ³ã 颿°ã®æ°ãå¤ãã¨é¢åã ããã javahã§ãããã¼ã使ãããããã®ãªããã颿°ã®ååãåãåºãã¦ã㦠以ä¸ã®ãããªãã¡ã¤ã«"hoge.def"ã使ããã EXPORTS Java_NativeFunctions_initialize_1IMPL Java_NativeFunctions_terminate_1IMPL ã¨ããæãã«ãEXPORTSã®ãã¨ã«é¢æ°å½ãé£ãã(æ»ãå¤ã¨ã弿°ã¯ç¡è¦) ã§ãã½ã¼ã¹ãã¡ã¤ã«"hoge.cpp"ã¨ãã¦ã以ä¸ã®ããã«ã³ã³ãã¤ã« g++ -O3 -c hoge.cpp -o hoge.o -O2 -Wall -mrtd -g -mno-cygwin -I<jni.hã®ããå ´æ> ãã¨ã¯ãªã³ã¯ãããããã¢ã 以ä¸ã®ãããªæãã§hoge.defãæå®ãã¦
ãã2æ¥éããããAndroidã§NativeActivityããèªä½Javaã¯ã©ã¹ã®ã¡ã½ãããå¼ã³åºããã«æ©ãã§ãã¾ããããç¡äºè§£æ±ºã§ããã®ã§NativeActivityã®Cã®ã³ã¼ãããJavaãå¼ã³åºããµã³ãã«ãè¼ãã¾ãã Javaã¯ã©ã¹ã®ä½æ ã¾ãã¯ãEclipseã§Android NDKã®ãµã³ãã«ããNativeActivityã®ããã¸ã§ã¯ããä½ãã¾ãã Android NDKã®ãµã³ãã«ããNativeActivityã®ããã¸ã§ã¯ããèªã¿è¾¼ã¿ NativeActivity/srcãã©ã«ãã«android.app.NativeActivityãç¶æ¿ãã¦é©å½ãªååã®ã¯ã©ã¹ï¼ããã§ã¯"TestJNI"ï¼ãä½ãã¾ãã NativeActivityãç¶æ¿ãã¦ã¯ã©ã¹ã使 ããã«ä½¿ãããã³ã¼ããæ¸ãã¦ããã¾ãã // TestJNI.java package com.example.nativ
ãã¤ãã£ãã³ã¼ãããã¯ã©ã¹ããªãã¸ã§ã¯ãã®ã¡ã½ãããå¼ã³åºã. æµã ãµã³ãã« ã¤ã³ã¹ã¿ã³ã¹ã¡ã½ããã¨ã¹ã¿ãã£ãã¯ã¡ã½ãã ã¡ã½ããIDã®åå¾ã¨ã·ã°ãã㣠javap æµãã¡ã½ãããå¼ã³åºãæã®æµãã¯,ãã£ã¼ã«ãã®åå¾ãè¨å®ã¨ãããªã«å¤ãããªã.以ä¸ã«ãã®æµãã示ã. ã¤ã³ã¹ã¿ã³ã¹ã¡ã½ããã®å ´åã¹ã¿ãã£ãã¯ã¡ã½ããã®å ´å <Type>ã«ã¯ã¡ã½ããã®è¿ãå¤ã®åã¨å¯¾å¿ããInt,Short,Byteãªã©ãå ¥ã. ãµã³ãã«æµããæ´ããã¨ããã§ãµã³ãã«ã示ã.ã¾ãã¯ãã¤ãã£ãã³ã¼ãããå¼ã³åºãããã¡ã½ãããä¿æããã¯ã©ã¹. public class Methods{ public void publicVoidMethod(){ System.out.println("publicVoidMethod()"); } static int pkgPrivateStaticIntMethod(){ i
Androidã§JNIã使ã£ã¦nativeã³ã¼ããããã¡ã¤ã«ãèªã¿æ¸ãããæ¹æ³ã調ã¹ãããã¡ã¤ã«ã¯ /data/data/{pkgname} 以ä¸ã®ãã©ã«ãã«èªã¿æ¸ããããã¨ãã§ããããããèªã¿æ¸ãã¯Linuxã§ã®ãã¡ã¤ã«IOã¨åã颿°open/read/write/closeã使ããã Javaããnativeã®é¢æ°ã« byte[]é åãæ¸¡ãã¦ããããã¡ã¤ã«ã«æ¸ãè¾¼ã颿°ãä½ã£ã¦ã¿ãã以ä¸ã®Javaã½ã¼ã¹ãjavahã§å¤æãã¦å¯¾å¿ããããããã¡ã¤ã«ã使ã FileManager.java package test.filetest; public class FileManager { public native int write(byte[] data); static { System.loadLibrary("filetest"); } } test_filetest_File
java.net ã¯ã©ã¹ URLConnection java.lang.Object java.net.URLConnection ç´ç³»ã®æ¢ç¥ã®ãµãã¯ã©ã¹: HttpURLConnection, JarURLConnection public abstract class URLConnectionextends Object abstract ã¯ã©ã¹ URLConnection ã¯ãã¢ããªã±ã¼ã·ã§ã³ã¨ URL ã¨ã®éã®éä¿¡ãªã³ã¯ã表ããã¹ã¦ã®ã¯ã©ã¹ã®ã¹ã¼ãã¼ã¯ã©ã¹ã§ãããã®ã¯ã©ã¹ã®ã¤ã³ã¹ã¿ã³ã¹ã使ç¨ãã¦ãURL ã§åç §ãããªã½ã¼ã¹ã®èªã¿è¾¼ã¿ã¨æ¸ãè¾¼ã¿ã®ä¸¡æ¹ãè¡ããã¨ãã§ãã¾ããä¸è¬ã«ãURL ã¸ã®æ¥ç¶ã®ä½æã¯ã次ã®ãããªè¤æ°ã®æé ãå¿ è¦ã¨ãªãã¾ãã URL ã«å¯¾ã㦠openConnection ã¡ã½ãããå¼ã³åºããã¨ã«ãã£ã¦ãæ¥ç¶ãªãã¸ã§ã¯ããçæãã ã»ããã¢ãããã©ã¡ã¼ã¿ã¨ä¸è¬è¦
ã©ã³ãã³ã°
ãç¥ãã
ã©ã³ãã³ã°
ãªãªã¼ã¹ãé害æ å ±ãªã©ã®ãµã¼ãã¹ã®ãç¥ãã
ææ°ã®äººæ°ã¨ã³ããªã¼ã®é ä¿¡
å¦çãå®è¡ä¸ã§ã
j次ã®ããã¯ãã¼ã¯
kåã®ããã¯ãã¼ã¯
lãã¨ã§èªã
eã³ã¡ã³ãä¸è¦§ãéã
oãã¼ã¸ãéã
{{#tags}}- {{label}}
{{/tags}}