Programação para a Plataforma Android Aula 11. Banco de Dados
|
|
- Maria Fernanda Araújo de Sequeira
- 8 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
Leia maisApresentaçã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
Leia maisProgramaçã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
Leia maisAndroid 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
Leia maisProgramaçã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
Leia maisProgramaçã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 dmartins@gmail.com São Paulo, Março, 2012
Leia maisArmazenamento 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
Leia maisAndroid 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
Leia maisComunicaçã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
Leia maisPrograma 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
Leia maisArmazenamento 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
Leia maisProgramaçã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
Leia maisIntroduçã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
Leia maisProgramação para Dispositivos Móveis
Prof. MSc. Flávio Barros flavioifma@gmail.com 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
Leia maisInterfaces 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
Leia maisTutorial: 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
Leia maisAndroid 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
Leia maisProgramaçã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
Leia maispersistê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 douglas.cavalheiro.br@gmail.com
Leia maisArmazenamento em Banco de Dados em Aplicações Android. Prof. Fellipe Aleixo
Armazenamento em Banco de Dados em Aplicações Android Prof. Fellipe Aleixo (fellipe.aleixo@ifrn.edu.br) Opções de Armazenamento Shared Preferences Armazenamento de pares chave- valor Internal Memory UAliza
Leia maisMó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,
Leia maisComunicaçã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
Leia maisDesenvolvimento 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
Leia maisDesenvolvimento 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
Leia maisPROGRAMAÇÃ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
Leia maisPROGRAMAÇÃ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
Leia maisProgramaçã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
Leia maisProgramaçã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
Leia maisAndroid #4. antonio deusany de carvalho junior dj@ime.usp.br
Android #4 antonio deusany de carvalho junior dj@ime.usp.br Preferências compartilhadas Memória interna Memória externa SQLite Databases Network Connection Preferências compartilhadas Utiliza um framework
Leia maisListando 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
Leia maisMó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
Leia maisPROGRAMAÇÃ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.
Leia maisDESENVOLVIMENTO 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
Leia maisArmazenamento 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
Leia maisTrabalhando 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
Leia maisIntroduçã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
Leia maisProgramação para a Plataforma Android Aula 13. Localização
Programação para a Plataforma Android Aula 13 Localização O que são serviços baseados em localização? Como usar a API de mapas do Google? Como sobrepor diferentes visões a um mapa? Como integrar o mapa
Leia maisComputação II Orientação a Objetos
Computação II Orientação a Objetos Fabio Mascarenhas - 2014.1 http://www.dcc.ufrj.br/~fabiom/java Editor de Figuras Vamos usar nosso modelo de editor de figuras para fazer uma versão Android dele Ao invés
Leia maisColeçõ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
Leia maisProgramação para a Plataforma Android Aula 2. Aula 2 Views
Programação para a Plataforma Android Aula 2 Aula 2 Views O que é modelo, visão e controle Como definir layouts gráficos Como Separar visão de modelo Como criar layouts em arquivos XML Como adicionar eventos
Leia maisANDROID 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
Leia maisDisciplina: 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: pro@mariofilho.com.br Período: 5º. SIG - ADM 13. Introdução à Linguagem SQL Introdução
Leia maisOrientaçã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
Leia maisPersistê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
Leia maisAndroid 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
Leia mais1. 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
Leia maisTutorial sobre criação de regras de negócio para Android. Igor Rafael Santos da Silva
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,
Leia mais( 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
Leia maisAutor: Ricardo Francisco Minzé Júnior - ricardominze@yahoo.com.br 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
Leia maisProf. 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á
Leia maisSQL 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
Leia maisArmazenamento 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
Leia maisBANCO DE DADOS. info 3º ano. Prof. Diemesleno Souza Carvalho diemesleno@iftm.edu.br www.diemesleno.com.br
BANCO DE DADOS info 3º ano Prof. Diemesleno Souza Carvalho diemesleno@iftm.edu.br www.diemesleno.com.br Na última aula estudamos Unidade 4 - Projeto Lógico Normalização; Dicionário de Dados. Arquitetura
Leia maisComandos 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
Leia maisProgramaçã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
Leia maisPROPOSTA 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
Leia maisBanco 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
Leia maisPHP INTEGRAÇÃO COM MYSQL PARTE 1
INTRODUÇÃO PHP INTEGRAÇÃO COM MYSQL PARTE 1 Leonardo Pereira leonardo@estudandoti.com.br Facebook: leongamerti http://www.estudandoti.com.br Informações que precisam ser manipuladas com mais segurança
Leia maisAndroid 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
Leia maisGoogle 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
Leia maisinsfcanceof 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
Leia maisDesenvolvimento 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
Leia maisProgramaçã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
Leia maisGoogle 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
Leia maisEscrito 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
Leia maisAlarmManager. 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 (palex@cc.isel.ipl.pt) Notificar o utilizador passado determinado tempo 2 Mostrar janela com mensagem
Leia maisIntroduçã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
Leia maisProgramaçã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 dmartins@gmail.com
Leia maisIntroduçã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:
Leia maisProgramaçã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
Leia maisLinguagem 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
Leia maisRepeater 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
Leia maisIntroduçã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
Leia maisJava 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
Leia maisDisplay 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 contato@maxwellbohr.com.br
Leia maisDefiniçõ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
Leia maisPROGRAMAÇÃ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
Leia maisAula 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
Leia maisInserindo 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
Leia maisMemó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 contato@maxwellbohr.com.br
Leia maisProgramaçã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
Leia maisPodemos 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
Leia maisConteú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
Leia maisCapí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 marcio.palheta@gmail.com sites.google.com/site/marcio
Leia maisProgramaçã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
Leia maisComo 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
Leia maisProgramaçã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
Leia maisNoçõ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
Leia maisDesenvolvimento 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
Leia maisTrabalhando com Mensagens. File > New > New Project. Uso de mensagens (Toast) Luiz Eduardo Guarino de Vasconcelos
Trabalhando com Mensagens File > New > New Project Alterando o Título da ActionBar Alterar strings.xml exemplo1 exemplo1 - Guarino
Leia mais9 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
Leia maisSistemas 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
Leia maisJSP - 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:...
Leia maisProfº 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
Leia maisAULA 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
Leia maisComputação II Orientação a Objetos
Computação II Orientação a Objetos Fabio Mascarenhas - 2014.1 http://www.dcc.ufrj.br/~fabiom/java Inflando layouts Se quisermos um layout mais complexo nas linhas de uma ListView, podemos criar objetos
Leia maisCurso PHP Aula 08. Bruno Falcão brunogfalcao@gmail.com
+ Curso PHP Aula 08 Bruno Falcão brunogfalcao@gmail.com + Roteiro Conectividade com BD SQL + SQL Structured Query Language. Padrão para interagir com banco de dados relacionais. + Banco de dados Um banco
Leia maisBanco 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
Leia maisViews 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
Leia mais2 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
Leia mais