Esempio n. 1
0
        public JObject New(JClass type, params object[] parameters)
        {
            try
            {
                IntPtr methodId = IntPtr.Zero;

                // Call constructor with no parameters
                if (parameters == null ||
                    parameters.Length == 0)
                {
                    methodId = this.Runtime.JavaEnvironment.JNIEnv.GetMethodID(type.JavaClass, "<init>", "()V");
                }
                else
                {
                    // TODO: Add support for calling constructor with parameters.
                }

                IntPtr javaObject = this.Runtime.JavaEnvironment.JNIEnv.NewObject(type.JavaClass, methodId, new NativeValue());
                return(new JObject(this, type.JavaClassName, type.JavaClass, javaObject));
            }
            catch
            {
                throw new ArgumentException(this.Runtime.JavaEnvironment.CatchJavaException());
            }
        }
Esempio n. 2
0
        public JObject New(string typeName, params object[] parameters)
        {
            JClass  type = this.LoadClass(typeName);
            JObject obj  = type.New(parameters);

            return(obj);
        }
Esempio n. 3
0
 public JClass LoadClass(string className, params object[] genericTypes)
 {
     try
     {
         string jniSignature = className.ToJniSignatureString();
         IntPtr javaClass    = this.Runtime.JavaEnvironment.JNIEnv.FindClass(jniSignature);
         JClass type         = new JClass(this, className, javaClass);
         return(type);
     }
     catch
     {
         throw new ArgumentException(this.Runtime.JavaEnvironment.CatchJavaException());
     }
 }
Esempio n. 4
0
 public T InvokeStaticMethod <T>(JClass javaType, string methodName, string javaReturnType, params object[] parameters)
 {
     return(this.ReturnMethodInvoke <T>(javaType.JavaClass, methodName, javaReturnType, parameters, false,
                                        (id, name, sig) => this.Runtime.JavaEnvironment.JNIEnv.GetStaticMethodID(id, name, sig)));
 }
Esempio n. 5
0
 public T GetStaticFieldValue <T>(JClass javaType, string fieldName, string fieldType = null)
 {
     return(this.ReturnFieldValue <T>(javaType.JavaClass, fieldName, fieldType, true,
                                      (id, name, sig) => this.Runtime.JavaEnvironment.JNIEnv.GetStaticFieldID(id, name, sig)));
 }
Esempio n. 6
0
 public void SetStaticFieldValue(JClass javaType, string fieldName, object newValue)
 {
     throw new NotSupportedException();
 }