Programação de Dispositivos Móveis



Documentos relacionados
Programação para Dispositivos Móveis

Programação de Dispositivos Móveis

Programa de Dispositivos Móveis

Programa de Dispositivos Móveis

Módulo 2 - Novas Activities Android. 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

Tutorial Android Speech

Introdução ao Desenvolvimento para Sistema Operacional Android

============================== Exemplo ListView MainActivity.java

Android Banco de Dados. Ivan Nicoli

Android Layout Manager. Ivan Nicoli

Comunicação entre A0vidades

Programação para Android. Aula 05: Estilos e temas; galeria de imagens

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

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

Google Android. Componentes Gráficos

Login. Criar uma nova Activity. Login. Luiz Eduardo Guarino de Vasconcelos

Provedores de Conteúdo

Computação Móvel Conceitos Básicos do Android Ref. Capítulo 3

Android Core. Felipe Silveira felipesilveira.com.br. Aula 6

Introdução ao Android. SECAP 2014 Prof. Rone Ilídio - UFSJ

Programa de Dispositivos Móveis

Desenvolvimento para Android Prá9ca 2. Prof. Markus Endler

Firebase. Acesse o site Acesse o menu Go to Console. Acesse com uma conta Google ou crie uma conta.

TELA PRINCIPAL DO PROJETO FCV

HCI Summer Workshop. Android #1. Tiago Guerreiro.

Retrofit. Criar um novo projeto. Selecionar a API. Retrofit para consumir Web Service Luiz Eduardo Guarino de Vasconcelos

Views Interface Gráfica

Introdução ao Android. Programação Orientada a Objetos Prof. Rone Ilídio - UFSJ

Programação para Dispositivos Móveis

Programando Passo-a-Passo 2ª Edição De : Luciano Alves (lucianopascal@yahoo.com.br)

Construindo layouts complexos em Android

Programação para Android. Aula 06: Activity, menus e action bar

Interfaces Gráficas parte 3

Log, Ciclo de Vida e Diálogos. Prof. Fellipe Aleixo (fellipe.aleixo@ifrn.edu.br)

Apostila de. Programando Passo a Passo 3ª Edição. De : Luciano Alves da Silva (lucianopascal@yahoo.com.br)

Google Android. Uma abordagem prática e didática. Rafael Guimarães Sakurai, Diogo Carleto, erodrigo Cascarrolho

Android Binding. Implementando o padrão de projeto MVVM com MVVM_. Saiba como criar um projeto utilizando o padrão de projeto MVVM no Android

Desenvolvimento com Android Studio. Aula 02 Widgets, Manipulação de Dados e Programação de Eventos

Introdução ao Android

Programação para a Plataforma Android Aula 7. Mul$mídia

PROPOSTA DE UM PADRÃO DE PROJETO PARA ANDROID UTILIZANDO A WEB

Primeira Aplicação Android Olá Mundo. Prof. Fellipe Aleixo

Programação para Android. Aula 10: Acesso a câmera, sms e recursos do aparelho

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

Desenvolvimento Android.

Apostila de. Programando Passo a Passo 3ª Edição. De : Luciano Alves da Silva (lucianopascal@yahoo.com.br)

Prof. Jhonatan Fernando

Prof: Ricardo Quintão Site:

EA998 Tópicos em Engenharia de Computação MC933 Tópicos Especiais em Ciência da Computação Android: Interface com o Usuário

Android. Interfaces: widgets

Programação para Android

Programando Passo-a-Passo De : Luciano Alves (lucianopascal@yahoo.com.br)

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

INTRODUÇÃO À PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS. ADS 6º Período

Google Android. Intents

Programação em Java para a Plataforma Android AULA 1. Primeiros Passos

DESENVOLVIMENTO PARA DISPOSITIVOS MÓVEIS. PROFª. M.Sc. JULIANA H Q BENACCHIO

COMPUTAÇÃO MÓVEL. Prof. M.Sc Sílvio Bacalá Jr

AULA 2. Minicurso PET-EE UFRN

Nelson Glauber de Vasconcelos Leal

TUTORIAL ANDROID ACTIVITY - CONSTRUÇÃO DE TELAS

Android Activity. Ivan Nicoli

Desenvolvimento para Android Prá3ca 3. Prof. Markus Endler

Google Android. Broadcast Receiver

Comunicação via Sockets

Android: um novo paradigma de desenvolvimento móvel

Desenvolvimento de Aplicações para Internet Aula 8

Módulo 3 - Intenções. SECAP 2014 Prof. Rone Ilídio - UFSJ

Armazenamento Persistente de Dados

O que é computação Móvel. Acesso à informação a qualquer lugar, a qualquer momento.

