static void Main(string[] args) { string codeBase = Assembly.GetExecutingAssembly().CodeBase; UriBuilder uri = new UriBuilder(codeBase); string workingDir = Path.GetDirectoryName(Uri.UnescapeDataString(uri.Path)) + Path.DirectorySeparatorChar; // Instantiate the JNI interface assembly JavaNativeInterface jni = new JavaNativeInterface(); Dictionary <string, string> options = new Dictionary <string, string>(); // Setting the class path to the jar that containes the classes to use options.Add("-Djava.class.path", workingDir + "target\\SampleJavaApplication-0.0.1-SNAPSHOT.jar"); // If your jar need other jars as dependencies, you may need to add them in the classpath : // + ";" + workingDir + "target\\dependency.jar"); // Load a new JVM jni.LoadVM(options, false); try { IntPtr SampleApplicationClass = IntPtr.Zero; IntPtr SampleApplicationObject = jni.InstantiateJavaObject("org/daisy/jnet/SampleApplication", out SampleApplicationClass); string testString = jni.CallMethod <string>(SampleApplicationClass, SampleApplicationObject, "getTestString", "()Ljava/lang/String;"); Console.WriteLine(testString); SampleApplicationObject = jni.InstantiateJavaObject("org/daisy/jnet/SampleApplication", out SampleApplicationClass, "(Ljava/lang/String;)V", "I'm a string sent from C#"); testString = jni.CallMethod <string>(SampleApplicationClass, SampleApplicationObject, "getTestString", "()Ljava/lang/String;"); Console.WriteLine(testString); } catch (Exception e) { Console.WriteLine(e.ToString()); } }
static void Main(string[] args) { // JVM Log option Params Dictionary Dictionary<string, string> jvmParameters = new Dictionary<string, string>(); JavaNativeInterface Java = new JavaNativeInterface(); // Set class path string strKey = "-Djava.class.path"; string strValue = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); jvmParameters.Add(strKey, strValue); Java.LoadVM(jvmParameters, false); // Instance Create: HelloWorld Java.InstantiateJavaObject("HelloWorld"); // Print java version System.Console.WriteLine(Java.JavaVersion()); // Params lists for JNI List<object> jniParam = new List<object>(); // Call HelloWorldProcedure() jniParam.Add("WestWoodForever"); Java.CallVoidMethod("HelloWorldProcedure", "(Ljava/lang/String;)V", jniParam); // Call AddTwoNumbers() jniParam.Clear(); jniParam.Add(2); jniParam.Add(5); jniParam.Add("WestWoodForever"); string returnJNI = Java.CallMethod<int>("AddTwoNumbers", "((IILjava/lang/String;)I", jniParam).ToString(); System.Console.WriteLine(returnJNI); Java.Dispose(); }
private void btJavaFunction_Click(object sender, EventArgs e) { List <object> olParameters = new List <object>(); //olParameters.Add((int)nudFirstValue.Value); //olParameters.Add((int)nudSecondValue.Value); //olParameters.Add(tbUserName.Text); //string msg = Java.CallMethod<int>("AddTwoNumbers", "(IILjava/lang/String;)I", olParameters).ToString(); int[] intArr = new int[2] { (int)nudFirstValue.Value, (int)nudSecondValue.Value }; olParameters.Clear(); olParameters.Add(intArr); olParameters.Add(tbUserName.Text); // Java.CallVoidMethod("AddArray", "([I)V", olParameters); string msg = Java.CallMethod <int>("AddTwoNumbersFromArray", "([ILjava/lang/String;)I", olParameters).ToString(CultureInfo.InvariantCulture); MessageBox.Show("The sum of the two numbers is : " + msg); statusStrip1.Items[0].Text = "AddTwoNumbers returned : " + msg;; }
static void Main(string[] args) { // JVM Log option Params Dictionary Dictionary <string, string> jvmParameters = new Dictionary <string, string>(); JavaNativeInterface Java = new JavaNativeInterface(); // Set class path string strKey = "-Djava.class.path"; string strValue = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); jvmParameters.Add(strKey, strValue); Java.LoadVM(jvmParameters, false); // Instance Create: HelloWorld Java.InstantiateJavaObject("HelloWorld"); // Print java version System.Console.WriteLine(Java.JavaVersion()); // Params lists for JNI List <object> jniParam = new List <object>(); // Call HelloWorldProcedure() jniParam.Add("WestWoodForever"); Java.CallVoidMethod("HelloWorldProcedure", "(Ljava/lang/String;)V", jniParam); // Call AddTwoNumbers() jniParam.Clear(); jniParam.Add(2); jniParam.Add(5); jniParam.Add("WestWoodForever"); string returnJNI = Java.CallMethod <int>("AddTwoNumbers", "((IILjava/lang/String;)I", jniParam).ToString(); System.Console.WriteLine(returnJNI); Java.Dispose(); }