Trabalho final da disciplina de Gerência de Configuração de Software, realizado pelos alunos Diogo de Lima Menezes, João Pedro Cintra Karpinski e Luis Henrique Souza Carvalho
0
stars
0
forks
source link
Substituição de usos de classes filhas de AsyncTask #4
Atualmente, o sistema utiliza chamadas de métodos de classes privadas herdeiras diretas de AsyncTask para realizar queries e tarefas de forma assíncrona no banco de dados, para não congelar as operações do app.
Entretanto, os métodos utilizados estão depreciados e logo ficarão obsoletos, e, portanto, devemos substituí-los por outra abordagem.
O volume de dados esperado no aplicativo permite que sejam feitas operações síncronas, considerando também que são operações simples.
Os arquivos que utilizam operações da classe AsyncTask são:
\app\src\main\java\com\example\karta\activities\CadastroCidadeFragment.java
\app\src\main\java\com\example\karta\activities\CadastroEnderecoFragment.java
\app\src\main\java\com\example\karta\activities\CadastroFragment.java
\app\src\main\java\com\example\karta\activities\LoginFragment.java
Proponho que sejam implementados métodos simples, que utilizem diretamente a respectiva DAO do objeto, como por exemplo, no arquivo \app\src\main\java\com\example\karta\adapters\CidadeAdapter.java:
public void deleteCidade(Cidade c){ AppDatabase db = AppDatabase.getDatabase(getContext()); db.cidadeDao().delete(c); }
Atualmente, o sistema utiliza chamadas de métodos de classes privadas herdeiras diretas de AsyncTask para realizar queries e tarefas de forma assíncrona no banco de dados, para não congelar as operações do app. Entretanto, os métodos utilizados estão depreciados e logo ficarão obsoletos, e, portanto, devemos substituí-los por outra abordagem. O volume de dados esperado no aplicativo permite que sejam feitas operações síncronas, considerando também que são operações simples. Os arquivos que utilizam operações da classe AsyncTask são: \app\src\main\java\com\example\karta\activities\CadastroCidadeFragment.java \app\src\main\java\com\example\karta\activities\CadastroEnderecoFragment.java \app\src\main\java\com\example\karta\activities\CadastroFragment.java \app\src\main\java\com\example\karta\activities\LoginFragment.java
Proponho que sejam implementados métodos simples, que utilizem diretamente a respectiva DAO do objeto, como por exemplo, no arquivo \app\src\main\java\com\example\karta\adapters\CidadeAdapter.java:
public void deleteCidade(Cidade c){ AppDatabase db = AppDatabase.getDatabase(getContext()); db.cidadeDao().delete(c); }
Recomendo que a equipe dev atue nesta issue.