Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.
left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Prévia do material em texto

1 
 
UNIVERSIDADE VEIGA DE ALMEIDA 
ANÁLISE E DESENVOLVIMENTO DE SISTEMAS 
 
 
 
 
 
 
 
 
 
 
 
 
AVA II 
PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS 
Guilherme Tel Souza Ferreira 
 
 
 
 
 
 
 
 
 
 
Rio de Janeiro, Setembro de 2020 
2 
 
UNIVERSIDADE VEIGA DE ALMEIDA 
 
 
 
 
 
 
 
 
 
 
 
 
 
 Programação Para Dispositivos Móveis 
Professor: Carlos A. Sicsú A. do Nascimento 
Aluno: Guilherme Tel Souza Ferreira 
Matricula: 20193300088 
 
 
 
 
 
 
 
 
 
 
 
 
Rio de Janeiro, Setembro de 2020 
3 
 
 
Introdução 
 
 O presente projeto tem o objetivo de suprir as necessidade de uma lista de tarefas simples, 
com a qual é possível realizar a inclusão, alteração e exclusão de uma tarefa, as tarefas são 
armazenadas em banco de dados SQLite fornecido pelo ecossistema Android, portanto não há perda 
de informação ao sair da aplicação. A visualização das tarefas é feita a partir de uma lista, na qual a 
tarefa mais recente aparece sempre abaixo. Para esse projeto foi utilizado o modelo de 3 camadas 
para a arquitetura da aplicação. 
 
4 
 
Código xml da activity_main da aplicação 
<?xml version="1.0" encoding="utf-8"?> 
<androidx.constraintlayout.widget.ConstraintLayout 
xmlns:android="http://schemas.android.com/apk/res/android" 
 xmlns:app="http://schemas.android.com/apk/res-auto" 
 xmlns:tools="http://schemas.android.com/tools" 
 android:layout_width="match_parent" 
 android:layout_height="match_parent" 
 tools:context=".MainActivity"> 
 
 
 <ListView 
 android:id="@+id/lista" 
 android:layout_width="312dp" 
 android:layout_height="388dp" 
 android:layout_marginStart="8dp" 
 android:layout_marginLeft="8dp" 
 android:layout_marginTop="36dp" 
 android:layout_marginEnd="8dp" 
 android:layout_marginRight="8dp" 
 app:layout_constraintEnd_toEndOf="parent" 
 app:layout_constraintStart_toStartOf="parent" 
 app:layout_constraintTop_toTopOf="parent"></ListView> 
 
 <Button 
 android:id="@+id/btn_app_sair" 
 android:layout_width="wrap_content" 
 android:layout_height="wrap_content" 
 android:layout_marginStart="8dp" 
 android:layout_marginLeft="8dp" 
 android:layout_marginTop="20dp" 
 android:layout_marginEnd="8dp" 
 android:layout_marginRight="8dp" 
 android:onClick="sair" 
 android:text="@string/btn_app_sair" 
 app:layout_constraintEnd_toEndOf="parent" 
 app:layout_constraintStart_toEndOf="@+id/btn_incluir_task" 
 app:layout_constraintTop_toBottomOf="@+id/lista" /> 
 
 <TextView 
 android:id="@+id/txt_title_list" 
 android:layout_width="wrap_content" 
 android:layout_height="wrap_content" 
 android:layout_marginStart="8dp" 
 android:layout_marginLeft="8dp" 
 android:layout_marginTop="8dp" 
 android:layout_marginEnd="8dp" 
 android:layout_marginRight="8dp" 
 android:layout_marginBottom="8dp" 
 android:text="@string/txt_title_list" 
 app:layout_constraintBottom_toTopOf="@+id/lista" 
 app:layout_constraintEnd_toEndOf="parent" 
 app:layout_constraintStart_toStartOf="parent" 
 app:layout_constraintTop_toTopOf="parent" 
 app:layout_constraintVertical_bias="0.457" /> 
 
 <Button 
 android:id="@+id/btn_incluir_task" 
