Existe uma função no Android análogo a "int main" em C/C ++, que contém o loop principal do programa?

StackOverflow https://stackoverflow.com/questions/1099640

Pergunta

Normalmente em um programa C ou C ++, há um loop/função principal, geralmente int main (). Existe uma função semelhante que eu possa usar no desenvolvimento do Android Java?

Foi útil?

Solução

No que diz respeito a um programa Android, não há principal (). Há um loop de interface do usuário que o sistema operacional executa que faz chamadas para métodos que você define ou substitui em seu programa. Esses métodos provavelmente são chamados de/definidos em OnCreate (), OnStart (), OnResume (), Onrestart (), OnPause (), Onstop () ou OnDestroy (). Todos esses métodos podem ser substituídos em seu programa.

A questão fundamental é que o sistema operacional foi projetado para ser executado em um ambiente restrito a recursos. Seu programa precisa estar preparado para ser interrompido e até completamente interrompido sempre que o sistema operacional precisa de mais memória (este é um sistema operacional multitarefa). Para lidar com isso, seu programa precisa ter algumas das funções listadas acima.

O ciclo de vida da atividade descreve esse melhor (seu programa é uma ou mais atividades, pense em uma atividade como uma tela):

http://developer.android.com/reference/android/app/activity.html#activitylifecycle

Conclusão: o seu programa 'inicia' em OnCreate () através do OnResume (), mas o sistema operacional está executando o loop. Seu programa fornece retornos de chamada para o sistema operacional para lidar com o que o sistema operacional enviar para ele. Se você colocar um loop longo a qualquer momento do seu programa, ele parecerá congelar porque o sistema operacional (especificamente o thread da interface do usuário) não pode obter uma fatia de tempo. Use um thread para loops longos.

Outras dicas

No ambiente Android, não há principal (). O sistema operacional conta com o arquivo de manifesto para descobrir o ponto de entrada, uma atividade na maioria dos casos, no seu aplicativo.

Você deve ler http://developer.android.com/guide/topics/fundamentals.html Para mais detalhes.

De acordo com:http://developer.android.com/guide/tutorials/hello-world.html

A classe de aplicativo deve suportar um método para cada atividade suportada pelo aplicativo. No caso geral, o OnCreate provavelmente é equivalente à função principal/superior para suas necessidades.

Talvez seja possível criar um cronômetro e executar funções personalizadas a cada tick, redefinir o timer quando estiver em um horário específico

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top