Programação para a Plataforma Android Aula 4. Objetos Gráficos

DISTRIBUIÇÃO DE CONTEÚDO COM BASE EM LOCALIZAÇÃO POR LEANDRO DA CUNHA CAMPOS MONOGRAFIA DE FINAL DE CURSO

6ª Edição. De : Luciano Alves da Silva (lucianopascal@yahoo.com.br) ApostilaDeAndroid. Rio de Janeiro - Outubro 2013

PROGRAMAÇÃO COM ANDROID NA ÁREA DA ENGENHARIA CARTOGRÁFICA: ALGUNS EXEMPLOS

AlarmManager. Programação em Dispositivos Móveis (PDM) Centro de Cálculo Instituto Superior de Engenharia de Lisboa

Desenvolvimento com Android Studio Aula 01 Instalação e Configuração do Ambiente de Desenvolvimento, Estrutura de um projeto Android

Consumindo Web Services (WS) em Aplicações Android. Prof. Fellipe Aleixo

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS

Google Android. Uma abordagem prática e didática. Rafael Guimarães Sakurai. Esse livro está à venda em

Computação Móvel Gerenciadores de Layout (Ref. Cap. 6)

CONTEÚDO (técnico) COMPLETO DO TREINAMENTO INTENSIVO PARA ANDROID Universidade Android

INTRODUÇÃO À PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS. ADS 6º Período

Transcrição:

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 objetos pode-se fazer uma lista de qualquer coisa, mostrando qualquer informação. Esta lista também pode conter ações e mostrar outras listas. Exemplos Para se fazer uma lista de palavras é muito fácil. Basta: No arquivo de layout criar um elemento <ListView /> com ID; Na activity criar um ArrayAdapter que receberá uma List<String>; Ainda na activity pegar essa ListView e adicionar um adapter através de um setadapter Continuação da Aplicação Android (Aula07B) Página 1 de 6

Código Aula07B ListView O aplicativo agora vai permitir o usuário verificar a funcionalidade do ListView. 1. Criar um Activity (ExemploListViewActivity) com um layout (activity_exemplo_listview). Colocar um ListView - listviewcaras Listagem 1. activity_exemplo_listview.xml (main.xml) <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <ImageView android:layout_height="wrap_content" android:src="@drawable/android" /> <View android:layout_height="2dip" android:background="#cccccc" /> <ListView android:id="@+id/listviewcaras" android:layout_height="wrap_content" Página 2 de 6