5 
 
 android:layout_width="wrap_content" 
 android:layout_height="wrap_content" 
 android:layout_marginStart="8dp" 
 android:layout_marginLeft="8dp" 
 android:layout_marginTop="20dp" 
 android:layout_marginEnd="8dp" 
 android:layout_marginRight="8dp" 
 android:onClick="incluirTarefa" 
 android:text="@string/btn_incluir_task" 
 app:layout_constraintEnd_toEndOf="parent" 
 app:layout_constraintHorizontal_bias="0.078" 
 app:layout_constraintStart_toStartOf="parent" 
 app:layout_constraintTop_toBottomOf="@+id/lista" /> 
 
</androidx.constraintlayout.widget.ConstraintLayout> 
 
6 
 
Código xml da activity_tratar_tarefa da aplicação 
<?xml version="1.0" encoding="utf-8"?> 
<androidx.constraintlayout.widget.ConstraintLayout 
xmlns:android="http://schemas.android.com/apk/res/android" 
 xmlns:app="http://schemas.android.com/apk/res-auto" 
 xmlns:tools="http://schemas.android.com/tools" 
 android:layout_width="match_parent" 
 android:layout_height="match_parent" 
 tools:context=".TratarTarefa"> 
 
 <Button 
 android:id="@+id/btn_alterar" 
 android:layout_width="wrap_content" 
 android:layout_height="wrap_content" 
 android:layout_marginStart="44dp" 
 android:layout_marginLeft="44dp" 
 android:layout_marginTop="84dp" 
 android:layout_marginBottom="16dp" 
 android:onClick="alterarInserir" 
 android:text="Alterar" 
 app:layout_constraintBottom_toBottomOf="parent" 
 app:layout_constraintStart_toStartOf="parent" 
 app:layout_constraintTop_toBottomOf="@+id/txt_title_person" 
 app:layout_constraintVertical_bias="0.0" /> 
 
 <EditText 
 android:id="@+id/input_task_locate" 
 android:layout_width="257dp" 
 android:layout_height="42dp" 
 android:layout_marginTop="16dp" 
 android:layout_marginEnd="16dp" 
 android:layout_marginRight="16dp" 
 android:ems="10" 
 android:inputType="text" 
 app:layout_constraintEnd_toEndOf="parent" 
 app:layout_constraintTop_toBottomOf="@+id/txt_title_locate" /> 
 
 <EditText 
 android:id="@+id/input_task_priority" 
 android:layout_width="93dp" 
 android:layout_height="42dp" 
 android:layout_marginStart="16dp" 
 android:layout_marginLeft="16dp" 
 android:layout_marginTop="16dp" 
 android:layout_marginEnd="16dp" 
 android:layout_marginRight="16dp" 
 android:ems="10" 
 android:inputType="number" 
 app:layout_constraintEnd_toStartOf="@+id/input_task_locate" 
 app:layout_constraintHorizontal_bias="0.0" 
 app:layout_constraintStart_toStartOf="parent" 
 app:layout_constraintTop_toBottomOf="@+id/txt_title_priority" /> 
 
 <TextView 
 android:id="@+id/txt_title_locate" 
 android:layout_width="63dp" 
 android:layout_height="38dp" 
 android:layout_marginTop="16dp" 
