Você está na página 1de 102

Desenvolvimento de Solues Mveis - Android

Fbio Sobreira Coriolano Filho

Principais Plataformas
Windows Mobile J2ME Brew Apple Android

Android

Plataforma desenvolvida pela Google. Essa plataforma mantida pela OHA (Open Handset Alliance), um grupo formado por mais de 40 empresas. Primeira plataforma Open Source de desenvolvimento para dispositivos moveis baseada na plataforma Java com sistema operacional Linux. Pode-se dizer que a plataforma Android a primeira plataforma mvel completa, aberta e livre.

Android

www.portalandroid.org

http://developer.android.com/index.html

Sumrio

Estrutura da Plataforma; Configurando o Ambiente de Desenvolvimento; Hello World; Conhecendo os principais componentes; Trabalhando com Layout; Desenvolvendo menu; Propriedades comuns; Criando uma arquitetura para Desenvolvimento; Trabalhando com SQLite;

ESTRUTURA DA PLATAFORMA

Estrutura da Plataforma

Application framework: proporciona a reutilizao e substituio de componentes; Dalvik virtual machine: otimizada para dispositivos mveis; Browser Integrado: baseado no webkit engine; Grficos Otimizados: possui uma biblioteca 2D; e 3D baseada na especificao OpenGL ES 1.0 (acelerao de hardware opcional); SQLite: para guardar dados estruturados; Suporte multimdia: para udio, vdeo e formatos de imagem (MPEG4,H.264, MP3, AAC, AMR, JPG, PNG, GIF); Bluetooth, EDGE, 3G, e WiFi (dependente de hardware); Cmera, GPS, compasso, e acelermetro (dependente de hardware); Rico ambiente de desenvolvimento, incluindo um emulador de dispositivo, ferramentas de depurao, memria, performance e um plugin para o Eclipse (ADT).

Arquitetura da Plataforma

Bibliotecas

System C library uma implementao derivada da biblioteca C padro sistema (libc) do BSD sintonizada para dispositivos rodando Linux; Media Libraries baseado no PacketVideos OpenCORE; as bibliotecas suportam os mais populares formatos de udio e vdeo, bem como imagens estticas; Surface Manager gera acesso ao subsistema de exibio bem como as mltiplas camadas de aplicaes 2D e 3D; LibWebCore browser engine utilizado tanto no Android Browser quanto para exibies web; SGL o engine de grficos 2D - 3D libraries uma implementao baseada no OpenGL ES 1.0 APIs; as bibliotecas utilizam acelerao 3D via hardware (quando disponvel) ou o software de renderizao 3D altamente otimizado includo no Android; FreeType renderizao de fontes bitmap e vector; SQLite um poderoso e leve engine de banco de dados relacional disponvel para todas as aplicaes;

Kernel linux
Utiliza a verso 2,6 do kernel do Linux para os servios centrais do sistema, tais como segurana, gesto de memria, gesto de processos, etc. O kernel tambm atua como uma camada de abstrao entre o hardware e o resto do software.

Android Runtime

O Android inclui um grupo de bibliotecas que fornece a maioria das funcionalidades disponveis nas principais bibliotecas da linguagem Java. Toda aplicao Android roda em seu prprio processo, com sua prpria instncia da mquina virtual Dalvik. O Dalvik foi escrito para executar vrias VMs. Essa mquina virtual executa arquivos .dex, que otimizado para consumo mnimo de memria. A VM baseada em registros e roda classes compiladas pela linguagem Java, que foram transformadas em arquivos .dex, atravs da ferramenta dx includa no SDK. O Dalvik VM baseia-se no kernel do Linux para funcionalidades subjacentes como o encadeamento e a gesto de baixo nvel de memria.

Porque Desenvolver para Android ?

Plataforma open source.


Interessante para fabricantes de Aparelhos; sistema open source utilizado sem custo e bem construdo, portvel para diferentes plataformas.

Desenvolvimento simples, com servios Google que rodam nativamente sem problemas. Plataforma que j se tornou a 2 maior do mercado de Smartphones.

CONFIGURANDO O AMBIENTE DE DESENVOLVIMENTO

Configurando o Ambiente de Desenvolvimento

Ferramentas:

Java SDK:

