Programação para a Plataforma Android Aula 11. Banco de Dados
|
|
|
- Maria Fernanda Araújo de Sequeira
- 10 Há anos
- Visualizações:
Transcrição
1 Programação para a Plataforma Android Aula 11 Banco de Dados Introdução a linguagem SQL O banco de dados SQLite Como criar e manipular um banco de dados em Android Como apresentar dados na tela do aparelho celular Como criar um log simples de eventos Quais são as estruturas de dados mais comuns em Java?
2 SQLite Android disponibiliza um banco de dados chamado SQLite. SQLite é o banco de dados padrão em várias outras aplicações: Firefox, iphone, Symbia, Skype, etc. SQLite não possui licença, sendo de domínio público. Para usar SQLite, é preciso saber um pouco de SQL. Vocês lembram de alguma query?
3 Comandos de Definição Para criar uma tabela, podemos usar o comando abaixo: create table mytable ( _id integer primary key autoincrement, name text, phone text Qual o significado desse comando? ); E mais quais comandos nós temos em SQL?
4 Comandos de Modificação Para inserir algumas entradas em nosso banco de dados de exemplo, podemos usar os comandos abaixo: insert into mytable values(null, 'Steven King', ' '); insert into mytable values(null, 'John Smith', ' '); insert into mytable values(null, 'Fred Smitheizen', ' '); Falta uma categoria de comandos
5 Comandos de Consulta O que fazem os seguintes comandos SQL? select * from mytable where(_id=3); select name, phone from mytable where(name like "%smith%");
6 Log de Eventos Logando Eventos Crie um banco de dados que logue eventos. Um evento possui um título e o tempo em que aconteceu. Eventos são criados via um método addevents(título).
7 EventsData.java O Banco de Dados import sta*c android.provider.basecolumns._id; import sta*c com.aula11.constants.table_name; import sta*c com.aula11.constants.time; import sta*c com.aula11.constants.title; public class EventsData extends SQLiteOpenHelper { private stahc final String DATABASE_NAME = "events.db"; private stahc final int DATABASE_VERSION = 1; public EventsData(Context ctx) { super(ctx, DATABASE_NAME, null, DATABASE_VERSION); } public void oncreate(sqlitedatabase db) { db.execsql("create TABLE " + TABLE_NAME + " (" + _ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " + TIME + " INTEGER," + TITLE + " TEXT NOT NULL);"); } public void onupgrade(sqlitedatabase db, int oldversion, int newversion) { db.execsql("drop TABLE IF EXISTS " + TABLE_NAME); oncreate(db); } } Alguém sabe o que são essas importações estáticas? E o que faz esse comando SQL?
8 Constants.java Importações Estáhcas import android.provider.basecolumns; public interface Constants extends BaseColumns { final String TABLE_NAME = "events"; final String TIME = "hme"; final String TITLE = "htle"; } Precisamos de um layout para mostrar eventos.
9 main.xml Bom e Velho ScrollLayout <?xml version="1.0" encoding="u/ 8"?> <ScrollView xmlns:android="h5p://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent"> <TextView android:id="@+id/text" android:layout_width="fill_parent" android:layout_height="wrap_content" /> </ScrollView> E como seria o programa principal?
10 O Programa Principal public class AulaAchvity11 extends Achvity { private EventsData public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.main); events = new EventsData(this); try { addevent("hello, Android!"); Cursor cursor = getevents(); showevents(cursor); } finally { events.close(); } } } AulaAchvity11.java Como ler esses eventos? E como mostrar esses eventos na tela? Como criar novos eventos?
11 Criando Eventos AulaAchvity11.java private void addevent(string string) { SQLiteDatabase db = events.getwritabledatabase(); ContentValues values = new ContentValues(); values.put(time, System.currentTimeMillis()); values.put(title, string); db.insertorthrow(table_name, null, values); } Qual é a semântica desse método? Ainda falta sermos capazes de ler eventos!
12 AulaAchvity11.java Lendo Eventos private stahc String[] FROM = { _ID, TIME, TITLE, }; private stahc String ORDER_BY = TIME + " DESC"; private Cursor getevents() { SQLiteDatabase db = events.getreadabledatabase(); Cursor cursor = db.query(table_name, FROM, null, null, null, null, ORDER_BY); startmanagingcursor(cursor); return cursor; } Qual deve ser a semântica de cada um desses argumentos? E o que deve ser um cursor? Quais métodos ele deve ter? E como mostrar todos os eventos logados na tela?
13 Mostrando Eventos na Tela AulaAchvity11.java private void showevents(cursor cursor) { StringBuilder builder = new StringBuilder( "Saved events:\n"); while (cursor.movetonext()) { long id = cursor.getlong(0); long hme = cursor.getlong(1); String htle = cursor.getstring(2); builder.append(id).append(": "); builder.append(hme).append(": "); builder.append(htle).append("\n"); } TextView text = (TextView) findviewbyid(r.id.text); text.settext(builder); } Vocês saberiam logar eventos de D-pad? E eventos de teclado? E que outros eventos?
14 public boolean onkeydown(int keycode, KeyEvent event) { switch (keycode) { case KeyEvent.KEYCODE_0: case KeyEvent.KEYCODE_1: case KeyEvent.KEYCODE_2: case KeyEvent.KEYCODE_3: case KeyEvent.KEYCODE_4: case KeyEvent.KEYCODE_5: case KeyEvent.KEYCODE_6: case KeyEvent.KEYCODE_7: case KeyEvent.KEYCODE_8: case KeyEvent.KEYCODE_9: addevent("number pressed"); Toast t1 = Toast.makeText(this, "Number pressed", Toast.LENGTH_SHORT); t1.setgravity(gravity.center, 0, 0); t1.show(); break; case KeyEvent.KEYCODE_SPACE: addevent("space pressed"); Toast t2 = Toast.makeText(this, "Space pressed", Toast.LENGTH_SHORT); t2.setgravity(gravity.center, 0, 0); t2.show(); break; default: return super.onkeydown(keycode, event); } showevents(getevents()); return true; } AulaAchvity11.java Outros Eventos
15 Associando Dados a Visões Android disponibiliza aos desenvolvedores alguns recursos gráficos para a exibição de tabelas. Compare, por exemplo: E como criar um layout como esse?
16 EventList.java import android.app.listachvity; ListAchvity public class EventList extends ListAchvity { private EventsData public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.evtlist); events = new EventsData(this); try { addevent("hello, Android!"); Cursor cursor = getevents(); showevents(cursor); } finally { events.close(); } } } Existe um layout próprio para listas. Listas são feitas para exibir itens de um banco de dados.
17 evtlist.xml Layout de Lista <?xml version="1.0" encoding="u 8"?> <LinearLayout xmlns:android="hƒp://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent"> <! Veja os IDs built in de 'list' e 'empty' > <ListView android:id="@android:id/list" android:layout_width="wrap_content" android:layout_height="wrap_content"/> <TextView android:id="@android:id/empty" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/empty" /> </LinearLayout> Agora é preciso alterar o método showevents para usar a lista, em vez da caixa de texto.
18 EventList.java Adaptadores import android.widget.simplecursoradapter; import stahc android.provider.basecolumns._id; private stahc String[] FROM = { _ID, TIME, TITLE, }; private stahc int[] TO = { R.id.rowid, R.id.hme, R.id.htle, }; private void showevents(cursor cursor) { SimpleCursorAdapter adapter = new SimpleCursorAdapter(this, R.layout.item, cursor, FROM, TO); setlistadapter(adapter); } Precisamos de um layout para cada item de lista.
19 <?xml version="1.0" encoding="u/ 8"?> <RelahveLayout xmlns:android="h5p://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientahon="horizontal" android:padding="10sp"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text=": " /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text=": " /> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:ellipsize="end" android:singleline="true" /> </RelahveLayout> item.xml Layouts Relahvos O que será exibido em cada linha da lista? O que é um layout relativo? E como deve ser o layout da lista em si?
20 evtlist.xml Built in IDs <?xml version="1.0" encoding="u 8"?> <LinearLayout xmlns:android="hƒp://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent"> <ListView android:layout_width="wrap_content" android:layout_height="wrap_content"/> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" /> </LinearLayout> Qual o papel da textview nesse layout? Onde esses IDs foram declarados? E onde foi declarada essa constante?
21 Strings strings.xml?xml version="1.0" encoding="u 8"?> <resources> <string name="app_name">events</string> <string name="empty">no events!</string> </resources>
22 addevents e getevents Esses métodos são os mesmos usados em nossa primeira implementação. private void addevent(string string) { EventList.java SQLiteDatabase db = events.getwritabledatabase(); ContentValues values = new ContentValues(); values.put(time, System.currentTimeMillis()); values.put(title, string); db.insertorthrow(table_name, null, values); } private stahc String ORDER_BY = TIME + " DESC"; private Cursor getevents() { SQLiteDatabase db = events.getreadabledatabase(); Cursor cursor = db.query(table_name, FROM, null, null, null, null, ORDER_BY); startmanagingcursor(cursor); return cursor; EventList.java }
23 ListView vs ScrollView A principal diferença das duas abordagens acontece no método showevents. ScrollView private void showevents(cursor cursor) { StringBuilder builder = new StringBuilder( "Saved events:\n"); while (cursor.movetonext()) { long id = cursor.getlong(0); long hme = cursor.getlong(1); String htle = cursor.getstring(2); builder.append(id).append(": "); builder.append(hme).append(": "); builder.append(htle).append("\n"); } TextView text = (TextView) findviewbyid(r.id.text); text.settext(builder); } ListView private void showevents(cursor cursor) { SimpleCursorAdapter adapter = new SimpleCursorAdapter(this, R.layout.item, cursor, FROM, TO); setlistadapter(adapter); }
24 Exercício: eventos de toque Modifique ListEvent para que essa ahvidade também trate eventos de toque. Esses eventos devem ser disparados na tela de ahvidade, mas não pela lista.
25 EventList.java Eventos de public boolean ontouchevent(mohonevent event) { if (event.getachon()!= MohonEvent.ACTION_DOWN) { addevent("touch Event!"); Toast t1 = Toast.makeText(this, "Touch!", Toast.LENGTH_SHORT); t1.setgravity(gravity.center, 0, 0); t1.show(); } showevents(getevents()); return true; }
26 Menu de Contexto Apagando itens Adicione um menu de contexto à lista, que dê ao usuário a opção de apagar um item da lista.
27 Registrando o public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.evtlist); events = new EventsData(this); registerforcontextmenu(getlistview()); try { addevent("hello, Android!"); Cursor cursor = getevents(); showevents(cursor); } finally { events.close(); } } EventList.java
28 Definindo o Menu private final int del = public final void oncreatecontextmenu (final ContextMenu menu, final View v, final ContextMenuInfo menuinfo) { super.oncreatecontextmenu(menu, v, menuinfo); menu.add(menu.none, del, Menu.NONE, "DEL"); } EventList.java
29 Tratando opções public final boolean oncontextitemselected(final MenuItem item) { AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getmenuinfo(); RelahveLayout rl = (RelahveLayout)info.targetView; TextView tv = (TextView)rl.getChildAt(0); String strid = tv.gettext().tostring(); switch (item.getitemid()) { case del: SQLiteDatabase db = events.getreadabledatabase(); db.delete(table_name, "_ID = " + strid, null); showevents(getevents()); break; } return true; } EventList.java
30 Adicionando mais opções Cancel É possível que o usuário mude de idéia ao clicar no item que precisa ser removido. Adicione uma opção CANCEL ao menu, que lhe permita retornar sem remover o item.
31 Cancel EventList.java private final int cancel = public final void oncreatecontextmenu(final ContextMenu menu, final View v, final ContextMenuInfo menuinfo) { super.oncreatecontextmenu(menu, v, menuinfo); menu.add(menu.none, del, Menu.NONE, "DEL"); menu.add(menu.none, cancel, Menu.NONE, "CANCEL"); } E como tratar a escolha do novo item?
32 public final boolean oncontextitemselected(final MenuItem item) { AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getmenuinfo(); RelahveLayout rl = (RelahveLayout)info.targetView; TextView tv = (TextView)rl.getChildAt(0); String strid = tv.gettext().tostring(); switch (item.getitemid()) { case del: SQLiteDatabase db = events.getreadabledatabase(); db.delete(table_name, "_ID = " + strid, null); showevents(getevents()); break; case cancel: break; } return true; } EventList.java
33 Lendo uma entrada específica Visualizando itens Adicione um terceiro item ao seu menu. Esse item, SHOW, deverá mostrar um item selecionado. Use a saída de Log para exibir informações sobre esse item.
34 EventList.java private final int show = 2; Nova public final void oncreatecontextmenu(final ContextMenu menu, final View v, final ContextMenuInfo menuinfo) { super.oncreatecontextmenu(menu, v, menuinfo); menu.add(menu.none, del, Menu.NONE, "DEL"); menu.add(menu.none, show, Menu.NONE, "SHOW"); menu.add(menu.none, cancel, Menu.NONE, "CANCEL"); } Tratar esse evento não é trivial. Comece sendo capaz de selecionar o item.
35 Lendo um item específico public final boolean oncontextitemselected(final MenuItem item) { if (item.getitemid()!= cancel) { AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getmenuinfo(); RelahveLayout rl = (RelahveLayout) info.targetview; TextView tv = (TextView) rl.getchildat(0); String strid = tv.gettext().tostring(); SQLiteDatabase db = events.getreadabledatabase(); switch (item.getitemid()) { case del: db.delete(table_name, "_ID = " + strid, null); break; case show: Cursor cursor = db Mas, como ler os dados do cursor?.query(table_name, FROM, "_ID = " + strid, null, null, null, ORDER_BY); break; } showevents(getevents()); } return true; } EventList.java
36 EventList.java Manipulando o Cursor case show: Cursor cursor = db.query(table_name, FROM, "_ID = " + strid, null, null, null, ORDER_BY); Log.v("show", String.valueOf(cursor.getColumnCount())); Log.v("show", cursor.getcolumnname(0)); Log.v("show", cursor.getcolumnname(1)); Log.v("show", cursor.getcolumnname(2)); int hmecolumn = cursor.getcolumnindex(time); int htlecolumn = cursor.getcolumnindex(title); cursor.movetofirst(); String eventstr = cursor.getstring(htlecolumn); eventstr += "(" + cursor.getlong(hmecolumn) + ")"; Log.v("show", eventstr); break;
37 EventList.java Manipulando o Cursor case show: Cursor cursor = db.query(table_name, FROM, "_ID = " + strid, null, null, null, ORDER_BY); Log.v("show", String.valueOf(cursor.getColumnCount())); Log.v("show", cursor.getcolumnname(0)); Log.v("show", cursor.getcolumnname(1)); Log.v("show", cursor.getcolumnname(2)); int hmecolumn = cursor.getcolumnindex(time); int htlecolumn = cursor.getcolumnindex(title); cursor.movetofirst(); String eventstr = cursor.getstring(htlecolumn); eventstr += "(" + cursor.getlong(hmecolumn) + ")"; Log.v("show", eventstr); break;
38 EventList.java private stahc final int MAX_MENU_ID = public boolean oncreateophonsmenu(menu menu) { menu.add(menu.none, MAX_MENU_ID, Menu.NONE, "Get Oldest"); return true; public boolean onophonsitemselected(menuitem item) { switch (item.getitemid()) { case MAX_MENU_ID: AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setmessage("you have selected a menu!"); AlertDialog alert = builder.create(); alert.show(); return true; default: ; } return false; } O que esse código faz? Esse é um exemplo de um padrão de projetos. Qual? Modifique essa aplicação, para ela exibir na caixa o evento mais antigo.
39 Lendo o Evento mais Anhgo Comece criando um método getoldest, que retorna o evento mais antigo. Qual é a interface para esse método? Modifique essa aplicação, para ela exibir na caixa o evento mais antigo.
40 O Evento Mais Anhgo EventList.java private long getoldest(cursor c) { long oldesttime = 0L; int hmecolumn = c.getcolumnindex(time); Implemente for (c.movetofirst();!c.islast(); c.movetonext()) { algoritmo que leia o long currenttime = c.getlong(hmecolumn); evento mais antigo if (currenttime > oldesttime) { oldesttime = currenttime; dentre os eventos armazenados no } } cursor. return oldesttime; } E como incorporar esse código em seu menu?
41 Exibindo o Evento Mais Anhgo public boolean onophonsitemselected(menuitem item) { switch (item.getitemid()) { case MAX_MENU_ID: AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setmessage("oldest event = " + String.valueOf(getOldest(getEvents()))); AlertDialog alert = builder.create(); alert.show(); return true; default: ; } return false; }
Provedores de Conteúdo
Programação para a Plataforma Android Aula 12 Provedores de Conteúdo O que são provedores de conteúdo? Como ler dados de outras aplicações? Como iden@ficar recursos de forma única? Como deixar dados disponíveis
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
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 Dr. Eduardo Manuel de Freitas Jorge, PMP Realização de Dinâmica
Programação para a Plataforma Android Aula 7. Mul$mídia
Programação para a Plataforma Android Aula 7 Mul$mídia Como executar aplicações que contêm músicas? Como abrir vídeos em Android? Quais formatos de músicas são aceitos? Quais formatos de vídeo? Como o$mizar
Android Banco de Dados. Ivan Nicoli
Android Banco de Dados Ivan Nicoli SQLite O Android tem suporte ao SQLite (http://www.sqlite.org), um leve e poderoso banco de dados. Cada aplicação pode criar um ou mais banco de dados, que ficam localizados
Programação para Android. Aula 08: Persistência de dados SQL
Programação para Android Aula 08: Persistência de dados SQL Persistência de dados Na maioria das aplicações precisamos ter algum tipo de persistência de dados. Para guardar informações de forma persistente
Programação para Dispositivos Móveis
Programação para Dispositivos Móveis Fatec Ipiranga Análise e Desenvolvimento de Sistemas Aula 05 Programando formularios, activities e intents. Dalton Martins [email protected] São Paulo, Março, 2012
Armazenamento Persistente de Dados
Programação para a Plataforma Android Aula 10 Armazenamento Persistente de Dados Como armazenar as opções de preferência de uma aplicação? Como tocar músicas em uma a@vidade Android? Como armazenar dados
Android Core. Felipe Silveira felipesilveira.com.br. Aula 6
Android Core Felipe Silveira felipesilveira.com.br Aula 6 Aplicações I Desenvolvimento de Aplicações Android SDK SDK https://developer.android.com/sdk Android SDK Android SDK: Eclipse + ADT plugin + Android
Comunicação entre A0vidades
Programação para a Plataforma Android Aula 8 Comunicação entre A0vidades Como invocar uma a0vidade a par0r de outra? Como descrever um serviço em Android? Como duas a0vidades se comunicam? Como abrir uma
Programa de Dispositivos Móveis
Aula 02 - Exercício Programa de Dispositivos Móveis PDM - Aula02 - Exercício- Ver 02-04/06/2014 08:56 Criando Aplicação Android (BasicView) Vamos continuar a criar interfaces gráficas (UI) básicas com
Armazenamento de dados
Armazenamento de dados Opções de Armazenamento Shared Preferences Mecanismo simples de armazenar pares de chavevalor Internal Storage Mecanismo para armazenar dados na memória do aparelho External Storage
Programação para Dispositivos Móveis. Banco de Dados (SQLite)
Programação para Dispositivos Móveis Banco de Dados (SQLite) SQLite O Android possui suporte nativo ao SQLite O SQLite é um mecanismo de banco de dados SQL incorporado. Ao contrário da maioria dos outros
Introdução ao Android. SECAP 2014 Prof. Rone Ilídio - UFSJ
Introdução ao Android SECAP 2014 Prof. Rone Ilídio - UFSJ O que é o Android? Sistema operacional móvel, baseado numa versão modificada do Linux. Código aberto: qualquer pessoa pode baixar e modificar Máquina
Programação para Dispositivos Móveis
Prof. MSc. Flávio Barros [email protected] www.flaviobarros.com.br Programação para Dispositivos Móveis Aula: CRUD Agenda com SQLite Parte II Caxias - MA Projeto Android Estrutura Activity MainActivity.java
Interfaces Gráficas parte 3
parte 3 (Listview, AlertDialog e ActionBar) Programação de Dispositivos Móveis Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação
Tutorial: Utilização do sqlite no Android (Parte I)
Tutorial: Utilização do sqlite no Android (Parte I) Date : 7 de Abril de 2012 Por Mário Baltazar para o Pplware Tutorial realizado no âmbito do Mestrado em Computação Móvel do Instituto Politécnico da
Android Layout Manager. Ivan Nicoli
Android Layout Manager Ivan Nicoli Classe View A classe android.view.view é a classe mãe de todos os componentes visuais do Android. Qualquer desenvolvedor pode criar seu próprio componente herdando a
Programação para Android. Aula 06: Activity, menus e action bar
Programação para Android Aula 06: Activity, menus e action bar Activity A classe Activity é quem gerencia a interface com o usuário. Ela quem recebe as requisições, as trata e processa. Na programação
persistência de dados
_sqlite Transparecendo a persistência de dados em Android com MVC Conhecendo o funcionamento do SQLite e aplicando as práticas do modelo MVC no desenvolvimento da camada DAO. Douglas Cavalheiro [email protected]
Armazenamento em Banco de Dados em Aplicações Android. Prof. Fellipe Aleixo
Armazenamento em Banco de Dados em Aplicações Android Prof. Fellipe Aleixo ([email protected]) Opções de Armazenamento Shared Preferences Armazenamento de pares chave- valor Internal Memory UAliza
Módulo 2 - Novas Activities Android. Programação Orientada a Objetos Prof. Rone Ilídio - UFSJ
Módulo 2 - Novas Activities Android Programação Orientada a Objetos Prof. Rone Ilídio - UFSJ Inserindo a segunda activity Para inserir uma nova activity basta clicar com o botão direito sobre o pacote,
Comunicação via Sockets
Programação para a Plataforma Android Aula 9 Comunicação via Sockets O que são sockets? O que são data access objects? Como criar servidores de serviços distribuídos? Aplicações mulb threading simples
Desenvolvimento para Android Prá9ca 2. Prof. Markus Endler
Desenvolvimento para Android Prá9ca 2 Prof. Markus Endler Criando o primeiro projeto Android Com o ambiente de desenvolvimento preparado, vá em File - > New - > Project... Na janela que abrir, selecione
Desenvolvimento com Android Studio. Aula 02 Widgets, Manipulação de Dados e Programação de Eventos
Desenvolvimento com Android Studio Aula 02 Widgets, Manipulação de Dados e Programação de Eventos Widgets TextView O Widget TextView é utilizado para apresentar um texto não editável na tela. Qualquer
PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS ARMAZENAMENTO EM BD NO DM. Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza
PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS ARMAZENAMENTO EM BD NO DM Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza ROTEIRO Introdução App de exemplo Implementação do exemplo Testes realizados
PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS ARMAZENAMENTO EM BD NO DM. Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza
PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS ARMAZENAMENTO EM BD NO DM Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza ROTEIRO Introdução App de exemplo Implementação do exemplo Testes realizados
Programação para Android. Aula 05: Estilos e temas; galeria de imagens
Programação para Android Aula 05: Estilos e temas; galeria de imagens Objetivos Aplicar estilos e temas Criar uma galeria de imagens com o widget Gallery Parte 01: Estilos e temas Interface de Usuários
Programação de Dispositivos Móveis
Aula 07 Programação de Dispositivos Móveis Interface Gráfica ListView com ArrayAdapter Um elemento muito utilizado em aplicativos é a ListView, com ela pode-se criar uma lista de objetos. A partir dos
Listando itens em ComboBox e gravando os dados no Banco de Dados MySQL.
Listando itens em ComboBox e gravando os dados no Banco de Dados MySQL. Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2012 Edição 7 Listando e Gravando Listando itens em ComboBox e gravando os dados no
Módulo 4 - Interface Gráfica Gerenciadores de Layout. Programação Orientada a Objetos Prof. Rone Ilídio - UFSJ
Módulo 4 - Interface Gráfica Gerenciadores de Layout Programação Orientada a Objetos Prof. Rone Ilídio - UFSJ Classe View Todos os componente gráficos são filhos de View Para se criar um novo componente
PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS
PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS Uso do SQLite no Android Professor: Danilo Giacobo OBJETIVOS DA AULA Aprender a persistir dados utilizando o banco de dados SQLite. Conhecer e utilizar a classe SQLiteOpenHelper.
DESENVOLVIMENTO PARA DISPOSITIVOS MÓVEIS. PROFª. M.Sc. JULIANA H Q BENACCHIO
DESENVOLVIMENTO PARA DISPOSITIVOS MÓVEIS PROFª. M.Sc. JULIANA H Q BENACCHIO Dialogs Dialogs são caixas de informações que servem para alertar o usuário sobre algo ou para solicitar algum tipo de informação
Armazenamento de Dados
Persistência... Armazenamento de Dados Diversas opções para armazenar dados da aplicação. A escolha de acordo com a necessidade: dados privados ou públicos, quantidade de espaço necessário, etc. 2 Armazenamento
Trabalhando com conexão ao banco de dados MySQL no Lazarus. Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011
Trabalhando com conexão ao banco de dados MySQL no Lazarus Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011 Edição 4 O Componente Trabalhando com conexão ao banco de dados MySQL no Lazarus Ano: 03/2011
Introdução ao Android. Programação Orientada a Objetos Prof. Rone Ilídio - UFSJ
Introdução ao Android Programação Orientada a Objetos Prof. Rone Ilídio - UFSJ O que é o Android? Sistema operacional móvel, baseado numa versão modificada do Linux. Código aberto: qualquer pessoa pode
Coleções. Conceitos e Utilização Básica. c Professores de ALPRO I 05/2012. Faculdade de Informática PUCRS
Coleções Conceitos e Utilização Básica c Professores de ALPRO I Faculdade de Informática PUCRS 05/2012 ALPRO I (FACIN) Coleções: Básico 05/2012 1 / 41 Nota Este material não pode ser reproduzido ou utilizado
ANDROID APPLICATION PROJECT
Criando um programa Abrindo o programa Eclipse, clique na opção [FILE], depois em [NEW], selecione a opção [PROJECT], uma janela de opção do tipo de projeto irá se abrir, escolha [ANDROID] logo depois
Disciplina: Unidade V: Prof.: E-mail: Período:
Encontro 17 Disciplina: Sistemas de Banco de Dados Unidade V: Introdução à Linguagem SQL Prof.: Mario Filho E-mail: [email protected] Período: 5º. SIG - ADM 13. Introdução à Linguagem SQL Introdução
Orientação a Objetos
1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou
Persistência de Classes em Tabelas de Banco de Dados
UTFPR DAELN - Disciplina de Fundamentos de Programação II ( IF62C ). 1 Persistência de Classes em Tabelas de Banco de Dados 1) Introdução! Em algumas situações, pode ser necessário preservar os objetos
Android e Bancos de Dados
(Usando o SQLite) Programação de Dispositivos Móveis Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e Tecnologia do
1. SQLite No Android 2. API de Acesso Listagem 1 SQLiteDatabase SQLiteOpenHelper Listagem 1 Android Studio SQLiteOpenHelper Android Studio
1. SQLite No Android O SQLite é um banco de dados relacional open-source e fornece suporte para comandos SQL. Cada aplicação Android pode criar quantos bancos de dados desejar e eles irão ficar armazenados
( TIAGO DOS SANTOS MENDES ) PROGRAMAÇÃO DISPOSITIVOS MOVEIS ANDROID STUDIO
Serviço Nacional de Aprendizagem Comercial E.E.P. Senac Pelotas Centro Histórico Programa Nacional de Acesso ao Ensino Técnico e Emprego Curso Técnico em Informática ( TIAGO DOS SANTOS MENDES ) PROGRAMAÇÃO
Autor: Ricardo Francisco Minzé Júnior - [email protected] Desenvolvendo aplicações em camadas com PHP 5.
Desenvolvendo aplicações em camadas com PHP 5. Talvez a primeira vista você ache estranha a palavra Camada em programação, mas o que vem a ser Camada? Segundo o dicionário: Camada 1 - Qualquer matéria
Prof. Jhonatan Fernando
Prof. Jhonatan Fernando É uma classe gerenciadora de UI. É possível informar qual layout (arquivo xml) que será carregado para uma determinada activity. O método responsável por informar qual layout será
SQL Structured Query Language
Janai Maciel SQL Structured Query Language (Banco de Dados) Conceitos de Linguagens de Programação 2013.2 Structured Query Language ( Linguagem de Consulta Estruturada ) Conceito: É a linguagem de pesquisa
Armazenamento de Dados
Persistência... Armazenamento de Dados Diversas opções para armazenar dados da aplicação. A escolha de acordo com a necessidade: dados privados ou públicos, quantidade de espaço necessário, etc. 2 Armazenamento
BANCO DE DADOS. info 3º ano. Prof. Diemesleno Souza Carvalho [email protected] www.diemesleno.com.br
BANCO DE DADOS info 3º ano Prof. Diemesleno Souza Carvalho [email protected] www.diemesleno.com.br Na última aula estudamos Unidade 4 - Projeto Lógico Normalização; Dicionário de Dados. Arquitetura
Comandos de Manipulação
SQL - Avançado Inserção de dados; Atualização de dados; Remoção de dados; Projeção; Seleção; Junções; Operadores: aritméticos, de comparação,de agregação e lógicos; Outros comandos relacionados. SQL SQL
Programação de Computadores - I. Profª Beatriz Profº Israel
Programação de Computadores - I Profª Beatriz Profº Israel As 52 Palavras Reservadas O que são palavras reservadas São palavras que já existem na linguagem Java, e tem sua função já definida. NÃO podem
PROPOSTA DE UM PADRÃO DE PROJETO PARA ANDROID UTILIZANDO A WEB
PROPOSTA DE UM PADRÃO DE PROJETO PARA ANDROID UTILIZANDO A WEB Aluno: Pedro Paulo S. Freitas Orientador: Ricardo Augusto Rabelo Sumário Introdução Motivação e Justificativa Trabalhos relacionados Plataforma
Banco de Dados. Prof. Leonardo Barreto Campos 1
Banco de Dados Prof. Leonardo Barreto Campos 1 Sumário Introdução; Banco de Dados Relacionais; SQL; MySQL; Manipulando Banco de Dados com o JDBC; Bibliografia; Prof. Leonardo Barreto Campos 2/25 Introdução
PHP INTEGRAÇÃO COM MYSQL PARTE 1
INTRODUÇÃO PHP INTEGRAÇÃO COM MYSQL PARTE 1 Leonardo Pereira [email protected] Facebook: leongamerti http://www.estudandoti.com.br Informações que precisam ser manipuladas com mais segurança
Android BANCO DE DADOS - SQLITE. Prof. Joaquim assunção.
Android BANCO DE DADOS - SQLITE Prof. Joaquim assunção. SQLite É um sistema de gerenciamento de banco de dados relacional contido em uma biblioteca de programação C. Em contraste com muitos outros sistemas
Google Android. Uma abordagem prática e didática. Rafael Guimarães Sakurai, Diogo Carleto, erodrigo Cascarrolho
Google Android Uma abordagem prática e didática Rafael Guimarães Sakurai, Diogo Carleto, erodrigo Cascarrolho Esse livro está à venda em http://leanpub.com/google-android Essa versão foi publicada em 2015-08-03
insfcanceof new public switch transient while byte continue extends for int null
Palavras -chave de JAV A abstract catch do final implements long private static throw void boolean char double finally import native protected super throws volatile break class float insfcanceof new public
Desenvolvimento para Android Prá3ca 3. Prof. Markus Endler
Desenvolvimento para Android Prá3ca 3 Prof. Markus Endler Exercício 3.1 Solicitando permissão para abrir uma página Web ü Criaremos uma Ac.vity com um EditText (para entrada de uma URL), um Bu?on e uma
Programação para a Plataforma Android Aula 16. Fragmentos
Programação para a Plataforma Android Aula 16 Fragmentos O que são fragmentos Como combinar múl?plas visões em uma única tela? Como lidar com telas de tamanhos variados? Como modificar a visão de uma a?vidade
Google Android. Componentes Gráficos
Componentes Gráficos No Android, por padrão já existe uma separação entre interface gráfica (View) e Controlador (Controller). View -> Resources -> Controller -> Activities -> Layouts Um tipo de View cuja
Escrito por Neri Neitzke Qua, 12 de Outubro de 2011 21:40 - Última atualização Seg, 26 de Março de 2012 03:50
Preço R$ 129.00 Compre aqui Finalmente um ótimo curso de Android no Brasil - Clique aqui para ver o cronograma das aulas - Clique aqui para ver as imagens deste curso - Clique aqui para ver algumas videoaulas
AlarmManager. Programação em Dispositivos Móveis (PDM) Centro de Cálculo Instituto Superior de Engenharia de Lisboa
AlarmManager (PDM) Centro de Cálculo Instituto Superior de Engenharia de Lisboa Pedro Alexandre Pereira ([email protected]) Notificar o utilizador passado determinado tempo 2 Mostrar janela com mensagem
Introdução à Banco de Dados. Nathalia Sautchuk Patrício
Introdução à Banco de Dados Nathalia Sautchuk Patrício Histórico Início da computação: dados guardados em arquivos de texto Problemas nesse modelo: redundância não-controlada de dados aplicações devem
Programação para Dispositivos Móveis
Programação para Dispositivos Móveis Fatec Ipiranga Análise e Desenvolvimento de Sistemas Aula 06 Controlando o fluxo de eventos e passando parametro para Activities. Dalton Martins [email protected]
Introdução à Engenharia da Computação. Banco de Dados Professor Machado
Introdução à Engenharia da Computação Banco de Dados Professor Machado 1 Sistemas isolados Produção Vendas Compras Banco de Dados Produtos... Banco de Dados Produtos... Banco de Dados Produtos... Desvantagens:
Programação Orientada a Objetos com PHP & MySQL Sistema Gerenciador de Banco de Dados: Introdução e configuração de bases de dados com Postgre e MySQL
Programação Orientada a Objetos com PHP & MySQL Sistema Gerenciador de Banco de Dados: Introdução e configuração de bases de dados com Postgre e MySQL Prof. MSc. Hugo Souza Iniciando nossas aulas sobre
Linguagem de Programação JAVA. Técnico em Informática Professora Michelle Nery
Linguagem de Programação JAVA Técnico em Informática Professora Michelle Nery Agenda Regras paravariáveis Identificadores Válidos Convenção de Nomenclatura Palavras-chaves em Java Tipos de Variáveis em
Repeater no GASweb. Regiões
Repeater no GASweb Por: Rodrigo Silva O controle de servidor Repeater é um container básico que permite a você criar uma lista de qualquer informação que deseja em uma página Web. Ele não tem uma aparência
Introdução à linguagem SQL
Introdução à linguagem SQL 1 Histórico A linguagem de consulta estruturada (SQL - Structured Query Language) foi desenvolvida pela empresa IBM, no final dos anos 70. O primeiro banco de dados comercial
Java Beans e Servlets
6 Java Beans e Servlets Prof. Autor: Daniel Morais dos Reis e-tec Brasil Programação Avançada Para Web Página1 Meta Apresentar os recursos de orientação à objetos Java em JSP e integrá-los a tecnologia
Display de Cristal Líquido
TUTORIAL Display de Cristal Líquido Autor: Tiago Lone Nível: Básico Criação: 09/03/2006 Última versão: 18/12/2006 PdP Pesquisa e Desenvolvimento de Produtos http://www.maxwellbohr.com.br [email protected]
Definições de Projeto
App Alunos Definições de Projeto Implementação de uma app para Manipulação de Dados de Alunos Em linhas gerais, a app consiste em: Manter dados de alunos; Entrar em contato com alunos; Trocar dados com
PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS
PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS Tratamento de Eventos Professor: Danilo Giacobo OBJETIVOS DA AULA Apresentar os modelos mais comuns de tratamento de eventos da plataforma Android. Aprender a utilizar
Aula 2. Objetivos. Encapsulamento na linguagem Java; Utilizando a referência this.
Aula 2 Objetivos Encapsulamento na linguagem Java; Utilizando a referência this. Encapsulamento, data hiding é um conceito bastante importante em orientação a objetos. É utilizado para restringir o acesso
Inserindo Dados no Banco de Dados Paradox.
Inserindo Dados no Banco de Dados Paradox. - Construção do Banco de Dados: Para podermos inserir algo em um banco precisaremos de um Banco de Dados, para isto iremos montar um utilizando o Programa Database
Memória Flash. PdP. Autor: Tiago Lone Nível: Básico Criação: 11/12/2005 Última versão: 18/12/2006. Pesquisa e Desenvolvimento de Produtos
TUTORIAL Memória Flash Autor: Tiago Lone Nível: Básico Criação: 11/12/2005 Última versão: 18/12/2006 PdP Pesquisa e Desenvolvimento de Produtos http://www.maxwellbohr.com.br [email protected]
Programação para a Plataforma Android Aula 4. Objetos Gráficos
Programação para a Plataforma Android Aula 4 Objetos Gráficos Depuração simples: imprimindo eventos Lidando com botões e spinners Carregando múleplas aevidades em uma aplicação O padrão adapter Mostrando
Podemos agora ver no IDE do Morfik os objetos que já incorporamos ao nosso projeto :
Podemos agora ver no IDE do Morfik os objetos que já incorporamos ao nosso projeto : O form Index A tabela Fotos A query Q_seleção_de_fotos Vide figura 46. Figura 46 O próximo passo é criar um form que
Conteúdo O que é?... 4 Histórico... 4 Onde Baixar?... 4 Diferença entre Firebird e o Interbase... 4 Como instalar?... 4 Instalando o Ibexpert...
Apostila FIREBIRD 1 Firebird Equipe: BARBARA CAROLINE SOUZA DE OLIVEIRA Nº 04 GUILHERME ROBERTO PINTO DE SOUZA Nº 16 JOSÉ ROSA MARTINS NETO Nº 22 RAFAEL ALVES DE SOUSA Nº 36 WELLINGTON COSTA SANTOS OLIVEIRA
Capítulo 04: Persistência com SQLite
Capítulo 04: Persistência com SQLite Instrutor Programador desde 2000 Aluno de doutorado Mestre em informática pelo ICOMP/UFAM Especialista em aplicações WEB FUCAPI [email protected] sites.google.com/site/marcio
Programação para Android. Aula 10: Acesso a câmera, sms e recursos do aparelho
Programação para Android Aula 10: Acesso a câmera, sms e recursos do aparelho Objetivos Nesta aula iremos aprender como invocar os recursos do aparelho: Fazer chamadas telefônicas Enviar SMS Utilizar a
Como já foi muito bem detalhado no Capítulo IV, o jcompany Developer Suite pode ser
A1Criando um módulo de negócio Capítulo 27 Aplicação dividida em módulos - Introdução Como já foi muito bem detalhado no Capítulo IV, o jcompany Developer Suite pode ser compreendido como uma solução de
Programação WEB I Estruturas de controle e repetição
Programação WEB I Estruturas de controle e repetição Operadores de Incremento Operadores de incremento servem como expressões de atalho para realizar incrementos em variáveis Operadores de Incremento Vamos
Noções de. Microsoft SQL Server. Microsoft SQL Server
Noções de 1 Considerações Iniciais Basicamente existem dois tipos de usuários do SQL Server: Implementadores Administradores 2 1 Implementadores Utilizam o SQL Server para criar e alterar base de dados
Desenvolvimento Android. http://www.larback.com.br
Desenvolvimento Android http://www.larback.com.br Introdução ao Android O Android é a resposta da Google ao mercado crescente de dispositivos móveis. É uma nova plataforma de desenvolvimento baseado no
9 Comandos condicionais
9 Comandos condicionais Um comando condicional é uma instrução empregada quando se deseja criar um desvio, isto é, a opção de executar-se ou não um determinado trecho de código, segundo uma condição. Em
Sistemas de Informação
Sistemas de Informação Rules and Triggers André Restivo Sistemas de Informação 2006/07 Rules e Triggers Nem todas as restrições podem ser definidas usando os mecanismos que estudamos anteriormente: - CHECK
JSP - ORIENTADO A OBJETOS
JSP Orientação a Objetos... 2 CLASSE:... 2 MÉTODOS:... 2 Método de Retorno... 2 Método de Execução... 2 Tipos de Dados... 3 Boolean... 3 Float... 3 Integer... 4 String... 4 Array... 4 Primeira:... 4 Segunda:...
Profº Aldo Rocha. Banco de Dados
Profº Aldo Rocha Banco de Dados HOJE! CREATE TABLE com uma Chave primária Primeiramente façam um SELECT na tabela pessoa. Percebam que não há NENHUMA CHAVE PRIMÁRIA. utilizem o comando SHOW CREATE TABLE
AULA 2. Minicurso PET-EE UFRN
AULA 2 Minicurso PET-EE UFRN Agora iremos mostrar o passo-a-passo de como criar um projeto no Android Studio. 1. No Android Studio, crie um New Project. 2. Em Configure your new project, você deve preencher
Curso PHP Aula 08. Bruno Falcão [email protected]
+ Curso PHP Aula 08 Bruno Falcão [email protected] + Roteiro Conectividade com BD SQL + SQL Structured Query Language. Padrão para interagir com banco de dados relacionais. + Banco de dados Um banco
Banco de Dados. Prof. Antonio
Banco de Dados Prof. Antonio SQL - Structured Query Language O que é SQL? A linguagem SQL (Structure query Language - Linguagem de Consulta Estruturada) é a linguagem padrão ANSI (American National Standards
Views Interface Gráfica
Views Interface Gráfica Interfaces gráficas Visão geral Classe View A classe para componentes visuais Desenha na tela através do método ondraw(canvas) Widgets Classe 2 O que é a View Classe para componentes
2 Orientação a objetos na prática
2 Orientação a objetos na prática Aula 04 Sumário Capítulo 1 Introdução e conceitos básicos 1.4 Orientação a Objetos 1.4.1 Classe 1.4.2 Objetos 1.4.3 Métodos e atributos 1.4.4 Encapsulamento 1.4.5 Métodos
