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

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

Criando as primeiras telas (Activity)

FACULDADE DE TECNOLOGIA SENAC PELOTAS

Programação de Dispositivos Móveis

Tutorial Android Speech

Mensagens. Para conhecimento. Renomear arquivos. Botão Direito no arquivo > Rafactor > Rename Shift + F6

Trabalhando com Mensagens. File > New > New Project. Uso de mensagens (Toast) Luiz Eduardo Guarino de Vasconcelos

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

Módulo 4 - Interface Gráfica Gerenciadores de Layout. Programação Orientada a Objetos Prof. Rone Ilídio - UFSJ

PROGRAMAÇÃO MOBILE Estudo de Caso

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

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

Programando Intenções. Prof. Fellipe Aleixo

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

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

Programação para Dispositivos Móveis

Mais Elementos da Interface com o Usuário. Prof. Fellipe Aleixo

Módulo 2 - Novas Activities Android. Programação Orientada a Objetos Prof. Rone Ilídio - UFSJ

Prof: Ricardo Quintão Site:

Computação Móvel Persistência (Ref. Cap. 18)

Programação de Dispositivos Móveis

Android Layout Manager. Ivan Nicoli

Fragments. Criar um novo projeto. Selecionar a API. Navigation Drawer Activity. Fragments. Luiz Eduardo Guarino de Vasconcelos

Computação Móvel ActionBar e Temas (Ref. Cap. 5)

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

Programação para Dispositivos Móveis

ANDROID APRENDIZ. Um guia para iniciantes Crie seu primeiro aplicativo Android

Comunicação entre A0vidades

Curso de Android - 2 Novas Activities. SECAP Prof. Rone Ilídio - UFSJ

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

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

Programa de Dispositivos Móveis

Computação Móvel Activity (Ref. Cap. 4)

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

TUTORIAL ANDROID ACTIVITY - CONSTRUÇÃO DE TELAS

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

Android INTERFACE GRÁFICA & LAYOUT. Prof. Dr. Joaquim assunção.

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

Laboratório de Programação. Aula 12 Java 5COP088. Aula 12 Exceções Prof. Dr. Sylvio Barbon Junior. Sylvio Barbon Jr

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS

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

Objetivo do programa: Implementação de um analisador de Logs do Servidor Web com base nos requisitos da unidade curricular de Estatística.

