|
Serwis Edukacyjny Nauczycieli w I-LO w Tarnowie
Materiały dla uczniów liceum |
Wyjście Spis treści Wstecz Dalej
Autor artykułu: mgr Jerzy
Wałaszek |
©2026 mgr Jerzy Wałaszek
|
SDL_AndroidGetActivity
| SPIS TREŚCI |
Rozdział jest tłumaczeniem oryginalnej instrukcji dla biblioteki SDL2.
Użyj tej funkcji, aby pobrać egzemplarz klasy aktywność Jawy w aplikacji pracującej w systemie Android.
void* SDL_AndroidGetActivity() |
Zwraca wskaźnik do jobject, który reprezentuje egzemplarz Activity class aplikacji Android lub NULL przy błędzie.
Obiekt jobject zwrócony przez tę funkcję jest lokalnym odwołaniem i musi być zwolniony przez program wywołujący. Zobacz na funkcje PushLocalFrame() i PopLocalFrame() lub DeleteLocalRef() w interfejsie natywnym Jawy (w dokumentacji Oracle – język angielski).
#include "SDL.h"
#include <jni.h>
// Ten przykład wymaga C++ oraz niestandardowej metody o nazwie "void showHome()"
// Wywołuje metodę void showHome() egzemplarza aktywności Jawy.
void showHome(void)
{
// pobierz środowisko JNI.
JNIEnv* env = (JNIEnv*)SDL_AndroidGetJNIEnv();
// pobierz egzemplarz SDLActivity
jobject activity = (jobject)SDL_AndroidGetActivity();
// znajdź klasę aktywności Jawy. Powinna być klasą SDLActivity lub jej podklasą.
jclass clazz(env->GetObjectClass(activity));
// znajdź identyfikator metody do wywołania
jmethodID method_id = env->GetMethodID(clazz, "showHome", "()V");
// faktycznie wywołaj metodę Jawy
env->CallVoidMethod(activity, method_id);
// wyczyść lokalne odwołania.
env->DeleteLocalRef(activity);
env->DeleteLocalRef(clazz);
// Ostrzeżenie (i dyskusja o szczegółach implementacji SDL w Androidzie):
// Lokalne odwołania są usuwane automatycznie, gdy kończy działanie natywna
// funkcja wywołana z Jawy. Dla SDL tą natywną funkcją jest sama main().
// Dlatego odwołania muszą być ręcznie usunięte, inaczej zostaną usunięte
// dopiero po powrocie z main() (czyli przy wyjściu z aplikacji).
}
|
![]() |
Zespół Przedmiotowy Chemii-Fizyki-Informatyki w I Liceum Ogólnokształcącym im. Kazimierza Brodzińskiego w Tarnowie ul. Piłsudskiego 4 ©2026 mgr Jerzy Wałaszek |
Materiały tylko do użytku dydaktycznego. Ich kopiowanie i powielanie jest dozwolone pod warunkiem podania źródła oraz niepobierania za to pieniędzy.
Pytania proszę przesyłać na adres email:
Serwis wykorzystuje pliki cookies. Jeśli nie chcesz ich otrzymywać, zablokuj je w swojej przeglądarce.
Informacje dodatkowe.