7 
 
 android:layout_marginEnd="208dp" 
 android:layout_marginRight="208dp" 
 android:text="@string/txt_title_locate" 
 app:layout_constraintEnd_toEndOf="parent" 
 app:layout_constraintTop_toBottomOf="@+id/input_task_desription" /> 
 
 <TextView 
 android:id="@+id/txt_title_priority" 
 android:layout_width="84dp" 
 android:layout_height="38dp" 
 android:layout_marginStart="16dp" 
 android:layout_marginLeft="16dp" 
 android:layout_marginTop="16dp" 
 android:text="@string/txt_title_priority" 
 app:layout_constraintStart_toStartOf="parent" 
 app:layout_constraintTop_toBottomOf="@+id/input_task_desription" /> 
 
 <TextView 
 android:id="@+id/txt_title_task" 
 android:layout_width="98dp" 
 android:layout_height="27dp" 
 android:text="@string/txt_title_task" 
 app:layout_constraintEnd_toEndOf="parent" 
 app:layout_constraintHorizontal_bias="0.076" 
 app:layout_constraintStart_toStartOf="parent" 
 tools:layout_editor_absoluteY="16dp" /> 
 
 <EditText 
 android:id="@+id/input_task_title" 
 android:layout_width="363dp" 
 android:layout_height="48dp" 
 android:layout_marginTop="22dp" 
 android:ems="10" 
 android:inputType="text" 
 app:layout_constraintEnd_toEndOf="parent" 
 app:layout_constraintStart_toStartOf="parent" 
 app:layout_constraintTop_toBottomOf="@+id/txt_title_task" /> 
 
 <TextView 
 android:id="@+id/txt_title_description"android:layout_width="100dp" 
 android:layout_height="30dp" 
 android:layout_marginTop="16dp" 
 android:text="@string/txt_title_description" 
 app:layout_constraintEnd_toEndOf="parent" 
 app:layout_constraintHorizontal_bias="0.077" 
 app:layout_constraintStart_toStartOf="parent" 
 app:layout_constraintTop_toBottomOf="@+id/input_task_title" /> 
 
 <EditText 
 android:id="@+id/input_task_desription" 
 android:layout_width="370dp" 
 android:layout_height="74dp" 
 android:layout_marginTop="16dp" 
 android:ems="10" 
 android:inputType="text" 
 app:layout_constraintEnd_toEndOf="parent" 
 app:layout_constraintStart_toStartOf="parent" 
 app:layout_constraintTop_toBottomOf="@+id/txt_title_description" /> 
8 
 
 
 <Button 
 android:id="@+id/btn_excluir" 
 android:layout_width="wrap_content" 
 android:layout_height="wrap_content" 
 android:layout_marginTop="84dp" 
 android:layout_marginEnd="64dp" 
 android:layout_marginRight="64dp" 
 android:layout_marginBottom="16dp" 
 android:onClick="excluir" 
 android:text="Excluir" 
 app:layout_constraintBottom_toBottomOf="parent" 
 app:layout_constraintEnd_toEndOf="parent" 
 app:layout_constraintTop_toBottomOf="@+id/input_task_person" 
 app:layout_constraintVertical_bias="0.006" /> 
 
 <Button 
 android:id="@+id/btn_voltar" 
 android:layout_width="wrap_content" 
 android:layout_height="wrap_content" 
 android:layout_marginTop="16dp" 
 android:layout_marginBottom="16dp" 
 android:onClick="voltar" 
 android:text="Voltar" 
 app:layout_constraintBottom_toBottomOf="parent" 
 app:layout_constraintEnd_toEndOf="parent" 
 app:layout_constraintHorizontal_bias="0.498" 
 app:layout_constraintStart_toStartOf="parent" 
 app:layout_constraintTop_toBottomOf="@+id/input_task_person" 
 app:layout_constraintVertical_bias="0.719" /> 
 
 <TextView 
 android:id="@+id/txt_title_person" 
 android:layout_width="93dp" 
 android:layout_height="44dp" 
 android:layout_marginStart="16dp" 
 android:layout_marginLeft="16dp" 
 android:layout_marginTop="32dp" 
 android:text="@string/txt_title_person" 
 app:layout_constraintStart_toStartOf="parent" 
 app:layout_constraintTop_toBottomOf="@+id/input_task_priority" /> 
 
 <EditText 
 android:id="@+id/input_task_person" 
 android:layout_width="252dp" 
 android:layout_height="48dp" 
 android:layout_marginTop="28dp" 
 android:ems="10" 
 android:inputType="textPersonName" 
 app:layout_constraintEnd_toEndOf="parent" 
 app:layout_constraintHorizontal_bias="0.52" 
 app:layout_constraintStart_toEndOf="@+id/txt_title_person" 
 app:layout_constraintTop_toBottomOf="@+id/input_task_priority" /> 
 
 
