Tutorial sobre criação de regras de negócio para Android. Igor Rafael Santos da Silva

Documentos relacionados
Programação para Dispositivos Móveis

Tutorial: Utilização do sqlite no Android (Parte I)

Armazenamento em Banco de Dados em Aplicações Android. Prof. Fellipe Aleixo

Android Banco de Dados. Ivan Nicoli

Armazenamento de dados

1. SQLite No Android 2. API de Acesso Listagem 1 SQLiteDatabase SQLiteOpenHelper Listagem 1 Android Studio SQLiteOpenHelper Android Studio

Programação para Dispositivos Móveis. Banco de Dados (SQLite)

Armazenamento de Dados

Android BANCO DE DADOS - SQLITE. Prof. Joaquim assunção.

Programação para a Plataforma Android Aula 11. Banco de Dados

Como criar um banco de dados usando o mysql

persistência de dados

Provedores de Conteúdo

Lista de exercícios I - RESPOSTAS Servlets e banco de dados

Programação para Android. Aula 08: Persistência de dados SQL

Armazenamento de Dados

ROOM: Biblioteca de Mapeamento Objeto-Relacional. Prof. Fellipe Aleixo

Android e Bancos de Dados

Tutorial de Manipulação de dados com SQLite

Android #4. antonio deusany de carvalho junior

PLATAFORMA SIGA RIO DAS VELHAS MANUAL DO CÓDIGO FONTE

22/05/2012 CRIANDO UM PROJETO COM TELAS ESTRUTURA DA APLICAÇÃO LOGIN BANCO DE DADOS TAREFAS PHP MYSQL PARTE 2

Android e Bancos de Dados

Tabelas. Banco de Dados I MySQL

Vamos falar de Hibernate?

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS ARMAZENAMENTO EM BD NO DM. Prof. Angelo Augusto Frozza, M.Sc.

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS ARMAZENAMENTO EM BD NO DM. Prof. Angelo Augusto Frozza, M.Sc.

Apresentação de um Processo Cria4vo de Desenvolvimento de uma App Android. Realização de Dinâmica Hands- On para Construção de uma App Android

DDL DML DCL DTL Tipos Numéricos: INT FLOAT DOUBLE Tipos String: CHAR VARCHAR BINARY BLOB TEXT Tipos Data e Hora: DATE TIME TIMESTAMP YEAR

Herança entre Entidades JPA. Prof. Fellipe Aleixo

Capítulo 04: Persistência com SQLite

SISTEMAS DE INFORMAÇÃO

