|
Página 1 de 1
|
[ 40 Mensagens ] |
|
[TUTORIAL] Trabalhando com Banco de Dados SQLite no Android
| Autor |
Mensagem |
|
Marlus Dias Silva
What is ADT?
Data de registro: 16 Mar 2008, 11:11 Mensagens: 25
|
 [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 contém métodos para manipular o banco SQLite, o método createDatabase é um que permite criar um banco de dados em android. Outro método importante, quando está se manuseando dados é o método openDatabase, este método permite abrir um banco de dados para que possa trabalha-lo com ele. A classe SQLiteDatabase, contém métodos que permitem manusear instruções de banco de dados. O método execSQL permite passar como parâmetro uma string SQL, pode inserir dados, criar tabela, alterar dados, e deletar dados. O método query da Classe SQLiteDatabase, possibilita realizar uma consulta no banco de dados, retornando os registros contidos no banco de dados, a filtragem é determinada nos parâmetro que são passados. A classe Cursor contém vários métodos que possibilita a manipulação dos dados retornados pelo método query da classe SQLiteDatabase. Métodos da classe Cursornext – é um boolean, retorna true se existir um novo registro. getColumnIndex – método retorna um inteiro que indica qual é o index da coluna passada como parâmetro. getString – retorna uma o campo pesquisado em formato de String, pede como parâmetro o index da coluna. getInt – retorna como Inteiro, o campo pesquisado, solicita como parâmetro o index da coluna. getDouble – retorna um valor double, que tenha sido retornado na consulta, solicita como parâmetro o index da coluna. getFloat – retorna um valor float, que tenha sido retornado na consulta, solicita como parâmetro o index da coluna. getLong – retorna um valor long, que tenha sido retornado na consulta, solicita como parâmetro o index da coluna. Logo abaixo vou adicionar um código onde é possível manipular dados em SQLite utilizando android. A Classe Trabalho permite Criar o banco de dados, Salvar,Alterar,Excluir registros no banco de dados. Trabalho.javapackage 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; telefone = (EditText ) findViewById (R. id. textTelefone); data = (EditText ) findViewById (R. id. textData); nome = (EditText ) findViewById (R. id. textNome); button = (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, "Não 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, "Excluído com sucesso", "ok", true); limparTela (); }else{ 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 (); }}); } /** * método responsavél 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 não exista banco = openDatabase (nomeBanco, null); // abrir a conexão 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; }/** * Método que salva os campos no banco de dados * @param nome * @param telefone * @param data */ public void salvarCadastro (String nome, String telefone, String data ) { try { banco = openDatabase (nomeBancoDeDados, null); //Abrir conexão 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; 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.javapackage 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 ) { 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 <?xml version="1.0" encoding="utf-8"?> <AbsoluteLayout android:id="@+id/widget0" android:layout_width="fill_parent" android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android" > <TextView android:id="@+id/widget27" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Nome" android:layout_x="20px" android:layout_y="22px" > </TextView> <EditText android:id="@+id/textNome" android:layout_width="198px" android:layout_height="wrap_content"
android:textSize="18sp" android:layout_x="90px" android:layout_y="12px" > </EditText> <TextView android:id="@+id/widget29" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Telefone" android:layout_x="20px" android:layout_y="82px" > </TextView> <EditText android:id="@+id/textTelefone" android:layout_width="197px" android:layout_height="wrap_content" android:phoneNumber="true" android:textSize="18sp" android:layout_x="90px" android:layout_y="72px" > </EditText> <TextView android:id="@+id/widget31" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Data" android:layout_x="20px" android:layout_y="142px" > </TextView> <EditText android:id="@+id/textData" android:layout_width="197px" android:layout_height="wrap_content"
android:textSize="18sp" android:layout_x="90px" android:layout_y="132px" > </EditText> <Button android:id="@+id/button" android:layout_width="82px" android:layout_height="wrap_content" android:text="Salvar" android:layout_x="25px" android:layout_y="202px" > </Button> <Button android:id="@+id/buttonCriarBd" android:layout_width="78px" android:layout_height="wrap_content" android:text="CriarBD" android:layout_x="113px" android:layout_y="202px" > </Button> <Button android:id="@+id/buttonPesquisar" android:layout_width="90px" android:layout_height="wrap_content" android:text="pesquisar" android:layout_x="195px" android:layout_y="202px" > </Button> <Button android:id="@+id/buttonDeletar" android:layout_width="90px" android:layout_height="wrap_content" android:text="deletar" android:layout_x="195px" android:layout_y="260px" > </Button> <Button android:id="@+id/butNovo" android:layout_width="82px" android:layout_height="wrap_content" android:text="Novo" android:layout_x="25px" android:layout_y="260px" > </Button> <Button android:id="@+id/buttonAlterar" android:layout_width="78px" android:layout_height="wrap_content" android:text="Alterar" android:layout_x="113px" android:layout_y="260px" > </Button> </AbsoluteLayout>
A classe Pesquisas é a classe responsavel pela consulta no banco de dados. Segue logo abaixo o código que demostra com trabalhar com consulta no SQLite. Pesquisas.javapackage 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; 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 método pesquisar passando como parâmetro 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 )))); //método que vai preencher os campos na tela de trabalho } @Override public void onNothingSelected (AdapterView parent ) { // TODO Auto-generated method stub }}); } /** * Método que vai limpar a lista */ private void limparLista (){ vector. clear(); lista. setAdapter( new ArrayAdapter<String> (this, android. R. layout. simple_list_item_1, new ArrayList())); } /** * método 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<String> fileList = null; SQLiteDatabase bd = null; vector. clear(); Pessoa pessoa = null; try { bd = openDatabase (trabalho. nomeBancoDeDados, null); //abre a conexão 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<String> result = new ArrayList<String> (); 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 visão da lista result. add(c. getString(c. getColumnIndex("nome")) + " - "+c. getString(c. getColumnIndex("telefone"))+ " - "+ c. getString(c. getColumnIndex("data"))); } fileList = new ArrayAdapter<String> (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 conexão com o banco de dados } } private Vector<Pessoa> vector = new Vector<Pessoa> (); //vetor utilizado para armazenar objetos do tipo Pessoa} pesquisar.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout android:id="@+id/widget27" android:layout_width="fill_parent" android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" > <TextView android:id="@+id/widget29" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Pesquisar" > </TextView> <EditText android:id="@+id/pesquisar" android:layout_width="317px" android:layout_height="wrap_content" android:textSize="18sp" > </EditText> <ListView android:id="@+id/list" android:layout_width="317px" android:layout_height="290px" > </ListView> </LinearLayout>
AndroidManifest.xml <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.trabalho"> <application android:icon="@drawable/icon"> <activity android:name=".trabalho" 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=".Pesquisas" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>
Espero ter ajudado com este tutorial. Duvidas sugestões comentários criticas ? 
Você não tem permissões suficientes para ver os arquivos anexados nesta mensagem.
Editado pela última vez por Marlus Dias Silva em 14 Jul 2008, 18:21, no total de 3 vez
|
| 13 Jul 2008, 22:30 |
|
 |
