È possibile suggerire un ordine corretto per definire un'annotazione personalizzata in JAVA (Android). In questo modo, se annoto un metodo con l'annotazione @Background, il metodo dovrebbe funzionare sul thread in background.Come definire un'annotazione Android personalizzata (ad esempio @Background)
risposta
Non è possibile utilizzare un'annotazione personalizzata in JAVA (Android), perché il compilatore Android non lo supporta. Ma forse il sito follwing può esserti utile: http://androidannotations.org/
Non sono queste annotazioni personalizzate :) –
Questo potrebbe essere utile per il tuo caso specifico Creating custom Annotations. Sembra che tu debba fare lo scope @Retention(RetentionPolicy.RUNTIME)
e @Target(ElementType.METHOD)
per ottenere ciò che desideri. Allora come si può vedere nel primo esempio, si dovrebbe andare in oggetto, ecc
Per un buon esempio, guardare a ciò che fanno in Dagger
Come nota finale, questo è vecchio e si' Ho probabilmente progettato ciò che volevi, ma probabilmente non è una buona idea fare ciò che hai chiesto. C'è un costo per l'utilizzo delle annotazioni e Runnable è stato costruito fondamentalmente per quello che sembra si stia tentando di fare.
I sottotipi di Android Annotation
forniscono una vasta gamma di strumenti per ciò che si sta tentando di fare. In particolare, dai uno sguardo allo thread annotations; Sospetto che l'annotazione @WorkerThread
faccia esattamente quello che vuoi. Gli strumenti di ispezione del codice di Android Studio riconoscono queste annotazioni e contrassegna automaticamente qualsiasi codice che riconosce come violazione dei requisiti di threading (ad es., Chiamando un metodo di thread UI da un metodo annotato come @WorkerThread
).
Gli strumenti di ispezione del codice consentono inoltre di definire le proprie annotazioni, ma sono piuttosto limitate in ciò che possono fare. Questo è discusso nella sezione Creating Enumerated Annotations.
È necessario utilizzare queste annotazioni in Attività ??? –
Sì. Devo usare quell'annotazione per far funzionare un metodo in background. In modo che possa facilmente gestire le attività in background utilizzando questa annotazione. – deniz