</androidx.constraintlayout.widget.ConstraintLayout> 
 
9 
 
Aplicação em execução 
Início do aplicativo e tela para inclusão da primeira tarefa 
 
 
 
 
 
 
 
 
 
10 
 
Primeira tarefa incluída na tela inicial e alteração da primeira tarefa 
 
 
 
 
 
 
 
 
 
 
11 
 
Primeira tarefa alterada e segunda tarefa adicionada 
 
 
 
12 
 
 Código das Classes Java 
 
Classe Tarefa_DAO 
package com.example.reminderlist; 
 
import android.content.ContentValues; 
import android.content.Context; 
import android.database.Cursor; 
import android.database.SQLException; 
import android.database.sqlite.SQLiteDatabase; 
 
import java.util.ArrayList; 
import java.util.List; 
 
public class Tarefa_DAO { 
 
 private SQLiteDatabase database; 
 private String [] columns = { 
 TarefaSQLiteOpenHelper.COLUNA_ID, 
 TarefaSQLiteOpenHelper.COLUNA_TITLE, 
 TarefaSQLiteOpenHelper.COLUNA_DESCRIPTION, 
 TarefaSQLiteOpenHelper.COLUNA_PRIORITY, 
 TarefaSQLiteOpenHelper.COLUNA_LOCATE, 
 TarefaSQLiteOpenHelper.COLUNA_PERSON 
 }; 
 
 private TarefaSQLiteOpenHelper sqliteOpenHelper; 
 
 public Tarefa_DAO(Context context) { 
 sqliteOpenHelper = new TarefaSQLiteOpenHelper(context); 
 } 
 
 public void open() throws SQLException { 
 database = sqliteOpenHelper.getWritableDatabase(); 
 } 
 
 public void close() { 
 sqliteOpenHelper.close(); 
 } 
 
 public void inserir(String title, String description, int priority, String locate, 
String person) { 
 ContentValues values = new ContentValues(); 
 values.put(TarefaSQLiteOpenHelper.COLUNA_TITLE, title); 
 values.put(TarefaSQLiteOpenHelper.COLUNA_DESCRIPTION,description); 
 values.put(TarefaSQLiteOpenHelper.COLUNA_PRIORITY, String.valueOf(priority)); 
 values.put(TarefaSQLiteOpenHelper.COLUNA_LOCATE, locate); 
 values.put(TarefaSQLiteOpenHelper.COLUNA_PERSON, person); 
 long insertId = database.insert(TarefaSQLiteOpenHelper.TABELA,null, values); 
 } 
 
 public void alterar(long id, String title, String description, int priority, String 
locate, String person){ 
 ContentValues values = new ContentValues (); 
 values.put(TarefaSQLiteOpenHelper.COLUNA_TITLE, title); 
 values.put(TarefaSQLiteOpenHelper.COLUNA_DESCRIPTION, description); 
13 
 
 values.put(TarefaSQLiteOpenHelper.COLUNA_PRIORITY, String.valueOf(priority)); 
 values.put(TarefaSQLiteOpenHelper.COLUNA_LOCATE, locate); 
 values.put(TarefaSQLiteOpenHelper.COLUNA_PERSON, person); 
 
 database.update(TarefaSQLiteOpenHelper.TABELA, values, 
 TarefaSQLiteOpenHelper.COLUNA_ID + "=" + id, null); 
 } 
 
 public void apagar (long id) { 
 database.delete (TarefaSQLiteOpenHelper.TABELA , 
 TarefaSQLiteOpenHelper.COLUNA_ID 
 + " = " + id , null ); 
 } 
 