|
regeriob2br
What is DDMS?
Data de registro: 14 Jun 2008, 05:03 Mensagens: 37
|
 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 não dá pra unir os dois em um post só?
_________________ Rogerio Ferreira - B2BR
Editado pela última vez por regeriob2br em 15 Jul 2008, 19:08, num total de 1 vezes
|
| 14 Jul 2008, 01:10 |
|
 |
|
Marlus Dias Silva
What is ADT?
Data de registro: 16 Mar 2008, 11:11 Mensagens: 25
|
 Re: Trabalhando com o Banco de Dados SQLite no Android.
regeriob2br escreveu: belo totorial em, vai me ajudar a ver o que eu tava errando, com o outro....
será que não dá pra unir os dois em um post só? sim rogério poderia sim sem nenhum problema t+ abraços
|
| 14 Jul 2008, 08:48 |
|
 |
|
jijo
Android application
Data de registro: 01 Fev 2008, 11:28 Mensagens: 87
|
 Re: Trabalhando com o Banco de Dados SQLite no Android.
Muito bom Marlus, ainda não botei pra rodar (falta de tempo pra mexer no android), mas olhando por cima, acho que você se esqueceu de postar a classe pessoa não?!
abraço
|
| 14 Jul 2008, 13:39 |
|
 |
|
Marlus Dias Silva
What is ADT?
Data de registro: 16 Mar 2008, 11:11 Mensagens: 25
|
 Re: Trabalhando com o Banco de Dados SQLite no Android.
jijo escreveu: Muito bom Marlus, ainda não botei pra rodar (falta de tempo pra mexer no android), mas olhando por cima, acho que você se esqueceu de postar a classe pessoa não?!
abraço Verdade esqueci sim daki a pouco vou upar ela negocio que não to com o pc que desenvolvi a aplicação até as 3 da tarde já vai estar a classe pessoa e o projeto zipado só para baixar e executar
|
| 14 Jul 2008, 13:45 |
|
 |
|
fmakula
What is DDMS?
Data de registro: 17 Fev 2008, 05:12 Mensagens: 38
|
 Re: [TUTORIAL] Trabalhando com Banco de Dados SQLite no Android
