Modo migliore per vedere la differenza sarebbe vedere che è gerarchia di classe
Activity
java.lang.Object
↳ android.content.Context
↳ android.content.ContextWrapper
↳ android.view.ContextThemeWrapper
↳ android.app.Activity
E Application
java.lang.Object
↳ android.content.Context
↳ android.content.ContextWrapper
↳ android.app.Application
applicazione è quello che vive fino al vostro processo di app per Android viene ucciso. È possibile utilizzarlo per memorizzare dati specifici dell'applicazione (purché l'applicazione sia attiva) che possono essere utilizzati in varie attività. Nota Non sto dicendo che dovresti ... Le preferenze condivise potrebbero essere un altro modo appropriato di andare secondo il tuo caso. Inoltre, per essere chiari, non puoi utilizzare la tua Applicazione per avviare la tua app a differenza dell'attività di avvio che inserisci nel file manifest.
È possibile utilizzare la propria classe di applicazione personalizzata come segue
<application
android:name="icom.osfg.test.app.AppController"
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/MyTheme" >
<!-- all the activities goes here -->
</application>
dove
AppController extends Application
fonte
2015-07-18 11:59:59
Non intendo essere pedante ma intendevi "Non sarebbe possibile creare un'applicazione senza attività" ?. Voglio solo essere completamente chiaro su questo. – jcrowson
Le buone attività sono la componente fondamentale delle app. Mi piacciono le pagine di un'applicazione web. Ogni app ne avrà almeno una (anche se potresti essere in grado di avere un Widget senza uno suppongo). La tua app avrà bisogno di un'attività di ingresso. –
Quindi è possibile avviare classi che estendono l'applicazione, in modo simile all'avvio delle attività utilizzando l'intento? – jcrowson