http://java.sun.com/javase/downloads/index.jsp

ECLIPSE IDE:

http://www.eclipse.org/downloads/

Android SDK:

http://developer.android.com/sdk/index.html

Plugin ADT para eclipse:

https://dl-ssl.google.com/android/eclipse/

Android SDK
Descompacte o sdk no C:/ Clique em sdk manager

Android SDK
Ser feito a atualizao do repositrio

Android SDK
Pacotes instalados
Ser realizada a atualizao do repositrio

Pacotes selecionados para instalao

Android SDK

Caso tenha algum problema na tela anterior, basta ir em settings e selecionar o campo marcado

Android SDK
Criando a Android Virtual Device Em virtual devices clique em New...

Android SDK Android Virtual Device


Criando a Android Virtual Device Depois de selecionar sistema e a API, skin,resoluo, e os componetes de hardware Clique em Create AVD.

Eclipse IDE
Instalando o plugin ADT
help -> install new software

Eclipse IDE
Instalando o plugin ADT

Clique em add...

Eclipse IDE
Instalando o plugin ADT Name: nome do plugin; Location: url para instalao;

Eclipse IDE
Instalando o plugin ADT Selecione os plugins para instalao e next.

Eclipse IDE
Instalando o plugin ADT Aceite os termos da licena, clique em Next e Finish. Assim que terminar a instalao do plugin, o Eclipse vai pedir sua reinicializao.

Eclipse IDE
Instalando o plugin ADT
No eclipse: windows -> Preferences -> Android. Escolha o local de instalao do sdk do Android.

Eclipse IDE
Instalando o plugin ADT AVD(s) criadas sero listadas. Clique Apply e OK.

CRIANDO PRIMEIRA APLICAO

Primeira Aplicao

Para criar a nossa primeira aplicao clique em File New Project - Android - Android Project e clique Next.

Primeira Aplicao

Primeira Aplicao
Estrutura do projeto.

Primeira Aplicao
Agora v em Run as Android Aplication

Estrutura das Aplicaes

Estrutura das Aplicaes


Android Library local de referencia da biblioteca Android, onde est o android.jar. AndroidManifest.xml Arquivo central de configurao da aplicao, informando ao sistema o que deve fazer para instalao em um celular o no emulador, tendo um editor especializado.

Estrutura das Aplicaes


default .properties Arquivo gerado pelo plugin ADT que no pode ser alterado. Src Onde se encontra o arquivos de classe .java Gen Neste local existe um arquivo chamado R.java ; no pode ser modifica, pois ele serve de interface entre o XML e Java.

Estrutura das Aplicaes


assets Arquivo que sero empacotados junto com o projeto. res Local onde esto os grficos , imagens, layouts, strings e recursos do aplicativo so gerenciados. res/drawable Local onde ficam as imagens,cones etc.. res/layout Aqui ficam guardados os arquivos.xml , que representam o layout de uma tela.

Estrutura das Aplicaes

res/values Local onde esto os arquivos de texto no qual pode se modificar a depender da necessidade.

Estrutura das Aplicaes


Como instalar um arquivo .apk no celular android.
1) Baixar os driver Faa o download dos drivers do aparelho em: http://dl.google.com/android/android_usb_windows.zip Descompacte o arquivo em algum lugar da sua mquina. 2) Conecte o aparelho ao PC O windows detectar o aparelho, selecione o local onde voc extraiu os drivers para instalar o telefone no PC. 3) Gerar o APK No Eclipse, clique com o boto direito no projeto, selecione "Android Tools | Export Unsigned Application Package". Selecione o local onde deseja salvar o arquivo APK

Estrutura das Aplicaes


4) Gerar a chave (esse passo s preciso fazer uma vez) No prompt de comando, digite o seguinte comando:
keytool -genkey -v -keystore "C:\Documents and Settings\[seu usurio]\Local Settings\Application Data\Android\debug.keystore" alias meuAlias -keyalg RSA -validity 10000 Se for solicitado, uma senha, digite: android. Ser feita vrias perguntas para gerar a chave. Responda cada uma delas. Citao: keytool uma ferramenta do Java SDK (est na pasta bin).

Estrutura das Aplicaes