ótimo tutorial Marlus!!!!
valeu!
|
| 15 Jul 2008, 00:05 |
|
 |
|
alex
Android application
Data de registro: 01 Jun 2008, 04:52 Mensagens: 64
|
 Re: [TUTORIAL] Trabalhando com Banco de Dados SQLite no Android
bacana o tuto!
valeu!
|
| 15 Jul 2008, 15:21 |
|
 |
|
samuel.cavanieri
Android application
Data de registro: 24 Fev 2008, 14:45 Mensagens: 73
|
 Re: [TUTORIAL] Trabalhando com Banco de Dados SQLite no Android
valeu, legal o Tutorial, vai ajudar bastante nos estudos. Só me tire uma dúvida: Fui colocar pra rodar o "tuto" e apresentou erros nos métodos.... removi os @Override que ficam em cima de cada método e funcionou. Poderia me dizer pra que serve esses @Override? obrigado desde já Samuel 
|
| 19 Jul 2008, 19:16 |
|
 |
|
Marlus Dias Silva
What is ADT?
Data de registro: 16 Mar 2008, 11:11 Mensagens: 25
|
 Re: [TUTORIAL] Trabalhando com Banco de Dados SQLite no Android
samuel.cavanieri escreveu: valeu, legal o Tutorial, vai ajudar bastante nos estudos. Só me tire uma dúvida: Fui colocar pra rodar o "tuto" e apresentou erros nos métodos.... removi os @Override que ficam em cima de cada método 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 método de uma interface Estranho ter apresentado erro ai, se quiser entrar mais no assunto deste @..... pesquise sobre Anotation não sei muito sobre eles . t++ abraços 
|
| 20 Jul 2008, 01:47 |
|
 |
|
julianafsa
What is Android?
Data de registro: 09 Jul 2008, 17:50 Mensagens: 1
|
 Re: [TUTORIAL] Trabalhando com Banco de Dados SQLite no Android
Olá pessoal, Estou precisando criar um banco de dados no Android, via SQLiteDatabase, mas eu não estou conseguindo. Não 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 código 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"); } Mas sempre dá o seguinte erro: Failed to open database file "sdm" - unable to open database file Alguém poderia me ajudar? Obrigada,
|
| 13 Ago 2008, 17:01 |
|
 |
|
Marlus Dias Silva
What is ADT?
Data de registro: 16 Mar 2008, 11:11 Mensagens: 25
|
 Re: [TUTORIAL] Trabalhando com Banco de Dados SQLite no Android
julianafsa escreveu: Olá pessoal, Estou precisando criar um banco de dados no Android, via SQLiteDatabase, mas eu não estou conseguindo. Não 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 código 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"); } Mas sempre dá o seguinte erro: Failed to open database file "sdm" - unable to open database file Alguém 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 não tive sucesso, se vc conseguir post para podermos compartilhar mais conhecimentos t++
|
| 14 Ago 2008, 11:00 |
|
 |
|
guitarro17
What is Android?
Data de registro: 24 Out 2008, 00:06 Mensagens: 5
|
 Re: [TUTORIAL] Trabalhando com Banco de Dados SQLite no Android
Olá!
Eu criei o projeto com este código, mas me retornou um monte de erros, esses que já haviam acontecido. Parece que ele não 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 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??
|
| 24 Out 2008, 00:08 |
|
 |
|
Marlus Dias Silva
What is ADT?
Data de registro: 16 Mar 2008, 11:11 Mensagens: 25
|
 Re: [TUTORIAL] Trabalhando com Banco de Dados SQLite no Android
 Não amigo, você deve estar utilizando um SDK maior que o 0.8 beta essa aplicação foi desenvolvida com o SDK 0.8, tanto o 0.9 e o 1.0 ouve modificações nas API's alguns métodos deixarão de existir por isso essa aplicação não executa em SDK mais novos 
|
| 24 Out 2008, 07:47 |
|
 |
|
guitarro17
What is Android?
Data de registro: 24 Out 2008, 00:06 Mensagens: 5
|
 Re: [TUTORIAL] Trabalhando com Banco de Dados SQLite no Android
Realmente, tem uns quantos metodos que eu tive que trocar hehe mas consegui consertar 
|
| 24 Out 2008, 13:03 |
|
 |
|
jijo
Android application
Data de registro: 01 Fev 2008, 11:28 Mensagens: 87
|
 Re: [TUTORIAL] Trabalhando com Banco de Dados SQLite no Android
guitarro17 escreveu: Realmente, tem uns quantos metodos que eu tive que trocar hehe mas consegui consertar  Poderia me dizer como ficou esse o showAlert? abraço
|
| 24 Out 2008, 14:05 |
|
 |