 public Tarefa buscar(long id) { 
 Cursor cursor = database.query(TarefaSQLiteOpenHelper.TABELA, 
 columns , TarefaSQLiteOpenHelper.COLUNA_ID + " = " + id, 
 null , null , null , null); 
 cursor.moveToFirst(); 
 Tarefa tarefa = new Tarefa(); 
 tarefa.setId(cursor.getLong(0)); 
 tarefa.setTitle(cursor.getString(1)); 
 tarefa.setDescription(cursor.getString(2)); 
 tarefa.setPriority(cursor.getInt(3)); 
 tarefa.setLocate(cursor.getString(4)); 
 tarefa.setPerson(cursor.getString(5)); 
 
 cursor.close(); 
 return tarefa; 
 } 
 
 public List<Tarefa> getAll() { 
 List <Tarefa> tarefas = new ArrayList<Tarefa>(); 
 Cursor cursor = database.query(TarefaSQLiteOpenHelper.TABELA, 
 columns,null ,null ,null ,null ,null); 
 cursor.moveToFirst (); 
 
 while (!cursor.isAfterLast()) { 
 Tarefa tarefa = new Tarefa(); 
 tarefa.setId(cursor.getLong(0)); 
 tarefa.setTitle(cursor.getString(1)); 
 tarefa.setDescription(cursor.getString(2)); 
 tarefa.setPriority(cursor.getInt(3)); 
 tarefa.setLocate(cursor.getString(4)); 
 tarefa.setPerson(cursor.getString(5)); 
 tarefas.add(tarefa); 
 cursor.moveToNext(); 
 } 
 
 cursor.close(); 
 return tarefas; 
 } 
} 
 
14 
 
Classe Tarefa 
package com.example.reminderlist; 
 
public class Tarefa { 
 private long id; 
 private String title; 
 private String description; 
 private int priority; 
 private String locate; 
 private String person; 
 
 public Tarefa() { 
 title = "Nome da Tarefa"; 
 description = "Finalizar a AVA 2 da disciplina de Android"; 
 priority = 1; 
 locate = "Portal do Aluno"; 
 person = "Guilherme Tel"; 
 } 
 
 public long getId() { 
 return id; 
 } 
 
 public void setId(longid) { 
 this.id = id; 
 } 
 
 public String getTitle() { 
 return title; 
 } 
 
 public void setTitle(String title) { 
 if (!title.isEmpty()) { 
 this.title = title; 
 } 
 } 
 
 public String getDescription() { 
 return description; 
 } 
 
 public void setDescription(String description) { 
 if (!description.isEmpty()) { 
 this.description = description; 
 } 
 } 
 
 public int getPriority() { 
 return priority; 
 } 
 
 public void setPriority(int priority) { 
 if (priority >= 0) { 
 this.priority = priority; 
 } 
 } 
 
 public String getLocate() { 
15 
 
 return locate; 
 } 
 
 public void setLocate(String locate) { 
 if (!locate.isEmpty()) { 
 this.locate = locate; 
 } 
 } 
 
 public String getPerson() { 
 return person; 
 } 
 
 public void setPerson(String person) { 
 if (!person.isEmpty()) { 
 this.person = person; 
 } 
 } 
 
 public String textoLista() { 
 String item; 
 item = getTitle(); 
 item += "\nDescrição: " + getDescription(); 
 item += "\nPrioridade: " + getPriority(); 
 item += "\nLocal: " + getLocate(); 
 item += "\nPessoa: " + getPerson(); 
 return item; 
 } 
} 
 
16 
 
Classe TarefaSQLiteOpenHelper 
package com.example.reminderlist; 
 
import android.content.Context; 
import android.database.sqlite.SQLiteDatabase; 
import android.database.sqlite.SQLiteOpenHelper; 
 
public class TarefaSQLiteOpenHelper extends SQLiteOpenHelper { 
 
 public static final String TABELA = " Tarefa "; 
 public static final String COLUNA_ID = " id "; 
 public static final String COLUNA_TITLE = " title "; 
 public static final String COLUNA_DESCRIPTION = " description "; 
 public static final String COLUNA_PRIORITY = " priority "; 
 public static final String COLUNA_LOCATE = " locate "; 
 public static final String COLUNA_PERSON = " person "; 
 