Como instalar um arquivo .apk no celular android.
5) Assinar a aplicao jarsigner -verbose -keystore "C:\Documents and Settings\[seu usurio]\Local Settings\Application Data\Android\debug.keystore" MinhaApp.apk meuAlias jar signer uma ferramenta do Java SDK (est na pasta bin). 6) Instalar a aplicao Se voc no estiver com o emulador aberto, digite: adb install -r MinhaApp.apk Caso esteja com o emulador aberto, voc precisar saber o serial de qual dos dispositivos voc quer instalar (emulador ou aparelho). Digite o seguinte comando para listar os seriais: adb devices

Estrutura das Aplicaes


Como instalar um arquivo .apk no celular android.
Adicione o serial no comando: adb install -s SERIAL -r MinhaApp.apk adb uma ferramenta do Android SDK (est na pasta tools).

PRINCIPAIS COMPONENTES

Widgets

As aplicaes Android so constitudas por widgets. Seguem os principais:


TextView, EditText, Button, CheckBox, RadioButton, Spinner, ListView, ImageView, Gallery, ProgressBar, DatePicker, TimePicker.

Exemplo 1 TextView, EditText, Button

Exemplo 1
//Crie o atributos da classe EditText ednumero1,ednumero2; //Acessando os componentes ednumero1 = (EditText) findViewById(R.id.numero1); ednumero2 = (EditText) findViewById(R.id.numero2); Button btsomar = (Button) findViewById(R.id.btsomar);

Exemplo 1
Ao do clique do button
btsomar.setOnClickListener( new View.OnClickListener(){ public void onClick(View arg0) { double num1 = Double.parseDouble(ednumero1.getText().toString()); double num2 = Double.parseDouble(ednumero2.getText().toString()); double res = num1 + num2; AlertDialog.Builder dialogo = new AlertDialog.Builder(AppSoma.this); dialogo.setTitle("Aviso"); dialogo.setMessage("Soma:" + res); dialogo.setNeutralButton("OK", null); dialogo.show(); } });

Exemplo 1
Ao do clique do button Outra forma
//No mtodo: onCreate Button btsomar = (Button) findViewById(R.id.btsomar); btsomar.setOnClickListener(btSomarAction); //Criar um novo mtodo private OnClickListener btSomarAction = new OnClickListener() { public void onClick(View v) { //lgica } };

Exerccio 1

Crie um calculadora.
Utilize os componentes:
Button btn0, btn1, btn2, btn3, btn4, btn5, btn6, btn7, btn8, btn9; Button btnPonto, btnDividido, btnVezes, btnMenos, btnMais, Button btnIgual. TextView mostrador, viewOperacao;

Exemplo 2 CheckBox

Exemplo 2
// Criar os atributos CheckBox chkarroz,chkleite,chkcarne,chkfeijao; //Acessando os componentes chkarroz = (CheckBox) findViewById(R.id.chkarroz); chkleite = (CheckBox) findViewById(R.id.chkleite); chkcarne = (CheckBox) findViewById(R.id.chkcarne); chkfeijao = (CheckBox) findViewById(R.id.chkfeijao); Button bttotal = (Button) findViewById(R.id.bttotal);

Exemplo 2

//No mtodo: onCreate Button bttotal = (Button) findViewById(R.id.bttotal); bttotal.setOnClickListener(bttotalAction); //Criar um novo mtodo private OnClickListener bttotalAction= new OnClickListener() { public void onClick(View v) { //lgica } };

Exemplo 2
//lgica double total =0; //Teste para saber se est selecionado if(chkarroz.isChecked()) total += 2.69; if(chkleite.isChecked()) total += 5.00; if(chkcarne.isChecked()) total += 9.7; if(chkfeijao.isChecked()) total += 2.30; AlertDialog.Builder dialogo = new AlertDialog.Builder(AppCompra.this); //Defino o ttulo dialogo.setTitle("Aviso"); //colocando a mensagem que vai ter dentro do Dialog dialogo.setMessage("Valor total da compra :" + String.valueOf(total)); //adicionando o boto de OK dialogo.setNeutralButton("OK", null); //mostrando o Dialog dialogo.show();

Exerccio 2
Cadastre de forma dinmica vrios produtos. Crie duas telas separadas.

