Baixe o app para aproveitar ainda mais
Prévia do material em texto
UNIVERSIDADE VEIGA DE ALMEIDA SISTEMAS DE INFORMAÇÃO PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS Nome professor: RAFAEL CABRAL DE SOUZA ALUNO: Desenvolvimento de um aplicativo com a persistência de dados com o uso do SQLite no Android A persistência é um recurso muito importante no desenvolvimento de aplicativos. Saber trabalhar com os diversos tipos de armazenamento permite que você desenvolva projetos mais robustos. O desenvolvimento de projetos com uso de banco de dados, seja local ou remoto, é um pré-requisito para o desenvolvimento de aplicativos modernos. Para a concretização dos conhecimentos obtidos nesta unidade, você deve definir um objeto para a criação de sua classe e desenvolver um projeto com uso de persistência de dados com uso do SQLite no Android para realizar a manutenção dos diferentes registros de armazenamento, com a listagem, inclusão, alteração e exclusão desses registros. Crie um aplicativo Android para trabalhar com uma base de dados com uma tabela para persistência de dados de um objeto escolhido por você. O objeto deve ser definido por meio de uma classe própria, com: · O mínimo de cinco atributos (com uso de três diferentes tipos de dados) mais o atributo id (long). · Pelo menos um método construtor. · Métodos de acesso (setters & getters) para todos os atributos. · Outros métodos que sejam necessários. A aplicação deverá tratar a inclusão, alteração e exclusão dos registros, além de tratar o acesso, abertura e fechamento do recurso do banco de dados do SQLite, com o uso da arquitetura em três camadas. O aplicativo deverá apresentar os dados dos objetos armazenados por meio de uma lista (ListView) e apresentar as funcionalidades de inclusão, exclusão e alteração, que podem ser realizadas de acordo com a sua escolha. Você pode montar as telas a seu critério, desde que atenda aos requisitos de listagem, inclusão, exclusão e alteração dos registros. Procedimentos para elaboração do TD Crie um projeto no Android Studio e desenvolva a aplicação. Prepare um documento do Word com uma capa (apresentado a instituição, o curso, a disciplina, o aluno e o professor); a introdução do trabalho; o conteúdo com a documentação do sistema, contendo a captura das telas e os códigos de desenvolvimento das telas (código XML da view); os códigos de programação de todas as classes com comentários e apresentação dos testes realizados com o aplicativo com as capturas das telas dos testes; a conclusão e a bibliografia do trabalho. Realize o envio da tarefa incluindo o arquivo do Word. Introdução Trabalho realizado com o objetivo de demonstrar a execução de uma atividade na área de programação para dispositivos móveis. Atividade está com o propósito de realizar uma aplicação deverá tratar a inclusão, alteração e exclusão dos registros, além de tratar o acesso, abertura e fechamento do recurso do banco de dados do SQLite, com o uso da arquitetura em três camadas. Segue o código da aplicação abaixo. 4. XML(View) 4.1 activity_item_form.xml <?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=".ItemForm"> <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:backgroundTint="#4CAF50" 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_user_email" 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_user_email" 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" android:layout_marginEnd="208dp" android:layout_marginRight="208dp" android:text="Email" 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="Prioridade" 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="Titulo" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.076" app:layout_constraintStart_toStartOf="parent" tools:layout_editor_absoluteY="16dp" app:layout_constraintTop_toBottomOf="@+id/txt_title_task" tools:ignore="NotSibling" /> <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_to StartOf="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="Descrição" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.077" app:layout_constraintStart_toStartOf="parent" app:layout_constrain tTop_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" /> <Button android:id="@+id/btn_excluir" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="84dp" android:layout_marginEnd="20dp" android:layout_marginRight="20dp" android:layout_marginBottom="16dp"android:onClick="excluir" android:text="Excluir" app:backgroundTint="#4CAF50" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintTop_toBottomOf="@+id/input_task_user" app:layout_constraintVertical_bias="0.0" /> <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:backgroundTint="#4CAF50" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.537" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/input_task_user" app:layout_constraintVertical_bias="1.0" /> <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="Usuario" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/input_task_priority" /> <EditText android:id="@+id/input_task_user" 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> 4.2 activity_main.xml <?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="298dp" android:layout_height="546dp" android:layout_marginStart="8dp" android:layout_marginLeft="8dp" android:layout_marginTop="36dp" android:layout_margi nEnd="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="Sair" app:backgroundTint="#4CAF50" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.678" 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="Lista de Items" 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" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginStart="8dp" android:layou t_marginLeft="8dp" android:layout_marginTop="20dp" android:layout_marginEnd="8dp" android:layout_marginRight="8dp" android:onClick="incluirItem" android:text="Add Item" app:backgroundTint="#4CAF50" 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> 5. JAVA CONTROLLER 5.1 item.java 5.2 item_DAO.java 5.3 ItemForm.java 5.4 ItemSQLiteOpenHelper.java 5.5 MainActivity.java 6. APLICATIVO EM EXECUÇÃO Tela inicial Inclusão do 1º item 1º item incluído Alteração do 1º item 1º item alterado inclusão do 2º item 7. CONLUSÃO O projeto mostra não a penas um conceito de programação para o Android mais também reforça as estruturas e de dados, que podem ser aplicados em grandes e equipes e projetos futuros, e possível ver a persistência de dados transformam a aplicação na medida que vai se criando ao longo do projeto. 8. BIBLIOGRAFIA https://developer.android.com/training/data-storage/sqlite?hl=pt-br https://www.youtube.com/watch?v=hDSVInZ2JCs&ab_channel=Programmingw%2FProfessorSluiter https://www.devmedia.com.br/sqlite-no-android/19201 https://www.youtube.com/watch?v=YbOU_6d_zC8&ab_channel=SimplifiedCoding
Compartilhar