|
guitarro17
What is Android?
Data de registro: 24 Out 2008, 00:06 Mensagens: 5
|
 Re: [TUTORIAL] Trabalhando com Banco de Dados SQLite no Android
Tipo, acho que tem q fazer tipo o que utilizaram nessa agenda: viewtopic.php?f=7&p=711Da uma olhada no método private void showDialong(CharSequence s) { Não sei se tem alguma maneira mais facil. Se tiver, me avise heheheh
|
| 24 Out 2008, 14:20 |
|
 |
|
robsonoracle
What is AVD?
Data de registro: 10 Nov 2008, 16:10 Mensagens: 13
|
 Re: [TUTORIAL] Trabalhando com Banco de Dados SQLite no Android
Oi Marlus, Excelente tutorial, e eu passei ele para a versão 1.0 do compilador, onde substitui principalmente os seguintes pontos: 1) //startSubActivity(intentPesquisar, 0); Eu substitui por: startActivityForResult(intentPesquisar, 0); 2) //showAlert("ERRO", 1, "Não foi possivel criar" // + " o banco de dados ", "ok", true); Eu substitui por: showDialong("Erro. Não foi possível 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. */ private void showDialong(CharSequence s) { Builder builder = new AlertDialog.Builder(Trabalho.this); // cria um objeto do tipo builder builder.setTitle("Informação."); //seta o titulo coma frase informação builder.setMessage(s); //seta a mensagem passada como parâmetro AlertDialog alert = builder.create(); //Cria um objeto do 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 } 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 não exista // banco = openDatabase(nomeBanco, null); // abrir a conexão com o banco de dados Eu substitui por: banco = openOrCreateDatabase(nomeBanco, 0, null); Agora está sem erro de compilação, porém quando eu executo ele carega a janela certo, mas quando clico no botão Pesquisar ele mostra uma mensagem de exceção e não carrega a janela e fecha a aplicação. O método que faz esta chamada eu tive que substituir conforme havia descrito anteriormente: Onde era: startSubActivity(intentPesquisar, 0); Eu substitui por: startActivityForResult(intentPesquisar, 0); Peço ao guitarro17 que disse que conseguiu consertar para ver se passou por esta situação e como a resolveu ou então a vc Marlus caso tenha idéia. Um abraço a todos e obrigado Robson PS: O fonte está em anexo para análise.
Você não tem permissões suficientes para ver os arquivos anexados nesta mensagem.
|
| 02 Jan 2009, 19:10 |
|
 |
|
robsonoracle
What is AVD?
Data de registro: 10 Nov 2008, 16:10 Mensagens: 13
|
 Re: [TUTORIAL] Trabalhando com Banco de Dados SQLite no Android