Tela 1 Cadastro do produto Tela 2 Listagem do produto

Utilize: Button, TextView, checkBox

Exemplo 3 RadioButton RadioGroup

Exemplo 3
Adicione um RadioGroup No outline, selecione o RadioGroup com o boto direito do mouse , escolha a opo Add. Escolha a opo RadioButton Dica:

RadioGroup rg = (RadioGroup) findViewById(R.id.rgopcoes); int op = rg.getCheckedRadioButtonId(); if(op==R.id.rb40)

Exemplo 4 Spinner (ComboBox)

Exemplo 4

Dicas:
private static final String[] percentual = {"De 40%","De 45%","De 50%"};

aPercentual = new ArrayAdapter<String>(this,android.R.layout.simple_s pinner_item, percentual); spnsal.setAdapter(aPercentual); spnsal.getSelectedItemPosition()

Exemplo 5 - ListView

Adicionem um TextView e um ListView (se encontra na guia Layouts)

Exemplo 5

Criando o vetor para povoar o ArrayAdapter

static final String[] contatos = new String[] { "Alline","Lucas","Rafael","Gabriela","Silvana" };

Criando o ArrayAdapter ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout. simple_list_item_1, contatos); //Adicionando o ArrayAdapter no ListView lista.setAdapter(adapter);

Exemplo 5

Implementando o Onclick do ListView

lista.setOnItemClickListener(new OnItemClickListener(){ public void onItemClick(AdapterView arg0, View arg1, int arg2,long arg3) { if(lista.getSelectedItem()!=null){ AlertDialog.Builder dialogo = new AlertDialog.Builder(AppLista.this); dialogo.setTitle("Contato selecionado"); dialogo.setMessage(lista.getSelectedItem().toString()); dialogo.setNeutralButton("OK", null); dialogo.show(); } } });

Exemplo 6 - ImageView
Adicione a imagem escolhida na pasta res/drawablemdpi. Para importar a imagem, clique com o boto direito do mouse sobre a pasta res/drawable-mdpi e selecione Import, depois selecione File System (Que se encontra dentro da pasta General). Agora s setar o caminho da imagem. Apague o componente TextView que se encontra na tela do dispositivo.

Selecione o componente, clique com o boto direito do mouse e escolha a opo Remove.

Exemplo 6
V na seo OutLine e clique com o boto direito sobre o LinearLayout e selecione a opo Add. Adicione um outro LinearLayout dentro do criado anteriormente.

Exemplo 6

Altera a propriedade do LinearLayout


Orientation: horizontal

Adicione um ImageView e um TextView dentro do LinearLayout. No ImageView:


Id: @+id/imagem Src: @drawable/foto1

No TextView
Id: @+id/txtinfo Text: Foto 1

Exemplo 6

Adicione mais dois botes, dentro da estrutura do primeiro Linear_Layout


Na propriedade Layout_width sete o valor fill_parent.

Cdigo: Para setar a imagem:

imagem.setImageResource(R.drawable.f oto1);

Setar o texto da imagem


txt.setText("Foto 1");

Exemplo 7 - Gallery
Crie um novo projeto Adicione trs imagens na pasta res/drawable-mdpi. Crie uma classe chamada ImageAdapter. Segue cdigo no slide seguinte

import android.content.Context; import android.view.*; import android.widget.*; public class ImageAdapter extends BaseAdapter { private Context myContext; // Neste array so colocadas as imagens a serem exidas no componente Gallery . private int[] myImageIds = { R.drawable.imagem1, R.drawable.imagem2, R.drawable.imagem3, }; public ImageAdapter(Context c) { this.myContext = c;} public int getCount() { return this.myImageIds.length; } public Object getItem(int position) { return position; } public long getItemId(int position) {return position;} public View getView(int position, View convertView, ViewGroup parent) { ImageView i = new ImageView(this.myContext); i.setImageResource(this.myImageIds[position]); i.setScaleType(ImageView.ScaleType.FIT_XY); i.setLayoutParams(new Gallery.LayoutParams(150, 150)); return i;} public float getScale(boolean focused, int offset) { return Math.max(0, 1.0f / (float) Math.pow(2, Math.abs(offset)));} }

Exemplo 7

No TextView Altere
Text: Galeria de Imagens Id: @+id/gallery Layout_width: fill_parent

Na classe principal: public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); ((Gallery) findViewById(R.id.gallery)) .setAdapter(new ImageAdapter(this)); }

