|
Página 1 de 1
|
[ 2 Mensagens ] |
|
SQLite - Criar,acessar,atualizar e deletar registros
| Autor |
Mensagem |
|
jahjah_sjs
What is AVD?
Data de registro: 24 Set 2012, 21:17 Mensagens: 15
|
 SQLite - Criar,acessar,atualizar e deletar registros
Estou desesperado, preciso de uma ajuda para Criar uma tabela que existirá dados como, Nome, Idade, Energia, Nivel, Força, Velocidade... Já peguei diversos exemplos, e não consigo sair do lugar. Eu até consigo Criar o banco, e sei que os dados estão lá, porém estou com dificuldades para acessar os dados em uma outra classe. Por exemplo, tenho uma classe cadastro, dentro dela, mas preciso que uma classe chamada principal, acesse os dados...
Tem como ?
|
| 17 Out 2012, 22:23 |
|
 |
|
LuCk
Android application
Data de registro: 06 Set 2012, 11:31 Mensagens: 96
|
 Re: SQLite - Criar,acessar,atualizar e deletar registros
Boas essa e a minha classe que utilizo. metes a base dados no assets  abraços ackage com. example. test2; import java. io. FileOutputStream; import java. io. IOException; import java. io. InputStream; import java. io. OutputStream; import java. util. Date; import android. content. ContentValues; import android. content. Context; import android. database. Cursor; import android. database. SQLException; import android. database. sqlite. SQLiteDatabase; import android. database. sqlite. SQLiteException; import android. database. sqlite. SQLiteOpenHelper; import android. text. format. DateFormat; import android. util. Log; public class DatabaseHelper extends SQLiteOpenHelper { /** * Este é o endereço onde o android salva os bancos de dados criado pela aplicação, * /data/data/<namespace da aplicacao>/databases/ */ private static String DBPATH = "/data/data/com.example.test2/databases/"; // Este é o nome do banco de dados private static String DBNAME = "scaDB.db"; private static String TAG = "DatabaseHelper:"; //private SQLiteDatabase db; private SQLiteDatabase myDataBase; private Context context; /** * O construtor necessita do contexto da aplicação */ public DatabaseHelper (Context context ) { /* O primeiro argumento é o contexto da aplicacao * O segundo argumento é o nome do banco de dados * O terceiro é um pondeiro para manipulação de dados * O quarto é a versão do banco de dados */ super(context, "scaDB.db", null, 1); Log. i(TAG, "DatabaseHelper Construtor"); this. context = context; } /** * Os métodos onCreate e onUpgrade precisam ser sobreescrito */ @Override public void onCreate (SQLiteDatabase db ) { /* * Estamos utilizando o banco do assets, por isso o * código antigo deste método não é mais necessário. */ Log. i(TAG, "onCreate"); } @Override public void onUpgrade (SQLiteDatabase db, int oldVersion, int newVersion ) { /* * Estamos criando a primeira versão do nosso banco de dados, * então não precisamos fazer nenhuma alteração neste método. * */ Log. i(TAG, "onUpgrade"); } /** * Método auxiliar que verifica a existencia do banco * da aplicação. */ private boolean checkDataBase () { SQLiteDatabase db = null; try { String path = DBPATH + DBNAME; db = SQLiteDatabase. openDatabase(path, null, SQLiteDatabase. OPEN_READONLY); db. close(); Log. i(TAG, "checkDataBase"); } catch (SQLiteException e ) { // O banco não existe Log. d(TAG, "banco dados não existe"); } // Retorna verdadeiro se o banco existir, pois o ponteiro irá existir, // se não houver referencia é porque o banco não existe return db != null; } private void createDataBase () throws Exception { // Primeiro temos que verificar se o banco da aplicação // já foi criado boolean exists = checkDataBase (); if(!exists ) { // Chamaremos esse método para que o android // crie um banco vazio e o diretório onde iremos copiar // no banco que está no assets. this. getReadableDatabase(); Log. i(TAG, "createDataBase "); // Se o banco de dados não existir iremos copiar o nosso // arquivo em /assets para o local onde o android os salva try { copyDatabase (); } catch (IOException e ) { Log. d(TAG, "Erro ao copiar arquivo"); throw new Error("Não foi possível copiar o arquivo"); } } } /** * Esse método é responsável por copiar o banco do diretório * assets para o diretório padrão do android. */ private void copyDatabase () throws IOException { String dbPath = DBPATH + DBNAME; // Abre o arquivo o destino para copiar o banco de dados OutputStream dbStream = new FileOutputStream(dbPath ); Log. i(TAG, "copyDatabase "); // Abre Stream do nosso arquivo que esta no assets InputStream dbInputStream = context. getAssets(). open("scaDB.db"); byte[] buffer = new byte[1024]; int length; while ((length = dbInputStream. read(buffer )) > 0) { dbStream. write(buffer, 0, length ); } dbInputStream. close(); dbStream. flush(); dbStream. close(); } public SQLiteDatabase getDatabase () { try{ // Verificando se o banco já foi criado e se não foi o // mesmo é criado. createDataBase (); // Abrindo database String path = DBPATH + DBNAME; Log. i(TAG, "getDatabase"); return SQLiteDatabase. openDatabase(path, null, SQLiteDatabase. OPEN_READWRITE); }catch (Exception e ) { Log. d(TAG, "retornar banco de dados"); // Se não conseguir copiar o banco um novo será retornado return getWritableDatabase (); } } /* public void openDataBase() throws SQLException{ //Open the database String myPath = DBPATH + DBNAME; myDataBase = SQLiteDatabase.openDatabase(myPath, null, SQLiteDatabase.OPEN_READWRITE); } @Override public synchronized void close() { if(myDataBase != null) myDataBase.close(); super.close(); }*/ public Cursor getCartao (String id, boolean needAll ) { String[] args = null; String query = "Select * from TAB_UTENTES"; Log. i(TAG, "getCartao"); if(!needAll ){ query += " WHERE CARTAO = ?"; args = new String[]{id }; } return (getReadableDatabase (). rawQuery(query, args )); } public Cursor getActividades (String id, boolean needAll ) { String[] args = null; String query = "SELECT * FROM TAB_ACTIVIDADE"; Log. i(TAG, "getActividades"); if(!needAll ){ query += " WHERE UTENTE_ID = (SELECT ID FROM TAB_UTENTES WHERE CARTAO = ?)"; args = new String[]{id }; } return (getReadableDatabase (). rawQuery(query, args )); } public Cursor verfMovimento (String Cartao ) { String[] args = null; String query = "SELECT MAX(ROWID),CARTAO,TABTIPMOV_ID from MOVIMENTOS"; Log. i(TAG, "verfMovimento"); query += " WHERE CARTAO = ?"; args = new String[] { Cartao }; return (getReadableDatabase (). rawQuery(query, args )); } public void InserirMovimentos (String _CARTAO, String _LEITOR_ID, int _TABTIPMOV_ID, String currentDateTimeString ) { try { String[] args = null; String query = "INSERT INTO MOVIMENTOS (CARTAO,LEITOR_ID,TABTIPMOV_ID,DATAMOV) " + "VALUES ('"+_CARTAO+ "'," + "'"+_LEITOR_ID+ "'," + "'"+_TABTIPMOV_ID+ "'," + "'"+currentDateTimeString+ "')"; Log. i(TAG, "Função - InserirRegistos"); getWritableDatabase (). execSQL(query ); } catch( SQLException ex ) { Log. i(TAG, "Exception: " + ex. getMessage()); } finally { getWritableDatabase (). close(); } } }
_________________ Sanou a sua dúvida ou resolveu o seu problema? 1º -> Compartilhe a solução postando-a, as pessoas com a mesma dúvida ou problema agradecem. 2º -> Adicione ao título do tópico "[RESOLVIDO]" para que os moderadores identifiquem que o seu tópico foi realmente resolvido.
|
| 18 Out 2012, 06:23 |
|
|
|
Página 1 de 1
|
[ 2 Mensagens ] |
|
Quem está online |
Usuários vendo este fórum: abruzzi, Adeja, akaytatsu, Alan Unger, alansousa, alexandre, alexandreizumi, aluclinux, Ask Jeeves, attomweb, baudamix, bbourbon, Beru Lars, Biel, BiG_SerGiO, Biggs Darklighter, Bitor, boydivalor, bozzano, brenda, BTalhadas, caliow, careisjr, carlos rodrigues, Carmizini, cassiano, Clauber, claudio, cleiton_maciel, Costa, danilosouza, danilosv, dbuarque, Delão, dobau, edlinux, Felipe Marcondes, felipedornelas, felipetesc, Flavio, flaviojps, fmakula, gabrielpg, gamito, Geovanne Duarte, guto.pro, HanNiBaLSeTDf, hbarroco, helder84, heliopassos, hostdesigner, hugomarinho, ice, interservic, jacquesbica, Jless@, jmarcos14, Joessi2007, juliana_costa, juliaojunior, juniorfranca, konos, lalaine, laucode, Lelinho, leoadias, Leonardo, leosl81, Lincoln, loferreira, LucasNascimento, luizfilipe, Luke Skywalker, m4v0, Marcelo Lima, marcosandreao, mayahaslinger, Moisés Souto, n3t0, nilsgome, nina.rm, nivea, nocivus, onaiggac, pabarbosa, pamonteiro, Philipe Alves, PicsearchDroid, R2-D2, renatocoliveira, retardad0, ricdigital, rmendes, rocha, rodrigo_mg, Rubens Prates, ScoobyGB, sergio, shadow, Shinigami, sidnei.gs, SidneiCP, siker C3PO, sjta, soulmachine, Synoo [Bot], taluna, Telekom [Bot], the_hulk_knifer, tiagocordeiro, tiagoxv, tirloni, ttaranto, vaniuz, VIEIRIX, voliverio, washington, Webnet e 1 visitante |
|
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
|
|