Normalmente in un programma C o C++ esiste un ciclo/funzione principale, in genere int main()
. C'è una funzione simile che posso usare nello sviluppo Android di Android?Esiste una funzione in Android analoga a "int main" in C/C++ che contiene il ciclo principale del programma?
risposta
Per quanto riguarda un programma Android, non esiste main(). Esiste un ciclo di interfaccia utente eseguito dal sistema operativo che effettua chiamate ai metodi definiti o sovrascriventi nel programma. Questi metodi sono probabilmente chiamati da/defined in onCreate(), onStart(), onResume(), onReStart(), onPause(), onStop() o onDestroy(). Tutti questi metodi possono essere sostituiti nel tuo programma.
Il problema fondamentale è che il sistema operativo è progettato per essere eseguito in un ambiente con risorse limitate. Il tuo programma deve essere pronto per essere fermato e anche completamente interrotto quando il sistema operativo ha bisogno di più memoria (questo è un sistema operativo multitasking). Per gestire il tuo programma è necessario avere alcune delle funzioni sopra elencate.
Il ciclo di vita di attività descrive questo migliore (il vostro programma è una o più attività, pensare di un'attività come uno schermo):
http://developer.android.com/reference/android/app/Activity.html#ActivityLifecycle
Linea di fondo: Il vostro programma 'inizia' a onCreate() tramite onResume() ma il sistema operativo sta eseguendo il ciclo. Il tuo programma fornisce callback al sistema operativo per gestire qualsiasi cosa il sistema operativo lo invii. Se si inserisce un ciclo lungo in qualsiasi punto del programma, apparirà bloccato perché il sistema operativo (in particolare il thread dell'interfaccia utente) non è in grado di ottenere una porzione di tempo. Utilizzare un filo per loop lunghi.
Secondo: classe http://developer.android.com/guide/tutorials/hello-world.html
L'applicazione deve supportare un metodo per ogni attività che l'applicazione supporti. Nel caso generale, onCreate è probabilmente equivalente alla funzione principale/superiore per le tue esigenze.
In ambiente Android, non c'è main(). Il sistema operativo si basa sul file manifest per individuare il punto di ingresso, un'attività nella maggior parte dei casi, nella propria applicazione.
Si consiglia di leggere http://developer.android.com/guide/topics/fundamentals.html per ulteriori dettagli.
Forse è possibile con la creazione di un timer ed eseguire funzioni personalizzate ad ogni tick, resettare il timer quando è in un momento specifico
- 1. Perché ri-dichiarare una funzione in main?
- 2. do ... mentre il ciclo non funziona in main
- 3. C++: rompere il ciclo principale
- 4. Impossibile connettersi a una funzione interna main()
- 5. Differenza tra int main() e int main (void)?
- 6. Libreria collegata dinamica Android non in grado di risolvere i simboli del programma principale
- 7. Dov'è main() in Android?
- 8. 'main (int argc, char * argv [])'
- 9. In che modo const dopo una funzione ottimizza il programma?
- 10. Chiamare una funzione prima principale
- 11. Esiste una classe in Java simile a android.os.Handler in Android?
- 12. In C, main non deve essere una funzione?
- 13. Come trovo la funzione principale (...) del mio programma?
- 14. Differenza tra void main e int main?
- 15. Passando un puntatore a PUTCHAR a una funzione che riceve un int (*) (int)
- 16. Conversione di una stringa che contiene il decimale a Lungo
- 17. Programmazione del gioco senza un ciclo principale
- 18. Come interrompere il ciclo principale/esterno in un ciclo doppio/annidato?
- 19. dichiarando correttamente la funzione main() in ANSI C
- 20. Dove posizionare il ciclo di gioco principale nel gioco Android
- 21. programma Quine senza main()
- 22. Esiste una funzione `printk()` che supporta `va_list`?
- 23. Provare a convertire il ciclo annidato in funzione ricorsiva
- 24. Android Studio dissolvenza splash in main
- 25. Che cos'è una funzione "operatore int"?
- 26. rottura ciclo nidificato e ciclo principale
- 27. Che cosa significa il tipo ((Int) -> Int) in Swift?
- 28. exiting functions in main
- 29. In che modo la JVM utilizza il "Metodo principale" per avviare un programma Java?
- 30. Perché esiste una macro che definisce _tmain?
Questo in realtà non può essere considerato funzione principale in quel modo. – partlov