7

皆さん、

私の Android Java コードには、次のような宣言があります。

public class SurfacePanelNative extends SurfaceView implements SurfaceHolder.Callback {
   ...
   private static native void native_render();
}

私のネイティブ コードでは、関数を次のように宣言しています。

void native_render(JNIEnv *env, jobject javaSurface) {
   ANativeWindow* window = ANativeWindow_fromSurface(env, javaSurface);
   ...
}

ネット上のいくつかの例を見ると、関数は次のように宣言する必要があるようです。

void native_render(JNIEnv *env, jclass clazz) {
   ...
}

どの宣言が正しいのか疑問に思っています。

私は最初のものが正しいものだと考えています。そうでなければ、javaSurface を取得するための十分な情報がありません。

誰かがこれに光を当てることができれば幸いです。

よろしくお願いいたします。

よろしく、
ピーター

4

1 に答える 1