Olá amigos, Resolvi o problema de chamar a janela pesquisar, onde faltava apenas acrescentar no arquivo AndroidManifest.xml a classe Pesquisas. Só que na execução da classe Pesquisas, quando eu começo a digitar aparece a lista de todas as pessoas cadastradas, porém ele não filtra, alguém fez o filtro funcionar. Por exemplo, eu digito Ana, mas ele continua listando tudo, e não lista apenas as pessoas que começam com o nome Ana. O método pesquisar alterado para a versão 1.0 é o mostrado abaixo, eu deixei as partes em comentário para vocês terem idéia das substituições que tive que fazer: private void pesquisar (String t ){ ArrayAdapter<String> fileList = null; SQLiteDatabase bd = null; vector. clear(); Pessoa pessoa = null; try { //bd = openDatabase(Trabalho.nomeBancoDeDados,null); //abre a conexão 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 adiciona a o resultado da consulta no objeto Cursor ArrayList<String> result = new ArrayList<String> (); //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 visão da lista result. add(c. getString(c. getColumnIndex("nome")) + " - "+c. getString(c. getColumnIndex("telefone"))+ " - "+ c. getString(c. getColumnIndex("data"))); } fileList = new ArrayAdapter<String> (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 conexão com o banco de dados } } Se alguém tiver idéia do que pode ser eu agradeço a ajuda. Um abraço a todos e um ótimo 2009 Robson
|
| 05 Jan 2009, 13:10 |
|
 |
|
Spessotto
What is DDMS?
Data de registro: 18 Out 2009, 22:33 Mensagens: 35
|
 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 aplicação rodar no emulador..alguem pode me 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 botão 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 botão 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!"); } }} valews! Rafael Spessotto
|
| 23 Out 2009, 15:18 |
|
 |
|
Scariot
What is Android?
Data de registro: 29 Set 2009, 15:38 Mensagens: 7
|
 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!
|
| 26 Out 2009, 10:28 |
|
 |
|
Luis
What is Android?
Data de registro: 07 Mai 2010, 19:09 Mensagens: 1
|
 Re: [TUTORIAL] Trabalhando com Banco de Dados SQLite no Android
o que esta causando erro é a tabela criada com VARCHAR2
|
| 07 Mai 2010, 19:12 |
|
 |
|
jackson.alfonso
What is Android?
Data de registro: 04 Dez 2009, 14:28 Mensagens: 1
|
 Re: [TUTORIAL] Trabalhando com Banco de Dados SQLite no Android
 Puderá todos compartilhassem seu conhecimento assim, ainda mas para pessoas que buscam informações para iniciar, valeu muito obrigado, excelente material !!!!
|
| 05 Out 2010, 11:14 |
|
 |
|
juniorsatanasX
What is AVD?
Data de registro: 02 Fev 2011, 14:58 Mensagens: 14
|
 Re: [TUTORIAL] Trabalhando com Banco de Dados SQLite no Android
Alguém tem os fontes postado ?
Obrigado !
|
| 03 Fev 2011, 17:39 |
|
 |
|
asmag
What is AVD?
Data de registro: 30 Jan 2011, 23:05 Mensagens: 14
|
 Re: [TUTORIAL] Trabalhando com Banco de Dados SQLite no Android
Bom dia!
Fiz todo o procedimento e estou rodando no SDK 2.1 API versão 7 porém dá a seguinte mensagem de erro:The application com.Trabalho has stopped an unexpectedly. Alguém teria alguma idéia de como eu faço para debugar minha aplicação Android?
|
| 23 Mar 2011, 10:37 |
|
 |
|
ribeirot
What is AVD?
Data de registro: 05 Jul 2011, 22:45 Mensagens: 14 Localização: Serra - ES
|
 Re: [TUTORIAL] Trabalhando com Banco de Dados SQLite no Andr
Meu amigo eu fiz o download dessa versao corrigida por vc mas com erro no botao pesquisa eu tentei rodar aqui nomeu eclipse e deu vario erros eu nem conseguir compilar o projeto. Na versao anterior eu conseguir acertar algumas coisas com seu tutorial mas ainda existia problemas. Vc tem a versao final desse projeto? robsonoracle escreveu: Oi Marlus, Excelente tutorial, e eu passei ele para a versão 1.0 do compilador, onde substitui principalmente os seguintes pontos: 1) //startSubActivity(intentPesquisar, 0); Eu substitui por: startActivityForResult(intentPesquisar, 0); 2) //showAlert("ERRO", 1, "Não foi possivel criar" // + " o banco de dados ", "ok", true); Eu substitui por: showDialong("Erro. Não foi possível 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. */ private void showDialong(CharSequence s) { Builder builder = new AlertDialog.Builder(Trabalho.this); // cria um objeto do tipo builder builder.setTitle("Informação."); //seta o titulo coma frase informação builder.setMessage(s); //seta a mensagem passada como parâmetro AlertDialog alert = builder.create(); //Cria um objeto do 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 } 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 não exista // banco = openDatabase(nomeBanco, null); // abrir a conexão com o banco de dados Eu substitui por: banco = openOrCreateDatabase(nomeBanco, 0, null); Agora está sem erro de compilação, porém quando eu executo ele carega a janela certo, mas quando clico no botão Pesquisar ele mostra uma mensagem de exceção e não carrega a janela e fecha a aplicação. O método que faz esta chamada eu tive que substituir conforme havia descrito anteriormente: Onde era: startSubActivity(intentPesquisar, 0); Eu substitui por: startActivityForResult(intentPesquisar, 0); Peço ao guitarro17 que disse que conseguiu consertar para ver se passou por esta situação e como a resolveu ou então a vc Marlus caso tenha idéia. Um abraço a todos e obrigado Robson PS: O fonte está em anexo para análise.
_________________ Ribeirot Eclipse 3.5 SDK 12 Celular Xperia Mini Pro
|
| 16 Ago 2011, 14:56 |
|
 |
|
thiprogramador
Android application
Data de registro: 01 Nov 2010, 17:29 Mensagens: 93
|
 Re: [TUTORIAL] Trabalhando com Banco de Dados SQLite no Andr
Marlus Dias Silva escreveu: julianafsa escreveu: Olá pessoal, Estou precisando criar um banco de dados no Android, via SQLiteDatabase, mas eu não estou conseguindo. Não 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 código 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"); } Mas sempre dá o seguinte erro: Failed to open database file "sdm" - unable to open database file Alguém 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 não tive sucesso, se vc conseguir post para podermos compartilhar mais conhecimentos t++ É porque o SqliDatabase precisa de um contexto que na verdade é um item que precisa ser filho da classe Context. Para isso você tem que utilizar a classe Context e passar um Context para a sua classe que controla a criação do banco de dados. É por isso que muita gente cria banco utilizando os métodos dentro de uma Activity, pois uma Activity é um Context. Não está muito bem explicado, pois isso eu aprendi sozinho e não sei passar para outras pessoas, mas informações acesse: http://developer.android.com/reference/ ... ntext.html
_________________ Não existem problemas e sim soluções!
|
| 24 Ago 2011, 14:14 |
|
 |
|
antunes
Dalvik Virtual Machine
Data de registro: 05 Abr 2011, 03:47 Mensagens: 1844 Localização: Rio de Janeiro
|
 Re: [TUTORIAL] Trabalhando com Banco de Dados SQLite no Andr
Galera, Se o problema é o Context, basta vc passá-lo para a classe que está "cuidando" do banco (que seria o seu DAO), pelo construtor. Já que vc terá que criar o banco na sua primeira activity mesmo. Banco db = new Banco(this); Abraços!
_________________Alexandre Antunes @a3b @bemobiMotorola Defy App: IpCalc : Source - Calculadora IP (Máscara, Gateway, Broadcast e Rede). APP: Guia Carioca - Guia para o turista que visita o Rio de Janeiro e para o carioca que quer conhecer mais sua cidade. App: MyPonto - Controle de frequência (ponto) pessoal. Campanha: Facilite sua vida e a dos outros usuários. Objetivo: Vamos colocar a tag [RESOLVIDO] no título do tópico quando o problema for resolvido.Use a ferramenta de busca do fórum e não espere tanto para que a sua dúvida seja respondida!Quer trabalhar comigo??
|
| 25 Ago 2011, 04:20 |
|
 |
|
thiprogramador
Android application
Data de registro: 01 Nov 2010, 17:29 Mensagens: 93
|
 Re: [TUTORIAL] Trabalhando com Banco de Dados SQLite no Andr
É isso ae antunes, só lembrando que pode ser chamado dentro de qualquer classe que seja uma Activity, pois uma Activity é um Context e não necessáriamente na primeira tela.
Mas, se você quer criar o banco antes de rodar sua aplicação, tem que fazer o que o antunes disse, é só chamar o construtor a Activity principal da sua aplicação.
Blz, acho que está resolvido!
_________________ Não existem problemas e sim soluções!
|
| 25 Ago 2011, 13:13 |
|
 |
|
Felipe No0b
Android application
Data de registro: 08 Set 2011, 14:59 Mensagens: 66 Localização: Canoas, RS
|
 Re: [TUTORIAL] Trabalhando com Banco de Dados SQLite no Andr
Oi gente eu estou com mais uma dúvida com relaçao ao cursor e consulta de dados.Analisando esse exemplo, eu entendi que nestes campos: 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")));
o objeto cursor terá apenas 1 registro para cada campo.Mas quando tiver mais de um registro, por exemplo, um "id" estiver relacionado com "n" registros de "telefone", como seria a sintaxe para resgatar estes registros? []'s
|
| 03 Out 2011, 16:57 |
|
 |
|
luiswagner
What is ADT?
Data de registro: 15 Dez 2010, 09:33 Mensagens: 26 Localização: Limeira,SP
|
 Re: [TUTORIAL] Trabalhando com Banco de Dados SQLite no Andr
Boa tarde.
Será que alguém poderia fazer a gentileza de colocar o código fonte deste exemplo acima atualizado e corrigido. Será de grande importância para quem esta começando e estudando java assim como eu.. Abraços a todos.
Grato Wagner
_________________Luis Wagner dos Santos luis.wagner@gmail.comCampanha: Facilite sua vida e a dos outros usuários Objetivo: Vamos colocar a tag [RESOLVIDO] no título do tópico quando o problema for resolvido
|
| 20 Out 2011, 16:33 |
|
 |
|
tgofdr
What is Android?
Data de registro: 23 Out 2011, 20:16 Mensagens: 1
|
 Re: Trabalhando com o Banco de Dados SQLite no Android.
Marlus Dias Silva escreveu: jijo escreveu: Muito bom Marlus, ainda não botei pra rodar (falta de tempo pra mexer no android), mas olhando por cima, acho que você se esqueceu de postar a classe pessoa não?!
abraço Verdade esqueci sim daki a pouco vou upar ela negocio que não to com o pc que desenvolvi a aplicação até as 3 da tarde já vai estar a classe pessoa e o projeto zipado só para baixar e executar Opa blz? Aonde que eu consigo baixar o zip com o código?
|
| 23 Out 2011, 20:21 |
|
 |
|
AleSR
Android application
Data de registro: 14 Out 2011, 16:02 Mensagens: 88
|
 Re: [TUTORIAL] Trabalhando com Banco de Dados SQLite no Andr
Muito bom esse tutorial! Me ajudou muito na questão de listar dados do bd. Só que eu tenho uma dúvida: é possível separar os dados listados em colunas? É que no tutorial os dados são separados por um hífen, e minha listview ficou meio "bagunçada" utilizando esse método. Desde já agradeço qualquer ajuda! 
|
| 27 Out 2011, 14:05 |
|
 |
|
laurovitor
What is Android?
Data de registro: 04 Nov 2011, 09:53 Mensagens: 6
|
 Re: [TUTORIAL] Trabalhando com Banco de Dados SQLite no Andr
julianafsa escreveu: Olá pessoal, Estou precisando criar um banco de dados no Android, via SQLiteDatabase, mas eu não estou conseguindo. Não 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 código 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"); } Mas sempre dá o seguinte erro: Failed to open database file "sdm" - unable to open database file Alguém poderia me ajudar? Obrigada, Ola, bom sei que sua duvida e antiga e já ate deve ter resolvido mas como não foi facio achar a resposta pra mim resolvi compartilhar ela com vocês import android. content. Context; import android. database. Cursor; import android. database. sqlite. SQLiteDatabase; import android. util. Log; public class dbSQLite { public SQLiteDatabase dataBase = null; public Cursor cursor; private Context context; public dbSQLite (Context context ){ this. context = context; } public void iniciaBanco (){ try{ dataBase = context. openOrCreateDatabase("android_database", Context. MODE_WORLD_READABLE, null); String query = "CREATE TABLE IF NOT EXISTS \"cadastro\" (CODIGO integer NOT NULL PRIMARY KEY AUTOINCREMENT,NOME varchar(50) NOT NULL"; dataBase. execSQL(query ); }catch(Exception erro ){ Log. e("DATABASE", "Erro ao iniciar o banco: "+erro ); } } public void fecharBanco (){ try{ dataBase. close(); }catch(Exception erro ){ Log. e("DATABASE", "Erro ao finalizar o banco: "+erro ); } } } pra chamar e simples... dbSQLite dataBase = new dbSQLite(this); dataBase.iniciaBanco();
|
| 04 Nov 2011, 10:02 |
|
 |