Exemplo 7

Primeiro resultado

Exemplo 7

Vamos implementar um onclick na nossa galeria, para isso:


Adicione no main.xml um TextView e um ImageView.

import android.app.Activity; import android.os.Bundle; import android.view.*; import android.widget.*; public class AppGallery extends Activity { Gallery g; ImageView imagem; private int[] myImageIds = { R.drawable.imagem1, R.drawable.imagem2, R.drawable.imagem3, }; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); g = (Gallery) findViewById(R.id.gallery); g.setAdapter(new ImageAdapter(this)); imagem = (ImageView) findViewById(R.id.imagem); g.setOnItemClickListener(new AdapterView.OnItemClickListener() { public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) { imagem.setImageResource(myImageIds[arg2]); Toast.makeText(getBaseContext(), "Figura " + (arg2 + 1) + " selecionada", Toast.LENGTH_SHORT).show();}});}}

Exemplo7

Entendendo:

imagem.setImageResource(myIma geIds[arg2]); Toast.makeText(getBaseContext(), "Figura " + (arg2 + 1) + " selecionada", Toast.LENGTH_SHORT).show();

Exemplo 8 - ProgressBar
Crie um novo projeto Altera o contedo do TextView para Status do Download ProgressBar

Id: @+id/progresso Layout_width: fill_parent Style: ?android:attr/progressBarStyleHorizontal Max: 100

Button

Exemplo 8

import android.app.Activity; import android.os.Bundle; import android.os.Handler; import android.view.View; import android.widget.*; public class AppProgressBar extends Activity implements Runnable { ProgressBar p;Button b; Thread t; Handler h; int i; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); p = (ProgressBar) findViewById(R.id.progresso); b = (Button) findViewById(R.id.btdownload); b.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { h = new Handler(); t = new Thread(AppProgressBar.this); t.start(); } });} public void run() { i = 1;try { while (i <= 100) { Thread.sleep(100); h.post(new Runnable() { public void run() { p.setProgress(i++); } }); }} catch (Exception e) {}}}

Exemplo 8

Exemplo 9 - DatePicker

Crie um novo projeto

Exemplo 9
No onCreate super.onCreate(savedInstanceState); setContentView(R.layout.main); Button b = (Button) findViewById(R.id.btdata); dp = (DatePicker) findViewById(R.id.data); dp.updateDate(2009, 04, 23); b.setOnClickListener(new View.OnClickListener(){ public void onClick(View v) { AlertDialog.Builder dialogo = new AlertDialog.Builder(AppCalendario.this); dialogo.setMessage("Data selecionada : " + String.valueOf(dp.getDayOfMonth()) + "/" + String.valueOf(dp.getMonth() + 1) + "/" + String.valueOf(dp.getYear())); dialogo.setNeutralButton("OK", null); dialogo.setTitle("Data"); dialogo.show();}});}

Exemplo 10 - TimePicker

Crie um novo projeto

Exemplo 10
No onCreate: super.onCreate(savedInstanceState); setContentView(R.layout.main); Button btmostrar = (Button) findViewById(R.id.btmostrar); tp = (TimePicker) findViewById(R.id.hora); btmostrar.setOnClickListener(new View.OnClickListener(){ public void onClick(View v) { AlertDialog.Builder dialogo = new AlertDialog.Builder(AppTime.this); dialogo.setMessage("Hora selecionada : " + String.valueOf(tp.getCurrentHour() + 1) + ":" + String.valueOf(tp.getCurrentMinute())); dialogo.setNeutralButton("OK", null); dialogo.setTitle("Hora"); dialogo.show();}});}

Exemplo 10

Trabalhando com layouts


Crie um novo projeto No main.xml

Dentro da pasta layout, crie um novo arquivo chamado tela2.xml.

Trabalhando com layouts


Na tela2.xml: Adicione um LinearLayout

Orientation: vertical

Adicione um TextView e um Button

Trabalhando com layouts

Crie os mtodos:

