Programação com OpenGL/Android GLUT Wrapper: diferenças entre revisões

[edição não verificada][edição não verificada]
Conteúdo apagado Conteúdo adicionado
Linha 144:
 
== Eventos no Android ==
 
Mesmo que escrevamos um código nativo, nosso aplicativo será iniciado em um processo Java, usando o android.app.NativeActivity oferecido como ativador. que é o processo responsável por receber os eventos do dispositivo e passar para seu aplicativo.
 
Funcionamento:
* O Android envia um evento para o processo NativeActivity do Java.
* O Activity do Java, chamara todas as funções de callback(chamadas de fundo) (ex: tal como <code>protected void onLowMemory()</code> em caso de memória baixa)
* O NativeActivity chamará todas as funções JNI correspondente em seu android_app_NativeActivity(ex: <code> void onLowMemory_native(...)</code>
* O <code>android_app_NativeActivity.cpp</code> chamará as chamadas NativeCode correspondente no <code>android_native_app_glue.c</code> (ex: <code> void onLowMemory(...)</code>
* O <code>android_native_app_glue.c</code> escreve uma messagem através do C como <code>pipe(2)</code> (ex: <code>APP_CMD_LOW_MEMORY</code>, e retornára imediatamente para o processo Java não ficar preso (Senão será oferecido ao usuário que ele seja encerrado)
* Em sua native app, regularmente, checaremos os eventos que estão na fila e as chamadas <code>android_native_app_glue.c</code> process_cmd</code> (ou <code>process_input</code>)
* vamos voltar para o nivel acima em <code>android_native_app_glue.c</code>, Aonde o <code>process_cmd</code> executará um pré evento e um pós evento genérico que intermediaria as chamadas ao nosso aplicativo <code>onAppCmd</code>.
* Voltando ao nosso app, aonde pelo <code>onAppCmd</code> (ex: <code>engine_nandle_cmd</code>) processa os eventos que estão por ultimo!
 
== Referencia ==
<references/>