2011-12-23 7 views
5

Vorrei associare e connettere un servizio ma non all'interno di un'attività Android. C'è una strega di classe che potrebbe essere estesa per avere un contesto necessario per legare?Associazione e connessione di un servizio Android all'esterno di un'attività

Quello che sto cercando di fare è fornire una semplice libreria java usando un servizio Android. La mia libreria non usa un'interfaccia utente. Ho solo bisogno di legare e collegare il mio servizio all'interno di una strega di classe necessario avere contesto di applicazione necessaria per il legame

Grazie

+0

"Vorrei collegare e connettere un servizio ma non all'interno di un'attività Android" - perché? Senza un'adeguata spiegazione di ciò che stai cercando di ottenere, otterrai risposte incomplete al meglio. – CommonsWare

+0

Quello che sto cercando di fare è di fornire una semplice libreria java usando un servizio Android. La mia biblioteca non ha bisogno di un'interfaccia utente. Ho solo bisogno di legare e connettere il mio servizio all'interno di una classe che è necessario disporre del contesto dell'applicazione necessario per l'associazione. –

risposta

0

Basta creare un'applicazione senza attività di default. Quindi estendere la classe di servizio di base. E non dimenticare di descriverlo nel file manifest.

Il servizio ha il suo contesto.

2

È possibile ottenere il contesto dalla classe dell'applicazione. Ricava la tua classe dall'applicazione e assegnale un metodo getApplication statico. Puoi usarlo per creare servizi.

Si noti che senza un'attività, l'associazione a un servizio può essere un po 'difficile - se, ad esempio, si è in un BroadcastReceiver, non sarà attivo abbastanza a lungo per poter ricevere la richiamata dopo che il servizio è stato stato legato.

+0

I membri dei dati statici influiscono sulla testabilità del codice? – sll

+0

Se sai come testare il tuo codice, non dovrebbe essere un problema. La statica è ovunque. – zmbq

+0

'Statics everywhere' - è una cattiva pratica, se alcuni codici fanno riferimento a un metodo statico - non si può iniettare questa logica di riferimento' static' da nessuna simulazione. Statica sono buone per i metodi utilitie – sll

Problemi correlati