public void CarregaTelaPrincipal() { setContentView(R.layout.main); Button bttela2 = (Button) findViewById(R.id.bttela2); bttela2.setOnClickListener(new View.OnClickListener(){ public void onClick(View arg0) { CarregaTela2();}});}

public void CarregaTela2() { setContentView(R.layout.tela2); Button bttelaprincipal = (Button) findViewById(R.id.bttelaprincipal); bttelaprincipal.setOnClickListener(new View.OnClickListener(){ public void onClick(View arg0) { CarregaTelaPrincipal();}});}

Trabalhando com layouts


@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); CarregaTelaPrincipal(); }

Exerccio 3
Trabalhando com diferentes Layouts faa: O layout principal: Esse layout dar acesso ao layout de cadastro e o layout de visualizao de dados. O layout de cadastro: Nesse layout onde ser efetuado o cadastro dos dados da pessoa. O layout de visualizao de dados: Nesse layout onde sero visualizados os dados cadastrados. Se nenhum dado foi cadastrado, ser exibida uma mensagem informando essa situao.

Exerccio 3

Crie um classe pessoa com os atributos:


String nome; String profissao; String idade; Pessoa Prox; Pessoa Ant;

Exerccio 3

Entendendo os menus

Crie um novo projeto

import android.app.Activity; import android.os.Bundle; import android.view.*; public class AppMenu extends Activity { private static final int GRAVAR = Menu.FIRST; private static final int EDITAR = Menu.FIRST + 1; private static final int SAIR = Menu.FIRST + 2; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main);} @Override public boolean onCreateOptionsMenu(Menu menu) { menu.add(0, GRAVAR, 0, "Gravar"); menu.add(0, EDITAR, 0, "Editar"); menu.add(0, SAIR, 0, "Sair"); return super.onCreateOptionsMenu(menu);} @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case GRAVAR: // Executa algo return true; case EDITAR: // Executa algo return true; default: return super.onOptionsItemSelected(item); }}}

AlertDialog
Propriedade setIcon(int IconId) setMessage(CharSequence mensagem) setTitle(CharSequence titulo) setNeutralButton(CharSequence <rotulo do boto>, OnClickListener evento) Descrio Neste mtodo, voc define um cone para a sua caixa de dilogo. Neste mtodo, voc define a mensagem que ser exibida na caixa de dilogo. Neste mtodo, voc define o ttulo que ser exibido na caixa de dilogo. Neste mtodo voc define um boto neutro(normalmente rotulado com o ttulo OK) e um evento, caso ele seja clicado.

setPositiveButton(CharSequence <rotulo Neste mtodo voc define um boto do boto>, DialogInterface.OnClickListener positivo (normalmente rotulado com o evento) ttulo Sim ou Yes) e um evento, caso ele seja clicado. setNegativeButton(CharSequence <rotulo Neste mtodo voc define um boto do boto>, DialogInterface.OnClickListener negativo(normalmente rotulado com o evento) ttulo No ou No) e um evento, caso ele seja clicado.

Alguns Exemplo - AlertDialog


AlertDialog.Builder dialog = new AlertDialog.Builder(this); dialog.setMessage("Cadastro efetuado com sucesso."); dialog.setNeutralButton("OK", null); dialog.setTitle("Aviso"); dialog.show();

Alguns Exemplo - AlertDialog


