Android AsyncTask - una subclase por operación de base de datos?
-
25-09-2019 - |
Pregunta
Tengo una actividad para inicializar un juego, que hace múltiples selecciona y las inserciones de una serie de tablas de SQLite.
Estoy tratando de entender AsyncTask, pero, de todos los ejemplos que he leído hasta ahora, me pregunto si voy a tener que subclase AsyncTask para cada operación de datos único diferente que tengo que hacer?
Por ejemplo, mi NewGame Actividad hace lo siguiente:
1) Insert new player record into PLAYER table
2) Insert new player's pet record into PET table
3) Select cursor of n records from INVENTORY
4) Insert array of ranomly chosen inventory items into PLAYER_OWNED table
5) ....more things of a similar nature
No va a ser un poco más selecciona e insertos para varias cosas también, así que tener una subclase individual para cada uno va a volver loco. Por no mencionar que habrá alrededor de 8 actividades para este juego, todos dependen en gran medida de la base de datos lee y escribe.
Así que, básicamente, ¿cómo puedo mejor uso AsyncTask para llevar a cabo una serie de diferentes operaciones SQLite?
Solución
Puede pasar parámetros a un AsyncTask, aún más, si utiliza clases anidadas, puede utilizar variables globales desde el interior de la clase AsyncTask, mediante el uso de uno de los anteriores o las dos ayudas mencionadas debe ser capaz de utilizar la misma clase y tienen que hacer cosas diferentes dependiendo del parámetro que toma. No veo ninguna necesidad real para definir múltiples AsyncTasks.
será necesidad para definir un AsyncTask en cada actividad.
escribí necesidad , porque realmente no tiene que, pero su cómodo para hacerlo de esta manera, y es fácil de leer / escribir el código, como el AsyncTask se ASOCIADA sólo a la actividad. Esto es, por supuesto suposing utiliza clases anidadas, no veo ningún sentido escribir un archivo de clase separada sólo por una AsyncTask.