if( opcao.equals("1") ) { ElaborarContratoUI uiec = new ElaborarContratoUI(m_empresa); uiec.run();

Aplicação MVC com Class Library

Many-to-many. Mapear no Context Na classe Context.cs, dentro do método OnModelCreating, adicionar o trecho

SGATF Sistema para Gerenciamento de Alugueis de Trajes para Festa

Disciplina: Banco de Dados Tema: SQL Parte 2


Banco de dados. Conteúdo: DDL Prof. Patrícia Lucas

Agenda. Instalação e configuração. Processamento de comandos SQL com JDBC. Driver JDBC Criação da classe de conexão

Banco de Dados I Introdução SQL

2 Vectores de objectos

Java na Web. Aplicações Web

REST. Representational State Transfer. É um estilo arquitetural usado por muitas aplicações Web para estender as suas funcionalidades.

Criação de uma aplicação Web ASP.NET MVC 4

Java para Desktop. Programação Orientada à Objetos 2 JSE

Java - Conexão ao Banco de Dados usando JDBC

Computação II Orientação a Objetos

Transacções. Vitor Vaz da Silva

Linguagem de Programação II Implementação

Aula07 Forms Authentication

Inicia-se a produção do Caderno de Atividades sob a sua responsabilidade.

UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE Ficha de Expectativa de Resposta da Prova Escrita

Análise e Projeto Orientados por Objetos

Armazendando Senhas Com Funções de Hash

Database and Applications. Criação, inserção de dados PHP+MySQL

Laboratório 3 Controllers

Linguagem SQL Restrições, Triggers e Views

Modulo 8 - Padrão DAO (Dta Access Object) Prof. Sheila Cáceres

Aula 6 POO 1 Construtores. Profa. Elaine Faria UFU

Herança e Polimorfismo

Boas práticas com Orientação a Objetos. Paulo Silveira

Integrando Java com Banco de Dados

Errata 2 Engenharia de Software Fundamentos, Métodos e Padrões 3ª. edição

FTIN FORMAÇÃO TÉCNICA EM INFORMÁTICA. Módulo de Programação Prof. Bruno Maciel

LISTA DUPLAMENTE ENCADEADA

Implementar um exemplo de relacionamento entre classes um para muitos (1:N) e um para um (1:1). Sistema para uma Promotora de Evento Agenda Anual

Conexão do Banco de Dados localhost

Interfaces POO. Prof. Marcio Delamaro

Aula Prática Criando Views e Controles

PSI Linguagem de Definição de dados. Módulo 15

nome = n; cargo = c; salario = s; public void print() { System.out.println(nome cargo salario); public void aumento( double fator){

Programação Orientada a Objetos JDBC Java Database Connectivity

Navegar entre páginas Necessário o uso de Intent. Intenção de ir a algum lugar, acessar outros recursos, outros apps.

Desenvolvimento para Web em Java. Profa Andréa Schwertner Charão DLSC/CT/UFSM Lamarck Heinsch Mestrando PPGI/CT/UFSM


Sabemos que a classe é responsável por definir a estrutura e o comportamento de seus objetos. Portanto, os objetos são instâncias das classes.

Edital Nº. 04/2009-DIGPE 10 de maio de 2009

SQL Básica DDL. Prof. Marcos A. Schreiner. 21 de outubro de Curso de Licenciatura em Computação

############################## Grupo 1 OCAML #########################################################

Encapsulamento e Métodos (Construtores e Estáticos) João Paulo Q. dos Santos

JavaServer Faces JSF

Programação Orientada a Objetos II

Utilização de Base de Dados com BluePlant. Sumário

O JasperReports Studio é uma ferramenta de software que oferece um ambiente visual para criar relatórios para a plataforma Java. É open source.

MODEL-VIEW-CONTROLER. Prof. Fellipe Aleixo

Fabrício J. Barth. BandTec - Faculdade de Tecnologia Bandeirantes

Conexão com Banco de Dados, Inserção, exclusão e atualização de registros

Classe Abstrata e Interface

A linguagem SQL

Evento.java. package dominio;

Mecanismo de Persistência

Para entender o conceito de objetos em programação devemos fazer uma analogia com o mundo real:

Java Server Faces Navegação de

MySQL. Prof. César Melo. com a ajuda de vários

Visual Studio.NET - C# Parte 2 Windows Forms e Web Services

Atributos e Métodos Estáticos

Design Patterns (Factory Method, Prototype, Singleton)

INTRODUÇÃO. No entanto, o que pode ser considerado um produto (resultado) da criação de BDs?

FTIN FORMAÇÃO TÉCNICA EM INFORMÁTICA. Módulo de Programação Prof. Flávio Dantas

Transcrição:

Tutorial sobre criação de regras de negócio para Android Igor Rafael Santos da Silva

Este tutorial dará atenção à criação de regras de negócio em um ambiente de desenvolvimento Android. Primeiramente, vamos definir o que seria uma regra de negócio. Nossa aplicação destina-se à locação de imóveis, ou seja, um usuário poderá usar nosso serviço para procurar um imóvel disponível para aluguel ou poderá disponibilizar um imóvel em sua posse para aluguel. Então, espera-se que um usuário faça login no serviço para que ele possa disponibilizar seus imóveis para aluguel, ou, para que ele possa procurar imóveis com base em sua localização, salvar imóveis favoritos, conversar com o proprietário do imóvel, dentre outras opções. O login do nosso serviço pode ser considerado como um requisito funcional do nosso serviço, ou seja, é algo que o nosso serviço deve fazer para tratar uma necessidade dos usuários. Mas esse login deve ser especificado, deve ser definido como ele irá ocorrer, se irá utilizar-se de redes sociais para ser efetuado. As regras que irão definir como o login ocorrerá são as regras de negócio. Elas definirão como o nosso sistema atenderá a ação de login do usuário. Regras de negócio podem ser compreendidas quanto a como um requisito funcional se realizará. Neste tutorial será dado um exemplo com o login via conta de acesso (usuário e senha) da nossa aplicação, com as regras de negócio sendo criadas para Android. Os dados de login ficarão armazenados no banco de dados (SQLite). Nosso exemplo conterá a criação de um novo login, atualização de informações de login, e exclusão de login. Nosso projeto usa o padrão de arquitetura MVC (Model-View-Controller), então nossas regras de negócios ficaram no model. Para auxiliar na explicação da criação da regra, a classe Login que será usada no código será mostrada abaixo. 1. Classe Login public class Login //private int _id; String _username; String _email String _password; // construtor public Login() // construtor public Login(int id, String username, String _email, String _password)

this._id = id; this._username = username; this._password = _password; // construtor public Login(String username, String password) this._username = username; this. password = password; public Login(int id) this._id = id; public int getid() return this._id; public void setid(int id) this._id = id; public String getusername() return this._username; public void setusername(string username) this._username = username; public String getpassword() return this. password;

public void setpassword(string _password) this. password = _password; public String getemail() return this. email; public void setemail(string _email) this. email = _email; A classe Login possui os atributos username, password, email e id. O id será usado para identificação (Chave Primária) no banco de dados. Abaixo é mostrado o código de implementação do model de login via conta de acesso. Os métodos oncreate e onupdate são usados pelo Android para criação e atualização do banco de dados, respectivamente. A classe Login é usada para criar a estrutura das tabelas de login no banco (não será abordado nesse tutorial). A classe ContentValues é usada para armazenar os valores de login e inseri-los no banco. 2. Criação de um model para gestão dos dados de login via conta de acesso import android.content.contentvalues; import android.content.context; import android.database.cursor; import android.database.sqlite.sqlitedatabase; import android.database.sqlite.sqliteopenhelper; import android.util.log; final class loginuser private static final String DB_NAME = "user_login_db"; private static final String TABLE_NAME = "login "; private static final int DB_VERSION = 1; private static final String DB_CREATE_QUERY = "CREATE TABLE " +

loginuser.table_name + "(id integer primary key autoincrement, titulo text not null);"; private final SQLiteDatabase database; private final SQLiteOpenHelper helper; public loginuser(final Context ctx) this.helper = new SQLiteOpenHelper(ctx, loginuser.db_name, null, loginuser.db_version) @Override public void oncreate(final SQLiteDatabase db) db.execsql(loginuser.db_create_query); @Override public void onupgrade(final SQLiteDatabase db, final int oldversion, final int newversion) db.execsql("drop TABLE IF EXISTS " + loginuser.table_name); this.oncreate(db); ; this.database = this.helper.getwritabledatabase(); public void adduserlogin(login login) SQLiteDatabase db = this.getwritabledatabase(); ContentValues values = new ContentValues(); values.put(key_username, login.getusername()); values.put(key_email, login.getemail());

values.put(key_password, login.getpassword()); db.insert(table_name, null, values); db.close(); // Closing database connection public Login getlogin(int id) SQLiteDatabase db = this.getreadabledatabase(); Cursor cursor = db.query(table_name, new String[] KEY_ID, KEY_USERNAME, KEY_EMAIL, KEY_PASSWORD, KEY_ID + "=?", new String[] String.valueOf(id), null, null, null, null); if (cursor!= null) cursor.movetofirst(); Login login = newlogin(integer.parseint(cursor.getstring(0)), cursor.getstring(1), cursor.getstring(2), cursor.getstring(3)); return login; public int updatelogin(login login) SQLiteDatabase db = this.getwritabledatabase(); ContentValues values = new ContentValues(); values.put(key_name, login.getusername()); values.put(key_email, login.getemail()); return db.update(table_name, values, KEY_ID + " =?", new String[] String.valueOf(login.getID()) ); public int updatepassword(login login) SQLiteDatabase db = this.getwritabledatabase(); ContentValues values = new ContentValues(); values.put(key_password, login.getpassword());

return db.update(table_name, values, KEY_ID + " =?", new String[] String.valueOf(login.getID()) ); public void deletelogin(login login) SQLiteDatabase db = this.getwritabledatabase(); db.delete(table_name, KEY_ID + " =?", new String[] String.valueOf(login.getID()) ); db.close(); O model criado implementa métodos para tratar ações relacionadas ao login, como adicionar novo usuário, atualizar informações de login e excluir login. Esses métodos executam as ações determinadas e retornam os dados solicitados pela camada que os chamou (controller). A classe controller, com os métodos de criar novo usuário e atualizar login, será mostrada abaixo apenas para completude do exemplo. 3. Criação do controller para o serviço de login via conta de acesso import android.content.contentvalues; import android.content.context; import android.database.cursor; public class logincontroller private loginuser model; private List<String> tarefas; public logincontroller(context app_context) model = new loginuser(app_context); public void adduser(final String username, final String email, final String password) Login login = new Login(username, email, password);

model.adduser(data); public void update Login(int id) Login login = new Login(id); model.updatelogin(login);