 private static final String DATABASE_NAME = "tarefas.db"; 
 private static final int DATABASE_VERSION = 1; 
 private static final String CRIAR_BANCO = " create table " 
 + TABELA + "(" 
 + COLUNA_ID + " integer primary key autoincrement , " 
 + COLUNA_TITLE + " text not null , " 
 + COLUNA_DESCRIPTION + " text not null, " 
 + COLUNA_PRIORITY + " integer not null, " 
 + COLUNA_LOCATE + " text not null, " 
 + COLUNA_PERSON + " text not null);"; 
 
 public TarefaSQLiteOpenHelper(Context context) { 
 super(context, DATABASE_NAME, null, DATABASE_VERSION); 
 } 
 
 @Override 
 public void onCreate(SQLiteDatabase database) { 
 database.execSQL (CRIAR_BANCO); 
 } 
 
 @Override 
 public void onUpgrade (SQLiteDatabase db, int oldVersion, int newVersion) { 
 db. execSQL (" DROP TABLE IF EXISTS " + TABELA ); 
 onCreate (db); 
 } 
} 
 
17 
 
Classe TratarTarefa 
package com.example.reminderlist; 
 
import androidx.appcompat.app.AppCompatActivity; 
 
import android.os.Bundle; 
import android.view.View; 
import android.widget.Button; 
import android.widget.EditText; 
 
public class TratarTarefa extends AppCompatActivity { 
 
 EditText input_task_title, input_task_desription, input_task_priority, 
input_task_locate, input_task_person; 
 Button btn_alterar, btn_excluir; 
 private int acao; 
 private long id; 
 
 @Override 
 protected void onCreate(Bundle savedInstanceState) { 
 super.onCreate(savedInstanceState); 
 setContentView(R.layout.activity_tratar_tarefa); 
 
 btn_alterar = (Button) findViewById(R.id.btn_alterar); 
 btn_excluir = (Button) findViewById(R.id.btn_excluir); 
 input_task_title = (EditText) findViewById(R.id.input_task_title); 
 input_task_desription = (EditText) findViewById(R.id.input_task_desription); 
 input_task_priority = (EditText) findViewById(R.id.input_task_priority); 
 input_task_locate = (EditText) findViewById(R.id.input_task_locate); 
 input_task_person = (EditText) findViewById(R.id.input_task_person); 
 
 acao = getIntent().getExtras().getInt("acao"); 
 id = getIntent().getExtras().getLong("id"); 
 
 if (acao == -1) { 
 setTitle("Inserir Tarefa"); 
 btn_alterar.setText("Incluir"); 
 btn_excluir.setEnabled(false); 
 input_task_title.setText("Nome tarefa"); 
 input_task_desription.setText("Descrição tarefa"); 
 input_task_priority.setText("1"); 
 input_task_locate.setText("Local da tarefa"); 
 input_task_person.setText("Realizador da tarefa"); 
 } else { 
 setTitle("Alterar ou Excluir Disciplina"); 
 
 Tarefa aux = new Tarefa(); 
 Tarefa_DAO dao = new Tarefa_DAO(this); 
 
 dao.open(); 
 aux = dao.buscar(id); 
 
 input_task_title.setText(aux.getTitle()); 
 input_task_desription.setText(aux.getDescription()); 
 input_task_priority.setText(String.valueOf(aux.getPriority())); 
 input_task_locate.setText(aux.getLocate()); 
 input_task_person.setText(aux.getPerson()); 
 
18 
 
 dao.close(); 
 } 
 } 
 