|
gabriellacerda
Android application
Data de registro: 16 Jun 2011, 22:11 Mensagens: 51
|
 Re: [TUTORIAL] Trabalhando com Banco de Dados SQLite no Andr
olá, como eu posso saber se o banco realmente foi criado, pois minhas consultas não estão retornando nada... nem da erro na hora de inserir nem de consultar...
vlw
|
| 06 Nov 2011, 13:20 |
|
 |
|
laurovitor
What is Android?
Data de registro: 04 Nov 2011, 09:53 Mensagens: 6
|
 Re: [TUTORIAL] Trabalhando com Banco de Dados SQLite no Andr
gabriellacerda escreveu: olá, como eu posso saber se o banco realmente foi criado, pois minhas consultas não estão retornando nada... nem da erro na hora de inserir nem de consultar...
vlw posta o código da criação do bando e o da consulta assim da pra ajudar.
|
| 07 Nov 2011, 16:37 |
|
 |
|
gabriellacerda
Android application
Data de registro: 16 Jun 2011, 22:11 Mensagens: 51
|
 Re: [TUTORIAL] Trabalhando com Banco de Dados SQLite no Andr
opa, lauro... já consegui resolver... era o nome da tabela que tava errado na consulta... vlw...
|
| 07 Nov 2011, 17:10 |
|
 |
