android e sqlite, marlus dias silva

Upload: gunnar-zortan

Post on 13-Jul-2015

989 views

Category:

Documents


0 download

TRANSCRIPT

Portal Android - Comunidade de Desenvolvedores da Plataforma Android - Ver T... Pgina 1 de 25

agora estamos no twitter, siga-nos!!!

[ @portal_android ]

\o/

RegistrarVer mensagens sem resposta | Ver tpicos ativos

FAQ Busca EntrarHoje 14 Jun 2011, 17:04

Pgina Principal Android DEV (Para desenvolvedores) Artigos, Tutoriais e Dicas Todos os Horrios esto como UTC - 3 horas

[TUTORIAL] Trabalhando com Banco de Dados SQLite no AndroidPgina 1 de 1 [ 24 Mensagens ] Visualizar Impresso Exibir Tpico Anterior | Exibir Prximo Tpico

[TUTORIAL] Trabalhando com Banco de Dados SQLite no AndroidAutor Mensagem

Marlus Dias SilvaWhat is ADT?

[TUTORIAL] Trabalhando com Banco de Dados SQLite no Android Neste tutorial ser abordado, como gravar e recuperar dados persistentes utilizando o banco de dados SQLite em Android. A classe Activity contm mtodos para manipular o banco SQLite, o mtodo createDatabase um que permite criar um banco de dados em android. Outro mtodo importante, quando est se manuseando dados o mtodo openDatabase, este mtodo permite abrir um banco de dados para que possa trabalha-lo com ele. 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 dados, criar tabela, alterar dados, e deletar dados. O mtodo query da Classe SQLiteDatabase, possibilita realizar uma consulta no banco de dados, retornando os registros contidos no banco de dados, a filtragem determinada nos parmetro que so passados. A classe Cursor contm vrios mtodos que possibilita 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

Data de registro: 16 Mar 2008, 10:11 Mensagens: 25

mhtml:file://C:\Users\Nelson\Desktop\Android\Trabalhando com Banco de Dados SQ... 06/07/2011

Portal Android - Comunidade de Desenvolvedores da Plataforma Android - Ver T... Pgina 2 de 25

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. Logo abaixo vou adicionar um cdigo onde possvel manipular dados em SQLite utilizando android. A Classe Trabalho permite Criar o banco de dados, Salvar,Alterar,Excluir registros no banco de dados.

Trabalho.java

package com.Trabalho; import com.banco.Pessoa; import android.app.Activity; import android.content.Intent; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import java.io.FileNotFoundException; import android.os.Bundle; import android.util.Log; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; public class Trabalho extends Activity { /** Called when the activity is first created. */ public EditText telefone; public EditText data; public EditText nome; public Button button; public Intent intentPesquisar; public Intent telaPricipal; public Button butDeletar; public Button butAlterar; public Button butNovo; private Pessoa pessoa; private SQLiteDatabase banco = null; @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); intentPesquisar = new Intent(this, Pesquisas.class); telaPricipal = new Intent(this,trabalho.class); setContentView(R.layout.tela); instance = this;

mhtml:file://C:\Users\Nelson\Desktop\Android\Trabalhando com Banco de Dados SQ... 06/07/2011

Portal Android - Comunidade de Desenvolvedores da Plataforma Android - Ver T... Pgina 3 de 25

telefone = data = nome = button =

(EditText) findViewById(R.id.textTelefone); (EditText) findViewById(R.id.textData); (EditText) findViewById(R.id.textNome); (Button) findViewById(R.id.button);