RESPOSTA: import java.util.arraylist; import java.util.list; class CarrinhoDeCompras2 { List<Produto> produtos;

Android Banco de Dados. Ivan Nicoli

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

2ª edição Nelson Glauber de Vasconcelos Leal

Programa de Dispositivos Móveis

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

Android Activity. Ivan Nicoli

Desenvolvimento de Aplicativos 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

Capítulo 08: Layouts customizados

Avisos e Notificações aos Usuários

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

Tutorial SDK Android

Prof: Ricardo Quintão Site:

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

Prof: Ricardo Quintão Site:

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

<uses-permission android:name="android.permission.access_network_state" /> <uses-permission android:name="android.permission.

Google Android. Componentes Gráficos

Programação para a Plataforma Android Aula 13. Localização

Universidade Federal do Paraná

Nelson Glauber de Vasconcelos Leal

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

Programação para a Plataforma Android Aula 16. Fragmentos

Projeto GoHome Tutorial Sobre o serviço do Google Maps no Android

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

Introdução ao Desenvolvimento para Sistema Operacional Android

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

Programação para Dispositivos Móveis

Código-Fonte da Prática 02

Android. Interfaces: widgets

HCI Summer Workshop. Android #1. Tiago Guerreiro.

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

Seu App na TV: Desenvolvimento para ChromeCast

TELA PRINCIPAL DO PROJETO FCV

Tipos, Literais, Operadores

Tipos, Literais, Operadores

Programação Orientada a Objectos - P. Prata, P. Fazendeiro

Exercícios de Revisão Java Básico

Universidade de Mogi das Cruzes Implementação Orientada a Objetos - Profª. Danielle Martin. Guia da Sintaxe do Java

Armazenamento Persistente de Dados

Programação Orientada a Objectos - P. Prata, P. Fazendeiro

Hierarquia de classes. Veja as diversas classes do pacote

Manipulação de arquivos. João Paulo Q. dos Santos

Quando um programa viola as restrições semânticas da linguagem, a JVM assinala um erro ao programa, sob a forma de exceção.

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

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

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

Programação para Dispositivos Móveis. Sensores

Comunicação via Sockets

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

Programação para Dispositivos Móveis. Activity e Intent

Desenvolvimento Android.

Chromecast. Seu aplicativo na TV. Ivan de

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

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

Computação Móvel Interface Gráfica - View (Ref. Cap. 7)

Transcrição:

FACULDADE DE TECNOLOGIA SENAC PELOTAS Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas Tópicos Avançados em ADS Edécio Fernando Iepsen ============================== Exemplo ListView --------------------------- MainActivity.java import android.support.v7.app.appcompatactivity; import android.os.bundle; import android.widget.adapterview; import android.widget.listview; import android.widget.toast; import java.util.arraylist; import java.util.list; public class MainActivity extends AppCompatActivity implements AdapterView.OnItemClickListener { List<Produtos> produtos; ProdutosAdapter adapter; ListView lista; protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); // cria uma listview (via código) // lista = new ListView(this); // exibe esta listview na activity // setcontentview(lista); lista = (ListView) findviewbyid(r.id.lstprodutos); // instancia um produto e preenche alguns exemplos produtos = new ArrayList<Produtos>(); produtos.add(new Produtos("Batata", 10)); produtos.add(new Produtos("Iogurte", 15)); produtos.add(new Produtos("Leite", 24)); produtos.add(new Produtos("Cebola", 8)); produtos.add(new Produtos("Tomate", 12)); adapter = new ProdutosAdapter(this, produtos); lista.setadapter(adapter); lista.setonitemclicklistener(this); public void onitemclick(adapterview<?> adapterview, View view, int i, long l) { Produtos produto = (Produtos) adapterview.getitematposition(i); Toast.makeText(this, "Produto: " + produto.nome + " - Quant.: " + produto.quant, Toast.LENGTH_SHORT).show(); ------------------------------------------- activity_main.xml <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_height="match_parent" android:paddingbottom="@dimen/activity_vertical_margin" android:paddingleft="@dimen/activity_horizontal_margin" android:paddingright="@dimen/activity_horizontal_margin" android:paddingtop="@dimen/activity_vertical_margin" tools:context="br.com.edecio.listadeprodutos.mainactivity"> <ListView android:id="@+id/lstprodutos"

></ListView> </RelativeLayout> ------------------------------------------- Produtos.java public class Produtos { public String nome; public int quant; public Produtos(String nome, int quant) { this.nome = nome; this.quant = quant; ------------------------------------------ item_produto.xml <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_height="match_parent"> android:id="@+id/txtnome" android:layout_margintop="10dp"/> android:id="@+id/txtquant" android:layout_margintop="10dp" android:layout_alignparentend="true" android:layout_alignparenttop="true"/> </RelativeLayout> ---------------------------------------- ProdutosAdapter.java import android.content.context; import android.view.layoutinflater; import android.view.viewgroup; import android.widget.baseadapter; import org.w3c.dom.text; import java.util.list; public class ProdutosAdapter extends BaseAdapter{ Context ctx; List<Produtos> produtos; public ProdutosAdapter(Context ctx, List<Produtos> produtos) { this.ctx = ctx; this.produtos = produtos; public int getcount() { return produtos.size(); public Object getitem(int i) { return produtos.get(i); public long getitemid(int i) { return i; public View getview(int i, View view, ViewGroup viewgroup) { // obtém um produto Produtos produto = produtos.get(i);

ViewHolder holder = null; if (view == null) { view = LayoutInflater.from(ctx).inflate(R.layout.item_produto, null); holder = new ViewHolder(); holder.txtnome = (TextView) view.findviewbyid(r.id.txtnome); holder.txtquant = (TextView) view.findviewbyid(r.id.txtquant); view.settag(holder); else { holder = (ViewHolder)view.getTag(); // "carrega" o arquivo de layout a ser "inflado" e obtém o seu elemento raiz (RelativeLayout) // View linha = LayoutInflater.from(ctx).inflate(R.layout.item_produto, null); // obtém as views deste arquivo de layout // TextView txtnome = (TextView) linha.findviewbyid(r.id.txtnome); // TextView txtquant = (TextView) linha.findviewbyid(r.id.txtq uant); // atribui os dados do produto para estas views holder.txtnome.settext(produto.nome); holder.txtquant.settext(string.valueof(produto.quant)); return view; static class ViewHolder { TextView txtnome; TextView txtquant; ============================== Exemplo Acesso a Web Service (ainda em arquivo texto) Neste aplicativo deve-se alterar o arquivo AndroidManifest.xml acrescentando a uses-permission abaixo. <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="br.com.edecio.gerentedeloja"> <uses-permission android:name="android.permission.internet"/> <application android:allowbackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:supportsrtl="true" android:theme="@style/apptheme"> <activity android:name=".mainactivity"> <intent-filter> <action android:name="android.intent.action.main" /> <category android:name="android.intent.category.launcher" /> </intent-filter> </activity> </application> </manifest> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_height="match_parent" android:paddingbottom="@dimen/activity_vertical_margin" android:paddingleft="@dimen/activity_horizontal_margin" android:paddingright="@dimen/activity_horizontal_margin" android:paddingtop="@dimen/activity_vertical_margin" android:orientation="vertical" tools:context="br.com.edecio.gerentedeloja.mainactivity">

<Button android:id="@+id/btnconsulta" android:text="@string/consulta_total_do_dia" android:layout_margintop="10dp"/> android:id="@+id/txttotal" android:layout_margintop="20dp" android:textsize="20sp" /> </LinearLayout> package br.com.edecio.gerentedeloja; import android.support.v7.app.appcompatactivity; import android.os.bundle; import android.widget.button; public class MainActivity extends AppCompatActivity implements View.OnClickListener { private Button btnconsulta; private TextView txttotal; protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); btnconsulta = (Button) findviewbyid(r.id.btnconsulta); txttotal = (TextView) findviewbyid(r.id.txttotal); btnconsulta.setonclicklistener(this); public void onclick(view view) { GetTotal gt = new GetTotal(txtTotal); gt.execute("http://10.0.2.2/loja/total.php"); package br.com.edecio.gerentedeloja; import android.os.asynctask; import java.io.bufferedinputstream; import java.io.bufferedreader; import java.io.ioexception; import java.io.inputstream; import java.io.inputstreamreader; import java.net.httpurlconnection; import java.net.malformedurlexception; import java.net.url; public class GetTotal extends AsyncTask<String, Void, String> { private TextView txt; public GetTotal(TextView textview) { this.txt = textview; protected String doinbackground(string... strings) { HttpURLConnection urlconnection = null; String total = ""; try { URL url = new URL(strings[0]); urlconnection = (HttpURLConnection) url.openconnection(); int code = urlconnection.getresponsecode(); // ok. url válida if (code == 200) {

InputStream in = new BufferedInputStream(urlConnection.getInputStream()); if (in!= null) { BufferedReader bufferedreader = new BufferedReader(new InputStreamReader(in)); String linha=""; while (( linha = bufferedreader.readline())!= null) { total = total + linha; in.close(); catch (MalformedURLException e) { e.printstacktrace(); catch (IOException e) { e.printstacktrace(); finally { urlconnection.disconnect(); return total; protected void onpostexecute(string s) { txt.settext(s);