AlertDialog.Builder dialog = new AlertDialog.Builder(this); dialog.setMessage("Deseja cadastrar esse registro ?"); dialog.setPositiveButton("Sim", new DialogInterface.OnClickListener(){ public void onClick(DialogInterface di, int arg) { //Executa algo se o boto "Sim" por pressionado }}); dialog.setNegativeButton("No", new DialogInterface.OnClickListener(){ public void onClick(DialogInterface di, int arg) { //Executa algo se o boto "No" por pressionado}}); dialog.setTitle("Aviso"); dialog.show();

Alguns Exemplo - AlertDialog

Alguns Exemplo - AlertDialog


AlertDialog.Builder dialog = new AlertDialog.Builder(this); dialog.setMessage("Exemplo com cone."); dialog.setNeutralButton("OK", null); dialog.setTitle("cone"); dialog.setIcon(R.drawable.icon); dialog.show();

SQLITE

SqlLite
A classe Activity contm mtodos para manipular o banco SQLite, o mtodo createDatabase permite criar um banco de dados. Outro mtodo importante, quando est se manipulando dados o mtodo openDatabase, este permite abrir um banco de dados. A classe SQLiteDatabase, contm mtodos que permitem manusear instrues de banco de dados. O mtodo execSQL permite passar como parmetro uma string SQL, pode inserir informaes, criar tabela, alterar dados, e deletar. O mtodo query da Classe SQLiteDatabase, possibilita realizar uma consulta no banco de dados, a filtragem determinada nos parmetro que so passados.

SqlLite

A classe Cursor contm mtodos que possibilitam a manipulao dos dados retornados pelo mtodo query da classe SQLiteDatabase. Mtodos da classe Cursor next um boolean, retorna true se existir um novo registro. getColumnIndex mtodo retorna um inteiro que indica qual o index da coluna passada como parmetro. getString retorna uma o campo pesquisado em formato de String, pede como parmetro o index da coluna. getInt retorna como Inteiro, o campo pesquisado, solicita como parmetro o index da coluna. getDouble retorna um valor double, que tenha sido retornado na consulta, solicita como parmetro o index da coluna. getFloat retorna um valor float, que tenha sido retornado na consulta, solicita como parmetro o index da coluna. getLong retorna um valor long, que tenha sido retornado na consulta, solicita como parmetro o index da coluna.

SqlLite Criao de banco


public void abreouCriaBanco() { try { String nomeBanco = "bancoEstoque"; //cria ou abre o banco de dados bancoDados = openOrCreateDatabase(nomeBanco, MODE_WORLD_READABLE, null); String sql = "CREATE TABLE IF NOT EXISTS pessoas " +"(id INTEGER PRIMARY KEY, nome TEXT, endereco TEXT," +"telefone TEXT);"; bancoDados.execSQL(sql); //mensagemExibir("Banco", "Banco criado com sucesso "); } catch(Exception erro) { mensagemExibir("Erro Banco", "Erro ao abrir ou criar o banco: "+erro.getMessage()); } }

SqlLite Inserindo dados


public void insereRegistro() { try { String sql="INSERT INTO pessoas (nome, endereco, telefone) values ('" +etNome.getText().toString()+"','" +etEndereco.getText().toString()+"','" +etTelefone.getText().toString()+"')"; bancoDados.execSQL(sql); } catch(Exception erro) { mensagemExibir("Erro Banco", "Erro ao gravar dados no banco: "+erro.getMessage()); } }

SqLite Buscando dados


private boolean buscarDados() { try { cursor = bancoDados.query("pessoas", new String [] {"nome","endereco","telefone"}, null,//selection, null,//selectionArgs, null,//groupBy, null,//having, null,//"order by nome"//orderBy) null); // Limite de registros retornados campoNome = cursor.getColumnIndex("nome"); campoEndereco = cursor.getColumnIndex("endereco"); campoTelefone = cursor.getColumnIndex("telefone"); int numeroRegistros = cursor.getCount(); if (numeroRegistros != 0) { // no java puro resultsewt.first(); cursor.moveToFirst(); //posiciona no primeiro registro return true; } else return false; } catch(Exception erro) { mensagemExibir("Erro Banco", "Erro buscar dados no banco: "+erro.getMessage()); return false; }}

SqLite Buscando dados


public Aluno getAlunoById(int posicao) { Cursor c = getWritableDatabase().query(TABELA, COLS, "id=?", new String[]{"" + posicao}, null, null, null); c.moveToFirst();

Aluno a = new Aluno(); a.setId(c.getInt(0)); a.setNome(c.getString(3)); a.setTelefone(c.getString(6));


c.close(); return a; }

SqLite Buscando dados


public List<Aluno> getLista(){ Cursor c = getWritableDatabase().query(TABELA, COLS, null, null, null, null, null); List<Aluno> lista = new ArrayList<Aluno>(); while(c.moveToNext()){ Aluno a = new Aluno(); a.setId(c.getInt(0)); a.setNome(c.getString(3)); a.setTelefone(c.getString(6)); lista .add(a); } c.close();

return lista;
}

Você também pode gostar