|
bordalotx
What is Android?
Data de registro: 20 Fev 2012, 20:50 Mensagens: 1
|
 Re: [TUTORIAL] Trabalhando com Banco de Dados SQLite no Andr
Boas...
É possível arranjar este projeto na ultima versão do sdk? Pois eu não consigo compilar... dá erros!!!
Obrigado
|
| 21 Fev 2012, 22:39 |
|
 |
|
douglas.costa
Anatomy of an App
Data de registro: 30 Dez 2011, 09:10 Mensagens: 118
|
 Re: [TUTORIAL] Trabalhando com Banco de Dados SQLite no Andr
onde fica instalado o arquivo do banco de dados qndo eu instalo o apk no meu aparelho?
|
| 03 Abr 2012, 17:57 |
|
 |
|
rafaelsandim
What is Android?
Data de registro: 27 Jul 2012, 09:34 Mensagens: 8
|
 Re: [TUTORIAL] Trabalhando com Banco de Dados SQLite no Andr
Oi, eu armazenei uma path de um arquivo no banco de dados e quando tento recuperar da erro, o path seria algo como "/mnt/sdcard/folder/", na hora de armazenar está de boa e se eu recupero todos os dados do banco tbm obtenho certinho o path porém quando eu tento recuperar a tupla utilizando no where um path especifico, por exemplo: Cursor c = dbHandler. db. query("conteudos", new String[] {"_id", "name", "path"}, "path=/mnt/sdcard/folder/", null, null, null, null); Quando executa está linha meu app trava, e no LogCat o erro que é apresentado é o seguinte: 07-27 14:05:57.219: I/SqliteDatabaseCpp(20301): sqlite returned: error code = 1, msg = near "/": syntax error,... Acredito que seja algum tipo de formatação dos caracteres de '/' do sqlite, lembro para para alguns db por exemplo temos que colocar entre aspas simples entre a string e talz. Alguém sabe como resolver este problema?
|
| 28 Jul 2012, 13:23 |
|
 |