</LinearLayout> android:textcolor="#000000" /> 2. Criar um Layout (smile_detalhes) com um TextView e um ImageView. Listagem 2. smile_detalhes.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <TextView android:id="@+id/textviewnome" android:layout_width="140px" android:layout_height="wrap_content" android:textstyle="bold" android:textsize="16px" android:textcolor="#ffffff" /> <ImageView android:id="@+id/imageviewcara" android:layout_height="wrap_content" /> </LinearLayout> 3. Criar uma Classe (Smile) Listagem 3. Smile.java package com.pdm.aula07bex1.adapter; import com.pdm.aula07bex1.r; public class Smile { public static final int FELIZ = 0; public static final int TRISTE = 1; public static final int LOUCO = 2; private String nome; private final int tipo; public Smile(String nome,int tipo) { this.nome = nome; this.tipo = tipo; /** * Retorna a imagem do Smile. * * As imagens foram inseridas no /res/drawable * * @return */ public int getimagem() { switch (tipo) { case FELIZ: return R.drawable.feliz; case TRISTE: return R.drawable.triste; case LOUCO: return R.drawable.louco; return R.drawable.naoencontrado; Página 3 de 6

public String getnome() { return nome; 4. Criar uma Classe (SmileAdapter) do tipo ArrayAdapter Listagem 4. SmileAdapter.java package com.pdm.aula07bex1.adapter; import java.util.list; import com.pdm.aula07bex1.r; import android.content.context; import android.view.layoutinflater; import android.view.view; import android.view.viewgroup; import android.widget.arrayadapter; import android.widget.imageview; import android.widget.textview; public class SmileAdapter extends ArrayAdapter { // usado para instanciar o layout XML com os seus correspondentes Views private final LayoutInflater inflater; // cada item do listview no layout tem um ID private final int resourceid; public SmileAdapter(Context context, int resourceid, List<Smile> lista) { super(context, resourceid, lista); this.inflater = LayoutInflater.from(context); this.resourceid = resourceid; @Override public View getview(int position, View convertview, ViewGroup parent) { // pega um objeto pessoa de objects(listapessoas) indicado em position Smile smile = (Smile) getitem(position); // pega o conjunto de Views do layout/item que está sendo trabalhado View view = inflater.inflate(resourceid, parent, false); // pega todas as Views do item selecionado // Atualiza o valor do Text para o nome do Smile TextView textnome = (TextView) view.findviewbyid(r.id.textviewnome); textnome.settext(smile.getnome()); // Atualiza a imagem para a imagem do Smile // A imagem é definda por um recurso no @drawable ImageView img = (ImageView) view.findviewbyid(r.id.imageviewcara); img.setimageresource(smile.getimagem()); return view; 5. Codificar a Classe (ExemploListViewActivity) para exibir a lista com um conteúdo básico de três linhas. Listagem 5. ExemploListView.java (Aula07Activity.java) package com.pdm.aula07bex1; Página 4 de 6

import java.util.arraylist; import com.pdm.aula07bex1.adapter.smile; import com.pdm.aula07bex1.adapter.smileadapter; import android.app.activity; import android.os.bundle; //import android.util.log; import android.view.view; import android.widget.adapterview; import android.widget.adapterview.onitemclicklistener; import android.widget.listview; import android.widget.toast; public class ExemploListView extends Activity implements OnItemClickListener { private ListView lvcaras; //@Override public void oncreate(bundle icicle) { super.oncreate(icicle); setcontentview(r.layout.exemplo_listview); // R.layout.exemplo_listview ArrayList<Smile> lista = new ArrayList<Smile>(); // primeira linha da lista lista.add(new Smile("Feliz", Smile.FELIZ)); // segunda linha da lista lista.add(new Smile("Triste", Smile.TRISTE)); // terceira linha da lista lista.add(new Smile("Louco", Smile.LOUCO)); // adaptador customizado SmileAdapter adapter = new SmileAdapter(this, R.layout.smile_detalhes, lista); // ListView lvcaras = (ListView) findviewbyid(r.id.listviewcaras); lvcaras.setadapter(adapter); lvcaras.setonitemclicklistener(this); public void onitemclick(adapterview<?> parent, View view, int posicao, long id) { //Log.i(CATEGORIA, "ExemploListView.onItemClick posicao: " + posicao + ", id: " + id); // recupera o Smile naquela posição Smile smile = (Smile) lvcaras.getadapter().getitem(posicao); // exibe um alerta Toast.makeText(this, "Smile selecionado: " + smile.getnome(), Toast.LENGTH_SHORT).show(); Listagem 6. Aula07BActivity.java package com.pdm.aula07bex1; import com.pdm.aula07bex1.r; import android.app.activity; import android.content.intent; import android.os.bundle; import android.view.view; import android.view.view.onclicklistener; import android.widget.button; public class Aula7BActivity extends Activity implements OnClickListener{ /** Called when the activity is first created. */ Button b1,b2,b3,b4,b5,b6,b7; Página 5 de 6

@Override public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.main); b1 = (Button) this.findviewbyid(r.id.buttonimageimagebutton); b1.setonclicklistener(this); b2 = (Button) this.findviewbyid(r.id.buttonalertdialog); b2.setonclicklistener(this); b3 = (Button) this.findviewbyid(r.id.buttontoast); b3.setonclicklistener(this); b4 = (Button) this.findviewbyid(r.id.buttonlistview); b4.setonclicklistener(this); b5 = (Button) this.findviewbyid(r.id.buttonautocomplete); b5.setonclicklistener(this); b6 = (Button) this.findviewbyid(r.id.buttonspinner); b6.setonclicklistener(this); b7 = (Button) this.findviewbyid(r.id.buttonprogressdialog); b7.setonclicklistener(this); public void onclick(view v){ PDM - Aula07- Ver 01-09/06/2015 12:39 if (v.getid() == b4.getid()){ startactivity(new Intent(this, ExemploListView.class)); Listagem 7. AndroidManifest.xml <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.pdm.veiculo" android:versioncode="1" android:versionname="1.0"> <uses-sdk android:minsdkversion="8" /> <application android:icon="@drawable/ic_launcher" android:label="@string/app_name" > <activity android:name=".aula7bactivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.main" /> <category android:name="android.intent.category.launcher" /> </intent-filter> </activity> <activity android:name=".exemploautocompletetextview"></activity> <activity android:name=".exemploimageimagebutton"></activity> <activity android:name=".exemplospinner"></activity> <activity android:name=".exemploalertdialog"></activity> <activity android:name=".exemplotoast"></activity> <!-- Atenção - ACRESCENTAR A MEDIDA QUE FOR CODIFICANDO CADA VIEW --> <activity android:name=".exemplolistview"></activity> </application> </manifest> Página 6 de 6