2012-05-13 6 views
0

Je cherche à implémenter une application CRUD sur Android 2.3.3 en tant que PoC d'apprentissage en utilisant la base de données SQLite. Pour le moment, j'ai mis en place une activité de recherche contenant le formulaire de recherche et une activité de résultats de recherche (en construction). J'utilise une asyncTask pour traiter l'accès db, et je veux afficher ces données sur l'activité suivante.Requête concernant Android AsyncTask

Actuellement, je lance l'activité de résultats de la méthode onPostExecute, et les résultats semblent bien montrer, mais cela ne lance-t-il pas la nouvelle activité dans le deuxième thread (créé pour AsyncTask)?

Si tel est le cas, comment puis-je retourner les données dans le thread d'interface utilisateur et lancer l'activité des résultats à partir de là?

N'hésitez pas à demander des éclaircissements, je ne suis pas une affiche fréquente, donc mes messages ont tendance à être un peu à moitié cuits, parfois.

Debojit

Répondre

2

seulement doInBackground est dans le fil d'arrière-plan. onPostExecute est dans le thread UI. C'est la beauté de AsyncTask: le configurer dans le thread UI, il fait le travail à haute latence, comme l'accès au fichier et au réseau, dans le thread d'arrière-plan, puis il répond dans le thread UI avec onPostExecute.

+0

Merci, cela m'aide beaucoup. Une autre question: devrais-je utiliser 'Service' et/ou' ContentProvider' pour cela? – Debojit

+1

Votre cas d'utilisation justifie ContentProvider mais pas un service. –

+0

Dans mon cas d'utilisation, est-il recommandé (performance-wise) d'utiliser 'ContentProvider', ou est-ce que je le laisse comme DAO (mon implémentation actuelle) invoqué' doInBackground'? Désolé si cela semble un peu obtus. – Debojit