|
thiprogramador
Android application
Data de registro: 01 Nov 2010, 17:29 Mensagens: 93
|
 Re: [TUTORIAL] Trabalhando com Banco de Dados SQLite no Andr
gabriellacerda escreveu: olá, como eu posso saber se o banco realmente foi criado, pois minhas consultas não estão retornando nada... nem da erro na hora de inserir nem de consultar...
vlw Use a pespectiva DDMS no eclipse, navegue até a aba File Explorer, procure pelo seu projeto seguido do pacote e dentro deste vai ter uma pasta chamada databases. Se tiver essa pasta, abra-a e veja se tem um arquivo com o nome do banco que você criou. Assim você ver se o banco está criado ou não. Outra forma é acessar o emulador via console do seu computador, mas esse método é mais complicado. Abraços!
_________________ Não existem problemas e sim soluções!
|
| 22 Ago 2012, 14:11 |
|
|
|
Página 1 de 1
|
[ 40 Mensagens ] |
|
Quem está online |
Usuários vendo este fórum: abruzzi, adautox, Adeja, adilson.afl, Alexandre de Queiroz, alexandrefett, alexandrepom, alexcost2002, arilsonm, attomweb, augustomig, berchielli, BloggerCaOS, blurkness, BMaia, BOMBER27, Bruno, burujo, careisjr, Carla Luz, cehills, charly, china, christian, cleber, craudiao, DaDih*, DAVINCE, dchechetto, debal, deivisonrpg, dentimskol, dfreitas, dkclan, Dorpho, e-azuos, Eliezer Reis, espinhara.net, estratec, fabiano_eletro, faco, fcoroa, fernandofsf, Filipe larizzatti, Flavio, flaviolemos, Flávio Robertgo, fmakula, freak, free_w3000, Gabriel, Gabriel Teófilo, Gomes, gphonemania, Guilherme Cobain, heliopassos, Henrique Ferraz, icarodavi, igor_meneguzzo, ijsilvestre, iuri_freire, jairodealmeida, Jaison, jandersonjc, Jango Fett, jhou, jmarcos14, jorgecardoso, João Miguel Aguiar, jpespindola, juliherms, kecyobarros, Ki-Adi-Mundi, Kureiton, lafamac, lanlan, laucode, leanderdulac, leandroviana, Legiao, leofernandesmo, LForce, Lincoln, loferreira, LucasNascimento, lucianoedipo, lufreitas, luiz, luizcesar, luizneto79, Luke Skywalker, m4v0, malucouto, maolveira, mapis, mayahaslinger, mcroft, mikasjau, mirelli, mmfsndroid, mrangel, mravel, mvoto, neuhaus, nfaria, nobrejack, nullPointer, o-raposa, otium, paulabr, pedro, persiomotta, phfmendes, piantino, Princesa Léia Organa, pxcx, rafaelmonoh, Rainha Amidala/Padmé, regeriob2br, reginaldofdias, Renan, ricardo, Roberto, rodrigo_corinthians, rodrigosalfer, rogeriopgomes, romuloigor, romulotales, Roney dos Santos, rtodao, samuel.cavanieri, Shinigami, suissa, suportecr, the_hulk_knifer, Thiago, tirloni, tonholis, Vector, voliverio, waideman, williamcmello, WiseNut, wylken, xGambit e 2 visitantes |
|
Você não pode criar novos tópicos neste fórum Você não pode responder tópicos neste fórum Você não pode editar suas mensagens neste fórum Você não pode excluir suas mensagens neste fórum Você não pode enviar anexos neste fórum
|
|