 // Método para preparar os dados para retornar à atividade principal 
 public void alterarInserir(View v) { 
 int priority; 
 String title, description, locate, person; 
 
 
 title = input_task_title.getText().toString(); 
 description = input_task_desription.getText().toString(); 
 locate = input_task_locate.getText().toString(); 
 person = input_task_person.getText().toString(); 
 priority = Integer.parseInt(input_task_priority.getText().toString()); 
 
 Tarefa_DAO dao = new Tarefa_DAO(this); 
 dao.open(); 
 
 if (acao == -1) { dao.inserir(title, description, priority, locate, person); } 
 else{ dao.alterar(id, title, description, priority, locate, person); } 
 
 dao.close(); 
 finish(); 
 } 
 
 public void excluir(View v) { 
 if (acao == 0) { 
 Tarefa_DAO dao = new Tarefa_DAO(this); 
 dao.open(); 
 dao.apagar(id); 
 dao.close(); 
 } 
 
 finish(); 
 } 
 
 public void voltar(View v) { 
 finish(); 
 } 
} 
 
19 
 
Classe MainActivity 
package com.example.reminderlist; 
 
import androidx.appcompat.app.AppCompatActivity; 
 
import android.content.Intent; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.AdapterView; 
import android.widget.ArrayAdapter; 
import android.widget.ListView; 
 
import java.util.Iterator; 
import java.util.List; 
 
public class MainActivity extends AppCompatActivity implements 
AdapterView.OnItemClickListener { 
 
 ListView lista; 
 Intent intent; 
 public static final int ACTIVITY_REQUEST_TAREFA = 1; 
 private Tarefa_DAO dao ; 
 private String[] tarefas; 
 private long[] idTarefas; 
 
 @Override 
 protected void onCreate(Bundle savedInstanceState) { 
 super.onCreate(savedInstanceState); 
 setContentView(R.layout.activity_main); 
 lista = (ListView) findViewById(R.id.lista); 
 setTitle("Gerenciador de Tarefas"); 
 
 dao = new Tarefa_DAO(this); 
 dao.open(); 
 lista.setOnItemClickListener(this); 
 } 
 
 @Override 
 protected void onResume(){ 
 dao.open(); 
 super.onResume(); 
 
 List<Tarefa> listaTarefas = dao.getAll(); 
 
 tarefas = new String[listaTarefas.size()]; 
 idTarefas = new long[listaTarefas.size()]; 
 
 int i =0; 
 Iterator<Tarefa> iterator = listaTarefas.iterator(); 
 while (iterator.hasNext()) { 
 Tarefa aux = new Tarefa(); 
 aux = (Tarefa) iterator.next(); 
 tarefas[i]= aux.textoLista(); 
 idTarefas[i] = aux.getId(); 
 i++; 
 } 
 
 ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, 
20 
 
android.R.layout.simple_list_item_1, tarefas); 
 lista.setAdapter(adapter); 
 } 
 
 @Override 
 protected void onPause(){ 
 dao.close(); 
 super.onPause(); 
 } 
 
 public void onItemClick(AdapterView<?> parent, View view, int position, long 
ident){ 
 
 long id = idTarefas[position]; 
 
 intent = new Intent(getApplicationContext(), TratarTarefa.class); 
 intent.putExtra("acao", 0); 
 intent.putExtra("id", id); 
 
 startActivity(intent); 
 } 
 
 public void incluirTarefa(View v){ 
 
 intent = new Intent(getApplicationContext(), TratarTarefa.class); 
 
 intent.putExtra("acao", -1); 
 intent.putExtra("id", 0L); 
 
 startActivity(intent); 
 } 
 
 public void sair(View v){ 
 finish(); 
 } 
} 
 
21 
 
 
Conclusão 
 
 O projeto avança não só nos conceitos da programação para o ecossistema Android, como 
também reforça os princípios de estruturas de dados, orientação a objetos e sobretudo padrão de 
projetos, que podem ser aplicados em grades equipes e projetos robustos, é possível observar que a 
persistência de dados transforma a aplicação na medida que permite mais funcionalidade e 
escalabilidade. 
 
 
 
22 
 
Bibliografia 
https://developer.android.com/

Mais conteúdos dessa disciplina