butDeletar = (Button) findViewById(R.id.buttonDeletar); butAlterar = (Button) findViewById(R.id.buttonAlterar); butNovo = (Button) findViewById(R.id.butNovo); button.setOnClickListener(new Button.OnClickListener() { @Override public void onClick(View arg0) { // TODO Auto-generated method stub salvarCadastro(nome.getText().toString(), telefone.getText() .toString(), data.getText().toString()); } }); final Button criarBanco = (Button) findViewById (R.id.buttonCriarBd); criarBanco.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub if (criarBanco()) { showAlert("Parabens", 1, "banco de dados criado com sucesso", "ok", true); } else { showAlert("ERRO", 1, "No foi possivel criar o banco de dados ", "ok", true); } } }); final Button pesquisar = (Button) findViewById (R.id.buttonPesquisar); pesquisar.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub startSubActivity(intentPesquisar, 0); } }); butDeletar.setOnClickListener(new OnClickListener(){ @Override public void onClick(View v) { // TODO Auto-generated method stub if(pessoa != null){ if(deletar(pessoa.getId())){ showAlert("Registro", 1, "Excludo com sucesso", "ok", true); limparTela(); }else{

mhtml:file://C:\Users\Nelson\Desktop\Android\Trabalhando com Banco de Dados SQ... 06/07/2011

Portal Android - Comunidade de Desenvolvedores da Plataforma Android - Ver T... Pgina 4 de 25

showAlert("ERRO", 1, "Problema ao excluir registro", "OK", true); } } }}); butAlterar.setOnClickListener(new OnClickListener(){ @Override public void onClick(View v) { // TODO Auto-generated method stub if(pessoa != null) if(alterar(pessoa.getId())){ showAlert("Alterado", 1, "Alterado com sucesso", "ok", true); }else{ showAlert("ERRO", 1, "ERRO", "ok", true); } } }); butNovo.setOnClickListener(new OnClickListener(){ @Override public void onClick(View v) { // TODO Auto-generated method stub limparTela(); }}); } /** * mtodo responsavl por criar o banco de dados * @return */ public boolean criarBanco() { boolean aux = true; try { String nomeBanco = nomeBancoDeDados; createDatabase(nomeBanco, 1, MODE_WORLD_READABLE, null); // cria o banco de dados caso ele no exista banco = openDatabase(nomeBanco, null); // abrir a conexo com o banco de dados banco.execSQL("CREATE TABLE IF NOT EXISTS lista (id INTEGER PRIMARY KEY, nome TEXT,telefone TEXT,data TEXT);"); //SQL que cria o banco de dados Log.d("Sucesso", "banco de dados crado na moral"); } catch (FileNotFoundException e) { // TODO Auto-generated catch block aux = false; Log.d("Exception banco de dados", e.getMessage()); } return aux; } /** * Mtodo que salva os campos no banco de dados

mhtml:file://C:\Users\Nelson\Desktop\Android\Trabalhando com Banco de Dados SQ... 06/07/2011

Portal Android - Comunidade de Desenvolvedores da Plataforma Android - Ver T... Pgina 5 de 25

* @param nome * @param telefone * @param data */ public void salvarCadastro(String nome, String telefone, String data) { try { banco = openDatabase(nomeBancoDeDados, null);//Abrir conexo com o banco de dados banco.execSQL("INSERT INTO lista(nome,telefone,data) VALUES ('"+ nome + "','" + telefone + "','" + data + "')");//Execulta o insert no banco de dados String[] colunas = { "nome", "telefone", "data" }; Cursor c = banco.query(true, "lista", colunas, null, null, null,null, null); while (c.next()) { Log.i(String.valueOf(c.getColumnIndex("nome")), c.getString(c.getColumnIndex("nome"))); } } catch (FileNotFoundException e) { // TODO Auto-generated catch block Log.d("Exception ", e.getMessage()); } } public void setCampos(Pessoa pessoa){ getInstance().limparTela(); getInstance().nome.setText(pessoa.getNome()); getInstance().telefone.setText(pessoa.getTelefone()); getInstance().data.setText(pessoa.getData()); this.pessoa = pessoa; } private void limparTela(){ nome.setText(""); telefone.setText(""); data.setText(""); } public static String nomeBancoDeDados = "marlus"; private boolean deletar(int cod){ boolean aux = true; try { banco = openDatabase(nomeBancoDeDados, null); String sql = "DELETE FROM lista WHERE id = '"+cod+"'"; banco.execSQL(sql); } catch (FileNotFoundException e) { // TODO Auto-generated catch block aux=false; Log.d("Exception excluir",e.getMessage().toString()); } return aux; } private boolean alterar(int cod){ boolean aux = true;

mhtml:file://C:\Users\Nelson\Desktop\Android\Trabalhando com Banco de Dados SQ... 06/07/2011

Portal Android - Comunidade de Desenvolvedores da Plataforma Android - Ver T... Pgina 6 de 25

try{ banco = openDatabase(nomeBancoDeDados, null); String sql = "UPDATE lista SET nome = '"+nome.getText ().toString()+"', telefone = '"+telefone.getText().toString()+"', data = '"+data.getText().toString()+"' WHERE id = '"+cod+"'"; banco.execSQL(sql); }catch(Exception e){ aux=false; Log.d("Excecao ",e.getMessage().toString()); } return aux; } private static Trabalho instance = null;

public static Trabalho getInstance(){ return instance; } }

Pessoa.java

package com.banco; public class Pessoa { private String nome; private String telefone; private String data; private int id; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getNome() { return nome; } public void setNome(String nome) { this.nome = nome; } public String getTelefone() { return telefone; } public void setTelefone(String telefone) { this.telefone = telefone; } public String getData() { return data; } public void setData(String data) {

mhtml:file://C:\Users\Nelson\Desktop\Android\Trabalhando com Banco de Dados SQ... 06/07/2011

Portal Android - Comunidade de Desenvolvedores da Plataforma Android - Ver T... Pgina 7 de 25

this.data = data; } private static Pessoa instance = null; public static Pessoa getInstance(){ if(instance == null){ instance = new Pessoa(); } return instance; } }

Logo abaixo est o XML da classeTrabalho.java

tela.xml

A classe Pesquisas a classe responsavel pela consulta no banco de dados. Segue logo abaixo o cdigo que demostra com trabalhar com consulta no SQLite.

Pesquisas.java

package com.trabalho; import com.banco.Pessoa; import java.io.FileNotFoundException; import java.util.ArrayList; import java.util.List; import java.util.Vector; import android.app.Activity; import android.app.ListActivity; import android.app.TabActivity; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.os.Bundle; import android.util.Log; import android.view.KeyEvent; import android.view.View; import android.view.Window; import android.view.View.OnClickListener;

mhtml:file://C:\Users\Nelson\Desktop\Android\Trabalhando com Banco de Dados SQ... 06/07/2011

Portal Android - Comunidade de Desenvolvedores da Plataforma Android - Ver ...

Pgina 10 de 25

import android.view.View.OnKeyListener; import android.widget.AdapterView; import android.widget.ArrayAdapter; import android.widget.Button; import android.widget.EditText; import android.widget.ListView; import android.widget.AdapterView.OnItemSelectedListener; public class Pesquisas extends Activity{ ListView lista ; EditText texto ; @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); setContentView(R.layout.pesquisar); lista = (ListView) findViewById(R.id.list); texto = (EditText) findViewById(R.id.pesquisar); texto.setOnKeyListener(new OnKeyListener(){ @Override public boolean onKey(View v, int keyCode, KeyEvent event) { // TODO Auto-generated method stub if(!texto.getText().toString().equals("")){//varifica se o campo digitado diferente de vazio pesquisar(texto.getText().toString());//chama o mtodo pesquisar passando como parmetro o campo texto }else{ limparLista();//limpa a lista se o campo text for igual a vazio. } return false; }}); lista.setOnItemSelectedListener(new OnItemSelectedListener(){ @Override public void onItemSelected(AdapterView parent, View v, int position, long id) { // TODO Auto-generated method stub trabalho.getInstance().setCampos(vector.get (Integer.parseInt(String.valueOf(id)))); //mtodo que vai preencher os campos na tela de trabalho } @Override public void onNothingSelected(AdapterView parent) { // TODO Auto-generated method stub }}); } /** * Mtodo que vai limpar a lista */

mhtml:file://C:\Users\Nelson\Desktop\Android\Trabalhando com Banco de Dados SQ... 06/07/2011

Portal Android - Comunidade de Desenvolvedores da Plataforma Android - Ver ...

Pgina 11 de 25

private void limparLista(){ vector.clear(); lista.setAdapter( new ArrayAdapter(this, android.R.layout.simple_list_item_1, new ArrayList())); } /** * mtodo que vai fazer a pesquisa no banco de dados SQLite * e retornar o resulado e adicion-lo na lista * @param t */ private void pesquisar(String t){

ArrayAdapter fileList = null; SQLiteDatabase bd = null; vector.clear(); Pessoa pessoa = null; try { bd = openDatabase(trabalho.nomeBancoDeDados,null); //abre a conexo com o banco de dados Cursor c = bd.query(true,"lista",new String[] {"id","nome","telefone","data"},null, null, null, null,null); // pesquisa o campos passandos no vetor de string no banco de dados e adiciona a o resultado da consulta no objeto Cursor ArrayList result = new ArrayList(); while(c.next()){ //Prenchendo um objeto do tipo pessoa com os dados recuperados do banco de dados pessoa = new Pessoa(); pessoa.setNome(c.getString(c.getColumnIndex("nome"))); pessoa.setTelefone(c.getString(c.getColumnIndex ("telefone"))); pessoa.setData(c.getString(c.getColumnIndex("data"))); pessoa.setId(c.getInt(c.getColumnIndex("id"))); vector.add(pessoa); // adiciona o objeto pessoa no vetor pessoa = null; //adiciona a viso da lista result.add(c.getString(c.getColumnIndex("nome")) + " - "+c.getString(c.getColumnIndex("telefone"))+" "+ c.getString(c.getColumnIndex("data"))); } fileList = new ArrayAdapter(this, android.R.layout.simple_list_item_1, result); //cria o modelo lista.setAdapter(fileList); //intala a lista } catch (FileNotFoundException e) { Log.d("SQL ERRO ",e.getMessage().toString()); }finally{ bd.close(); //fecha a conexo com o banco de dados } } private Vector vector = new Vector(); //vetor utilizado para armazenar objetos do tipo Pessoa }

mhtml:file://C:\Users\Nelson\Desktop\Android\Trabalhando com Banco de Dados SQ... 06/07/2011

Portal Android - Comunidade de Desenvolvedores da Plataforma Android - Ver ...

Pgina 12 de 25

pesquisar.xml

AndroidManifest.xml

mhtml:file://C:\Users\Nelson\Desktop\Android\Trabalhando com Banco de Dados SQ... 06/07/2011

Portal Android - Comunidade de Desenvolvedores da Plataforma Android - Ver ...

Pgina 13 de 25

Espero ter ajudado com este tutorial. Duvidas sugestes comentrios criticas ?

Voc no tem permisses suficientes para ver os arquivos anexados nesta mensagem. Editado pela ltima vez por Marlus Dias Silva em 14 Jul 2008, 17:21, no total de 3 vez

13 Jul 2008, 21:30

regeriob2brWhat is DDMS?

Re: Trabalhando com o Banco de Dados SQLite no Android. belo tutorial em, vai me ajudar a ver o que eu tava errando, com o outro.... ser que no d pra unir os dois em um post s?_________________ Rogerio Ferreira - B2BR

Data de registro: 14 Jun 2008, 04:03 Mensagens: 37

Editado pela ltima vez por regeriob2br em 15 Jul 2008, 18:08, num total de 1 vezes

14 Jul 2008, 00:10

Marlus Dias SilvaWhat is ADT?

Re: Trabalhando com o Banco de Dados SQLite no Android.regeriob2br escreveu:

Data de registro: 16 Mar 2008, 10:11 Mensagens: 25

belo totorial em, vai me ajudar a ver o que eu tava errando, com o outro.... ser que no d pra unir os dois em um post s?

sim rogrio poderia sim sem nenhum problema t+ abraos

14 Jul 2008, 07:48

jijoAndroid application

Re: Trabalhando com o Banco de Dados SQLite no Android.

mhtml:file://C:\Users\Nelson\Desktop\Android\Trabalhando com Banco de Dados SQ... 06/07/2011

Portal Android - Comunidade de Desenvolvedores da Plataforma Android - Ver ...

Pgina 14 de 25

Muito bom Marlus, ainda no botei pra rodar (falta de tempo pra mexer no android), mas olhando por cima, acho que voc se esqueceu de postar a classe pessoa no?!Data de registro: 01 Fev 2008, 10:28 Mensagens: 81 14 Jul 2008, 12:39

abrao

Marlus Dias SilvaWhat is ADT?

Re: Trabalhando com o Banco de Dados SQLite no Android.jijo escreveu:

Data de registro: 16 Mar 2008, 10:11 Mensagens: 25

Muito bom Marlus, ainda no botei pra rodar (falta de tempo pra mexer no android), mas olhando por cima, acho que voc se esqueceu de postar a classe pessoa no?! abrao

Verdade esqueci sim daki a pouco vou upar ela negocio que no to com o pc que desenvolvi a aplicao at as 3 da tarde j vai estar a classe pessoa e o projeto zipado s para baixar e executar

14 Jul 2008, 12:45

fmakulaWhat is DDMS?

Re: [TUTORIAL] Trabalhando com Banco de Dados SQLite no Android timo tutorial Marlus!!!!

Data de registro: 17 Fev 2008, 04:12 Mensagens: 38

valeu!

14 Jul 2008, 23:05

alexAndroid application

Re: [TUTORIAL] Trabalhando com Banco de Dados SQLite no Android bacana o tuto!

Data de registro: 01 Jun 2008, 03:52 Mensagens: 62

valeu!

15 Jul 2008, 14:21

samuel.cavanieriAndroid application

Re: [TUTORIAL] Trabalhando com Banco de Dados SQLite no Android valeu, legal o Tutorial, vai ajudar bastante nos estudos. S me tire uma dvida: Fui colocar pra rodar o "tuto" e apresentou erros nos mtodos.... removi os @Override que ficam em cima de cada mtodo e funcionou. Poderia me dizer pra que serve esses @Override? obrigado desde j Samuel

Data de registro: 24 Fev 2008, 13:45 Mensagens: 73

mhtml:file://C:\Users\Nelson\Desktop\Android\Trabalhando com Banco de Dados SQ... 06/07/2011

Portal Android - Comunidade de Desenvolvedores da Plataforma Android - Ver ...

Pgina 15 de 25

19 Jul 2008, 18:16

Marlus Dias SilvaWhat is ADT?

Re: [TUTORIAL] Trabalhando com Banco de Dados SQLite no Androidsamuel.cavanieri escreveu:

Data de registro: 16 Mar 2008, 10:11 Mensagens: 25

valeu, legal o Tutorial, vai ajudar bastante nos estudos. S me tire uma dvida: Fui colocar pra rodar o "tuto" e apresentou erros nos mtodos.... removi os @Override que ficam em cima de cada mtodo e funcionou. Poderia me dizer pra que serve esses @Override? obrigado desde j Samuel

Opa tudo bom samuel o @Override o proprio eclipse coloca, mais quer dizer que eu estou sobreescrevendo um mtodo de uma interface Estranho ter apresentado erro ai, se quiser entrar mais no assunto deste @..... pesquise sobre Anotation no sei muito sobre eles . t++ abraos

20 Jul 2008, 00:47

julianafsaWhat is Android?

Re: [TUTORIAL] Trabalhando com Banco de Dados SQLite no Android Ol pessoal,

Data de registro: 09 Jul 2008, 16:50 Mensagens: 1

Estou precisando criar um banco de dados no Android, via SQLiteDatabase, mas eu no estou conseguindo. No tenho nenhuma activity. Na verdade, o componente que eu estou criando vai ser usado por outros componentes (esses sim possuem activities), mas meu componente deve ser totalmente independente dos outros. Um trecho de cdigo que estou fazendo:

private static final String DATABASE_NAME = "sdm"; private SQLiteDatabase mDB = null; mDB = SQLiteDatabase.open(DATABASE_NAME, null); if (mDB == null) { Log.e("[DATABASE]", "Nao conseguiu abrir o banco.. tentando

mhtml:file://C:\Users\Nelson\Desktop\Android\Trabalhando com Banco de Dados SQ... 06/07/2011

Portal Android - Comunidade de Desenvolvedores da Plataforma Android - Ver ...

Pgina 16 de 25

criar novo banco"); mDB = SQLiteDatabase.create(DATABASE_NAME, DATABASE_VERSION, null); if (mDB == null) { Log.e("[DATABASE]","Nao foi possivel criar o banco"); } else { Log.e("[DATABASE]", "Banco criado"); } } else { Log.i("[DATABASE]","Abriu o banco"); }

Mas sempre d o seguinte erro: Failed to open database file "sdm" - unable to open database file Algum poderia me ajudar? Obrigada,

13 Ago 2008, 16:01

Marlus Dias SilvaWhat is ADT?

Re: [TUTORIAL] Trabalhando com Banco de Dados SQLite no Androidjulianafsa escreveu:

Data de registro: 16 Mar 2008, 10:11 Mensagens: 25

Ol pessoal, Estou precisando criar um banco de dados no Android, via SQLiteDatabase, mas eu no estou conseguindo. No tenho nenhuma activity. Na verdade, o componente que eu estou criando vai ser usado por outros componentes (esses sim possuem activities), mas meu componente deve ser totalmente independente dos outros. Um trecho de cdigo que estou fazendo:

private static final String DATABASE_NAME = "sdm"; private SQLiteDatabase mDB = null; mDB = SQLiteDatabase.open(DATABASE_NAME, null); if (mDB == null) { Log.e("[DATABASE]", "Nao conseguiu abrir o banco.. tentando criar novo banco"); mDB = SQLiteDatabase.create(DATABASE_NAME, DATABASE_VERSION, null); if (mDB == null) { Log.e("[DATABASE]","Nao foi possivel criar o banco"); } else { Log.e("[DATABASE]", "Banco criado"); } } else { Log.i("[DATABASE]","Abriu o banco"); }

mhtml:file://C:\Users\Nelson\Desktop\Android\Trabalhando com Banco de Dados SQ... 06/07/2011

Portal Android - Comunidade de Desenvolvedores da Plataforma Android - Ver ...

Pgina 17 de 25

Mas sempre d o seguinte erro: Failed to open database file "sdm" - unable to open database file Algum poderia me ajudar? Obrigada,

oie juliana, olha eu nunca trabalhei com o SQLite em uma classe fora de uma Activity, quando comecei a trabalhar tb tentei fazer da maneira com que vc est fazendo e no tive sucesso, se vc conseguir post para podermos compartilhar mais conhecimentos t++

14 Ago 2008, 10:00

guitarro17What is Android?

Re: [TUTORIAL] Trabalhando com Banco de Dados SQLite no Android Ol!

Data de registro: 23 Out 2008, 23:06 Mensagens: 5

Eu criei o projeto com este cdigo, mas me retornou um monte de erros, esses que j haviam acontecido. Parece que ele no aceita os comandos de criar, abrir banco, etc... Description Resource Path Location Type The method createDatabase(String, int, int, null) is undefined for the type Trabalho Trabalho.java Trabalho/src/com/Trabalho line 130 Java Problem The method next() is undefined for the type Cursor Pesquisas.java Trabalho/src/com/Trabalho line 95 Java Problem The method next() is undefined for the type Cursor Trabalho.java Trabalho/src/com/Trabalho line 155 Java Problem The method openDatabase(String, null) is undefined for the type Pesquisas Pesquisas.java Trabalho/src/com/Trabalho line 92 Java Problem The method openDatabase(String, null) is undefined for the type Trabalho Trabalho.java Trabalho/src/com/Trabalho line 131 Java Problem The method openDatabase(String, null) is undefined for the type Trabalho Trabalho.java Trabalho/src/com/Trabalho line 151 Java Problem The method openDatabase(String, null) is undefined for the type Trabalho Trabalho.java Trabalho/src/com/Trabalho line 183 Java Problem The method openDatabase(String, null) is undefined for the type Trabalho Trabalho.java Trabalho/src/com/Trabalho line 197 Java Problem The method query(boolean, String, String[], String, String[], String, String, String, String) in the type SQLiteDatabase is not applicable for the arguments (boolean, String, String[], null, null, null, null, null) Pesquisas.java Trabalho/src/com/Trabalho line 93 Java Problem The method query(boolean, String, String[], String, String[], String, String, String, String) in the type SQLiteDatabase is not applicable for the arguments (boolean, String, String[], null, null, null, null, null) Trabalho.java Trabalho/src/com/Trabalho line 154 Java Problem The method showAlert(String, int, String, String, boolean) is undefined for

mhtml:file://C:\Users\Nelson\Desktop\Android\Trabalhando com Banco de Dados SQ... 06/07/2011

Portal Android - Comunidade de Desenvolvedores da Plataforma Android - Ver ...

Pgina 18 de 25

the type new View.OnClickListener(){} Trabalho.java Trabalho/src/com/Trabalho line 66 Java Problem The method showAlert(String, int, String, String, boolean) is undefined for the type new View.OnClickListener(){} Trabalho.java Trabalho/src/com/Trabalho line 68 Java Problem The method showAlert(String, int, String, String, boolean) is undefined for the type new View.OnClickListener(){} Trabalho.java Trabalho/src/com/Trabalho line 90 Java Problem The method showAlert(String, int, String, String, boolean) is undefined for the type new View.OnClickListener(){} Trabalho.java Trabalho/src/com/Trabalho line 93 Java Problem The method showAlert(String, int, String, String, boolean) is undefined for the type new View.OnClickListener(){} Trabalho.java Trabalho/src/com/Trabalho line 105 Java Problem The method showAlert(String, int, String, String, boolean) is undefined for the type new View.OnClickListener(){} Trabalho.java Trabalho/src/com/Trabalho line 107 Java Problem The method startSubActivity(Intent, int) is undefined for the type new View.OnClickListener(){} Trabalho.java Trabalho/src/com/Trabalho line 79 Java Problem Ser que falta algum import??

23 Out 2008, 23:08

Marlus Dias SilvaWhat is ADT?

Re: [TUTORIAL] Trabalhando com Banco de Dados SQLite no Android No amigo, voc deve estar utilizando um SDK maior que o 0.8 beta essa aplicao foi desenvolvida com o SDK 0.8, tanto o 0.9 e o 1.0 ouve modificaes nas API's alguns mtodos deixaro de existir por isso essa aplicao no executa em SDK mais novos

Data de registro: 16 Mar 2008, 10:11 Mensagens: 25

24 Out 2008, 06:47

guitarro17What is Android?

Re: [TUTORIAL] Trabalhando com Banco de Dados SQLite no Android Realmente, tem uns quantos metodos que eu tive que trocar hehe mas consegui consertar

Data de registro: 23 Out 2008, 23:06 Mensagens: 5 24 Out 2008, 12:03

jijoAndroid application

Re: [TUTORIAL] Trabalhando com Banco de Dados SQLite no Androidguitarro17 escreveu:

Realmente, tem uns quantos metodos que eu tive que trocar hehe mas consegui consertarData de registro: 01 Fev 2008, 10:28 Mensagens: 81

Poderia me dizer como ficou esse o showAlert? abrao

mhtml:file://C:\Users\Nelson\Desktop\Android\Trabalhando com Banco de Dados SQ... 06/07/2011

Portal Android - Comunidade de Desenvolvedores da Plataforma Android - Ver ...

Pgina 19 de 25

24 Out 2008, 13:05

guitarro17What is Android?

Re: [TUTORIAL] Trabalhando com Banco de Dados SQLite no Android Tipo, acho que tem q fazer tipo o que utilizaram nessa agenda:

Data de registro: 23 Out 2008, 23:06 Mensagens: 5

viewtopic.php?f=7&p=711 Da uma olhada no mtodo private void showDialong(CharSequence s) { No sei se tem alguma maneira mais facil. Se tiver, me avise heheheh

24 Out 2008, 13:20

robsonoracleWhat is AVD?

Re: [TUTORIAL] Trabalhando com Banco de Dados SQLite no Android Oi Marlus,

Data de registro: 10 Nov 2008, 15:10 Mensagens: 13

Excelente tutorial, e eu passei ele para a verso 1.0 do compilador, onde substitui principalmente os seguintes pontos: 1)//startSubActivity(intentPesquisar, 0);

Eu substitui por:

startActivityForResult(intentPesquisar, 0);

2)//showAlert("ERRO", 1, "No foi possivel criar" // + " o banco de dados ", "ok", true);

Eu substitui por:

showDialong("Erro. No foi possvel criar o banco de dados.");

Onde:

/** * metodo que vai criar um AlertDialog e vai exibilo na tela com para * confirmar que o objeto foi adicionado na lista.

mhtml:file://C:\Users\Nelson\Desktop\Android\Trabalhando com Banco de Dados SQ... 06/07/2011

Portal Android - Comunidade de Desenvolvedores da Plataforma Android - Ver ...

Pgina 20 de 25

*/ private void showDialong(CharSequence s) { Builder builder = new AlertDialog.Builder(Trabalho.this); // cria um objeto do tipo builder builder.setTitle("Informao."); frase informao builder.setMessage(s); passada como parmetro AlertDialog alert = builder.create(); tipo AlertDialong DialogInterface.OnClickListener listener = new ConfirmarCadastro(); // instancia uma classe que dispara o evento se o button do Dialong for acionado alert.setButton("ok", listener); //Adiciona o texto confirmar no button alert.show(); // Exibe na tela o Objeto AlertDialog } //Cria um objeto do //seta a mensagem //seta o titulo coma

E uma nova classe:

package com.trabalho; import android.content.DialogInterface; import android.util.Log; public class ConfirmarCadastro implements DialogInterface.OnClickListener{ @Override public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub //AppCadastro.getInstance().limpar(); Log.i("Dialong ", } } "evento de clique");

3)

// createDatabase(nomeBanco, 1, MODE_WORLD_READABLE, null); // cria o banco de dados caso ele no exista // banco = openDatabase(nomeBanco, null); // abrir a conexo com o banco de dados

Eu substitui por:

banco = openOrCreateDatabase(nomeBanco, 0, null);

mhtml:file://C:\Users\Nelson\Desktop\Android\Trabalhando com Banco de Dados SQ... 06/07/2011

Portal Android - Comunidade de Desenvolvedores da Plataforma Android - Ver ...

Pgina 21 de 25

Agora est sem erro de compilao, porm quando eu executo ele carega a janela certo, mas quando clico no boto Pesquisar ele mostra uma mensagem de exceo e no carrega a janela e fecha a aplicao. O mtodo que faz esta chamada eu tive que substituir conforme havia descrito anteriormente: Onde era: startSubActivity(intentPesquisar, 0); Eu substitui por: startActivityForResult(intentPesquisar, 0); Peo ao guitarro17 que disse que conseguiu consertar para ver se passou por esta situao e como a resolveu ou ento a vc Marlus caso tenha idia. Um abrao a todos e obrigado Robson PS: O fonte est em anexo para anlise.

Voc no tem permisses suficientes para ver os arquivos anexados nesta mensagem. 02 Jan 2009, 18:10

robsonoracleWhat is AVD?

Re: [TUTORIAL] Trabalhando com Banco de Dados SQLite no Android Ol amigos,

Data de registro: 10 Nov 2008, 15:10 Mensagens: 13

Resolvi o problema de chamar a janela pesquisar, onde faltava apenas acrescentar no arquivo AndroidManifest.xml a classe Pesquisas. S que na execuo da classe Pesquisas, quando eu comeo a digitar aparece a lista de todas as pessoas cadastradas, porm ele no filtra, algum fez o filtro funcionar. Por exemplo, eu digito Ana, mas ele continua listando tudo, e no lista apenas as pessoas que comeam com o nome Ana. O mtodo pesquisar alterado para a verso 1.0 o mostrado abaixo, eu deixei as partes em comentrio para vocs terem idia das substituies que tive que fazer:

private void

pesquisar(String t){

ArrayAdapter fileList = null; SQLiteDatabase bd = null; vector.clear(); Pessoa pessoa = null; try { //bd = openDatabase(Trabalho.nomeBancoDeDados,null); //abre a conexo com o banco de dados //Cursor c = bd.query(true,"lista",new String[] {"id","nome","telefone","data"},null, null, null, null,null); // pesquisa o campos passandos no vetor de string no banco de dados e adiciona a o resultado da consulta no objeto Cursor bd = openOrCreateDatabase(Trabalho.nomeBancoDeDados, 0, null); Cursor c = bd.query("lista",new String[] {"id","nome","telefone","data"},null, null, null, null,null); // pesquisa o campos passandos no vetor de string no banco de dados e

mhtml:file://C:\Users\Nelson\Desktop\Android\Trabalhando com Banco de Dados SQ... 06/07/2011

Portal Android - Comunidade de Desenvolvedores da Plataforma Android - Ver ...

Pgina 22 de 25

adiciona a o resultado da consulta no objeto Cursor ArrayList result = new ArrayList(); //while(c.next()){ while(c.moveToNext()){ //Prenchendo um objeto do tipo pessoa com os dados recuperados do banco de dados pessoa = new Pessoa(); pessoa.setNome(c.getString(c.getColumnIndex("nome"))); pessoa.setTelefone(c.getString(c.getColumnIndex ("telefone"))); pessoa.setData(c.getString(c.getColumnIndex("data"))); pessoa.setId(c.getInt(c.getColumnIndex("id"))); //if (pessoa.getNome().equalsIgnoreCase(t)){ vector.add(pessoa); // adiciona o objeto pessoa no vetor //} pessoa = null; //adiciona a viso da lista result.add(c.getString(c.getColumnIndex("nome")) + " - "+c.getString(c.getColumnIndex("telefone"))+" "+ c.getString(c.getColumnIndex("data")));

} fileList = new ArrayAdapter(this, android.R.layout.simple_list_item_1, result); //cria o modelo lista.setAdapter(fileList); //intala a lista //} catch (FileNotFoundException e) { } catch (Exception e) { // TODO Auto-generated catch block Log.d("SQL ERRO ",e.getMessage().toString()); }finally{ bd.close(); //fecha a conexo com o banco de dados } }

Se algum tiver idia do que pode ser eu agradeo a ajuda. Um abrao a todos e um timo 2009 Robson

05 Jan 2009, 12:10

SpessottoWhat is DDMS?

Re: [TUTORIAL] Trabalhando com Banco de Dados SQLite no Android Ola pessoal..sou novo no android, no java e afins... Li esse tutorial, e fui fazer de acordo com o que eu queria... fiz desse jeito, mas da erro na hora da aplicao rodar no emulador..alguem pode me

Data de registro: 18 Out 2009, 21:33 Mensagens: 30

mhtml:file://C:\Users\Nelson\Desktop\Android\Trabalhando com Banco de Dados SQ... 06/07/2011

Portal Android - Comunidade de Desenvolvedores da Plataforma Android - Ver ...

Pgina 23 de 25

ajudar?

import android.app.Activity; import android.content.Context; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; public class HelloAndroid extends Activity implements OnClickListener { private Button buts,butn; private EditText txtPrinc;

@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(com.example.helloandroid.R.layout.main); //Recupera o boto passando por parametro o ID do mesmo. buts = (Button)findViewById (com.example.helloandroid.R.id.buts); butn = (Button)findViewById (com.example.helloandroid.R.id.butn); //Define para o boto o evento OnClickListener . buts.setOnClickListener(this); butn.setOnClickListener(this); txtPrinc = (EditText)findViewById (com.example.helloandroid.R.id.txtPrinc); //#####ESSA PARTE QUE GERA O ERRO####################### SQLiteDatabase db = openOrCreateDatabase ("android",Context.MODE_PRIVATE,null); Cursor c = db.query("TB_USUARIOS", new String[]{"id,nome"} , null, null, "nome", null, null,null); txtPrinc.setText(c.getString(1)); // ####################### } public void onClick(View v) { if (v==buts) { //txtPrinc.setText("Botao S!"); }else if (v==butn) { //txtPrinc.setText("Botao N!"); } } }

mhtml:file://C:\Users\Nelson\Desktop\Android\Trabalhando com Banco de Dados SQ... 06/07/2011

Portal Android - Comunidade de Desenvolvedores da Plataforma Android - Ver ...

Pgina 24 de 25

valews!

Rafael Spessotto

23 Out 2009, 14:18

ScariotWhat is Android?

Re: [TUTORIAL] Trabalhando com Banco de Dados SQLite no Android Esse tutorial funciona direito nas versoes especificadas, porem alguem poderia reescreve-lo para a versao 1.6? Se possivel serei grato!

Data de registro: 29 Set 2009, 14:38 Mensagens: 7

26 Out 2009, 09:28

LuisWhat is Android?

Re: [TUTORIAL] Trabalhando com Banco de Dados SQLite no Android o que esta causando erro a tabela criada com VARCHAR2

Data de registro: 07 Mai 2010, 18:09 Mensagens: 1 07 Mai 2010, 18:12

jackson.alfonsoWhat is Android?

Re: [TUTORIAL] Trabalhando com Banco de Dados SQLite no Android Puder todos compartilhassem seu conhecimento assim, ainda mas para pessoas que buscam informaes para iniciar, valeu muito obrigado, excelente material !!!!

Data de registro: 04 Dez 2009, 13:28 Mensagens: 1

05 Out 2010, 10:14

juniorsatanasXWhat is AVD?

Re: [TUTORIAL] Trabalhando com Banco de Dados SQLite no Android Algum tem os fontes postado ?

Data de registro: 02 Fev 2011, 13:58 Mensagens: 15

Obrigado !

03 Fev 2011, 16:39

asmagWhat is AVD?

Re: [TUTORIAL] Trabalhando com Banco de Dados SQLite no Android Bom dia!

Data de registro: 30 Jan 2011, 22:05 Mensagens: 10

Fiz todo o procedimento e estou rodando no SDK 2.1 API verso 7 porm d a seguinte mensagem de erro:The application com.Trabalho has stopped an unexpectedly. Algum teria alguma idia de como eu fao para debugar minha aplicao Android?

mhtml:file://C:\Users\Nelson\Desktop\Android\Trabalhando com Banco de Dados SQ... 06/07/2011

Portal Android - Comunidade de Desenvolvedores da Plataforma Android - Ver ...

Pgina 25 de 25

23 Mar 2011, 09:37 Mostrar mensagens anteriores: Todas as mensagens 6 Organizar por Hora da Mensagem 6

CrescentePgina 1 de 1 [ 24 Mensagens ]

6

Ir

Pgina Principal Android DEV (Para desenvolvedores) Artigos, Tutoriais e Dicas Todos os Horrios esto como UTC - 3 horas

Quem est onlineUsurios vendo este frum: AlanAlencar e 4 visitantes Voc no pode criar novos tpicos Voc no pode responder tpicos Voc no pode editar suas mensagens Voc no pode excluir suas mensagens Voc no pode enviar anexos neste neste neste neste neste frum frum frum frum frum

Procurar por:

Ir

2011 Portal Android - Comunidade de Desenvolvedores da Plataforma Android

Powered by phpBB - Hospedado por Host Gator

mhtml:file://C:\Users\Nelson\Desktop\Android\Trabalhando com Banco de Dados SQ... 06/07/2011