Pergunta

Eu tenho uma atividade para iniciar um jogo, que faz vários seleciona e inserções a partir de um número de tabelas SQLite.

Estou tentando entender AsyncTask, mas, de todos os exemplos que eu li até agora, eu estou querendo saber se eu vou ter a subclasse AsyncTask para cada diferente operação de dados que eu preciso fazer?

Por exemplo, meu NewGame Atividade faz o seguinte:

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

Lá vão mais algumas seleciona e pastilhas para várias coisas demais, para ter um indivíduo subclasse para cada uma vai ficar louco.Para não mencionar que haverá cerca de 8 atividades para este jogo, todos confiando fortemente no banco de dados lê e escreve.

Então, basicamente, como posso usar melhor AsyncTask para a realização de um número de diferentes SQLite operações?

Foi útil?

Solução

Você pode passar parâmetros para uma AsyncTask, ainda mais, se você utilizar aninhado casos, você pode usar variáveis globais a partir de dentro, a classe AsyncTask, usando uma das opções acima ou ambos mencionados sida você deve ser capaz de utilizar a mesma classe e ter que fazer coisas diferentes, dependendo do parâmetro que você passe.Eu não vejo nenhuma necessidade real para definir vários AsyncTasks.

Você vai necessidade para definir uma AsyncTask em cada atividade.

Eu escrevi necessidade, porque você realmente não tem, mas confortável para fazê-lo dessa maneira, e a sua fácil leitura/escrita de código, como o AsyncTask é asociated para a atividade.Este é, naturalmente, suposing você utilizar aninhado casos, eu vejo nenhum ponto em escrever um arquivo de classe separado apenas por uma AsyncTask.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top