React Native 생성 모듈 상속 문제

android

(shonee) #1

JAR 파일을 쓰기 위해서 libs 폴더에 넣고 만들고 있습니다.

나는 ReactContextBaseJavaModule을 상속 받아서 모듈을 만들어야한다는 것을 알고있습니다 react module .

이로 인해 상속 관련 문제가 발생했습니다.

자바 파일 :

import io.realm.RealmObject;
...

public class let extends RealmObject {
...
}

보시다시피 원본 자바파일은 RealmObject를 상속합니다.

하지만 이전에 언급 했었습니다. 모듈을 만들 때 상속 ReactContextBaseJavaModule 해야했기 때문에 상속받을 수 없었습니다. RealmObject

letmodule.java :

import com.facebook.react.bridge.ReactContextBaseJavaModule;
...

public class letmodule extends ReactContextBaseJavaModule {
...
}

othermodule.java :

import com.letmodule;
import io.realm.Realm;
...
public class othermodule extends ReactContextBaseJavaModule {
...
Realm realm = Realm.getDefaultInstance();
if (realm.where(letmodule.class).count() > 0) {...}
...

letmodule send = realm.createObject(letmodule.class, nextId);
...

for (letmodule send : realm.where(letmodule.class).findAll()) {

그래서 맨 위에있는 코드는 오류가 realm 에 대해서 발생합니다.

error: method where in class Realm cannot be applied to given types;
required: Class<E>
found: Class<letmodule>
reason: inferred type does not conform to upper bound(s)
inferred: letmodule
upper bound(s): RealmModel
where E is a type-variable:
E extends RealmModel declared in method <E>where(Class<E>)

이 오류를 어떻게 해결할 수 있습니까?

제발 많이 도와주세요.

나는 "Composition"에 대해서도 생각해 봤으나

하지만 내가 이해할 수없는 한 가지는 "letmodule"클래스가 "RealmObject"를 상속해야 오류가 사라집니다. "Composition"으로 해결할 수 있습니까?

모듈을 만드는 클래스에서 'ReactContextBaseJavaModule’를 상속 받지 않는한 자바스크립트에서 모듈을 적용시킬수가 없습니다. 왜냐하면 Package폴더에서 module.add부분이 에러가 나고 'Module’파일에서도 생성자가 에러가 나고 @OVERRIDE도 쓸수 없습니다.

"RealmObject"를 상속해야 저 오류를 없앨 수 있는데 어떻게 해야 없앨 수 있을까요?