StarDust
StarDust

Reputation: 855

Object of native class in java?

Is it possible to declare an object of a native class (in c++) in java (android sdk)?

Upvotes: 1

Views: 3205

Answers (3)

oberthelot
oberthelot

Reputation: 1310

The only solution would be to create a JNI lib that would serve as a communication layer between your Java and C++ code.

That Lib would need to :

1- Contain methods that receive your needed Java Objects as JObject. (lookup this post for how to use the jobject : how to pass java class instance as a parameter to JNI method?

2- Request your C++ objects to your native code

3- Do whatever you need to do with both objects.

Hope it helps ;)

Cheers !

Upvotes: 1

Stephen C
Stephen C

Reputation: 718836

No. The only objects that Java recognizes are Java objects.

The JNI approach allows you to create a native method for a Java class, and a JNI method implemented in C / C++ can create other C / C++ objects. However, there is no way that you can pass such an object back to Java so that the Java code can use it directly.

Upvotes: 0

Peter Lawrey
Peter Lawrey

Reputation: 533530

Native classes which be declared and defined in c++.

However when you use JNI, you define a Java class with native method and generate C code from this to implement using javah

Upvotes: 0

Related Questions