O erro provavelmente esta aqui
private GerenciaBanco gerenciaDataBase = new GerenciaBanco(this);
Tive esse problema tambem pois eu criava o gerenciador na hora de criar a classe, mas nesse instante o context não esta criado.
Sugiro que você mude crie o objeto gerenciaDataBase dentro do onCreate depois que executar o super.oncreate(xxxx);
Ficaria + ou - assim
GerenciaBanco gerenciaDataBase;
@override
protected void onCreate(xxxxxxxx){
super.onCreate(xxxxx);
gerenciaDataBase = new GerenciaBanco(this);
}
Testa ai me da um terno.
gerenciaDataBase = new GerenciaBanco(this);
Em 27 de janeiro de 2012 13:38, Fabiano - Carioca <fabianobalmeida@gmail.com> escreveu:
Segue
package br.com.mylims.auxiliares;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;
public class GerenciaBanco extends SQLiteOpenHelper{
private static final int DATABASE_VERSION = 1;
private static final String DATABASE_NAME = "mylimsColeta";
private static final String CATEGORIA = "coleta";
private static final String COLETA = "CREATE TABLE IF NOT EXISTS
COLETA (" +
"IDAUXCOLETA INTEGER PRIMARY KEY NOT NULL, " +
"IDAUXPROCESSO INTEGER," +
"IDCOLETA VARCHAR(250)," +
"DTPREVISTA DATETIME," +
"DTAGENDA DATETIME, " +
"OBSCOLETA TEXT)";
private static final String EMPRESA = "CREATE TABLE IF NOT EXISTS
EMPRESA (" +
"IDAUXEMPRESA INTEGER PRIMARY KEY NOT NULL," +
"NMFANTASIA VARCHAR(250) NOT NULL," +
"NMCONTATO VARCHAR(250) NOT NULL, " +
"SOBRENOME VARCHAR(255), " +
"NMAREACONTATO VARCHAR(255)," +
"DDD VARCHAR(250), " +
"FONE VARCHAR(250), " +
"RAMAL VARCHAR(250), " +
"DDDCELULAR VARCHAR(250)," +
"CELULAR VARCHAR(250))";
private static final String CFGFTP = "CREATE TABLE IF NOT EXISTS
CFGFTP (" +
"CDFTP INTEGER PRIMARY KEY NOT NULL, " +
"IPFTP VARCHAR(250) NOT NULL," +
"LOGINFTP VARCHAR(250) NOT NULL," +
"SENHAFTP VARCHAR(250) NOT NULL)";
private static final String USUARIO = "CREATE TABLEIF NOT EXISTS
USUARIO (" +
"CDUSUARIO INTEGER PRIMARY KEY NOT NULL," +
"NMUSUARIO VARCHAR(250) NOT NULL," +
"LOGIN VARCHAR(250) NOT NULL, " +
"SENHA VARCHAR(250) NOT NULL, " +
"CDFTP INTEGER NOT NULL, " +
"CONSTRAINT [PK_USUARIO] PRIMARY KEY (CDUSUARIO))";
private static final String AMOSTRA ="CREATE TABLE IF NOT EXISTS
AMOSTRA (" +
"CDAMOSTRA INTEGER PRIMARY KEY NOT NULL," +
"IDAMOSTRA VARCHAR(250), " +
"IDPROCESSO VARCHAR(250), " +
"IDAUXPROCESSO INTEGER, " +
"DTPREVISTA DATETIME, " +
"DTCOLETA DATETIME, " +
"FLCOLETADA CHAR(1) NOT NULL," +
"DTDOWNLOAD DATETIME, " +
"DTUPLOAD DATETIME, " +
"ENDERECOCOLETA VARCHAR(250)," +
"OBSERVACAO VARCHAR(250)," +
"CDUSUARIO INTEGER NOT NULL," +
"IDAUXCOLETA INTEGER NULL," +
"IDAUXEMPRESA INTEGER NOT NULL," +
"CONSTRAINT [PK_AMOSTRA] PRIMARY KEY (CDAMOSTRA)," +
"FOREIGN KEY (CDUSUARIO) REFERENCES USUARIO(CDUSUARIO) ON UPDATE
CASCADE ON DELETE CASCADE," +
"FOREIGN KEY (IDAUXCOLETA) REFERENCES COLETA(IDAUXCOLETA) ON UPDATE
CASCADE ON DELETE CASCADE)";
private static final String GRPINFO ="CREATE TABLE IF NOT EXISTS
GRPINFO(" +
"CDGRPINFO INTEGER PRIMARY KEY NOT NULL," +
"NMGRPINFO VARCHAR(250))";
private static final String INFO ="CREATE TABLE IF NOT EXISTS INFO("
+
"CDINFO INTEGER PRIMARY KEY NOT NULL," +
"NMINFO VARCHAR(250) NOT NULL, " +
"CDTIPODADO INTTEGER NOT NULL))";
private static final String INFOSAMOSTRA = "CREATE TABLE IF NOT
EXISTS INFOSAMOSTRA(" +
"CDAMOSTRA INTEGER KEY NOT NULL, " +
"CDINFO INTEGER NOT NULL, " +
"CDGRPINFO INTEGER NOT NULL," +"VLINFO VARCHAR(250), " +
"FLOBRIGATORIO CHAR(1) NOT NULL, " +
"FOREIGN KEY (CDINFO) REFERENCES INFO(CDINFO) ON DELETE CASCADE ON
UPDATE CASCADE, " +
"FOREIGN KEY (CDGRPINFO) REFERENCES GRPINFO(CDGRPINFO) ON DELETE
CASCADE ON UPDATE CASCADE, " +
"FOREIGN KEY (CDAMOSTRA) REFERENCES AMOSTRA(CDAMOSTRA) ON DELETE
CASCADE ON UPDATE CASCADE)";
private static final String OPCOESINFO = "CREATE TABLE IF NOT EXISTS
OPCOESINFO (" +
"CDINFO INTEGER PRIMARY KEY NOT NULL, " +
"CDOPCAO INTEGER NOT NULL, " +
"NMOPCAO VARCHAR(250), " +
"DESCOPCAO VARCHAR(250))";
public GerenciaBanco(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
try {
db.execSQL(CFGFTP);
//db.execSQL(USUARIO);
//db.execSQL(EMPRESA);
//db.execSQL(GRPINFO);
//db.execSQL(INFO);
//db.execSQL(OPCOESINFO);
//db.execSQL(COLETA);
//db.execSQL(AMOSTRA);
//db.execSQL(INFOSAMOSTRA);
} catch (Exception e) {
Log.i(CATEGORIA, "ERRADO: " + e);
}
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int
newVersion) {
> Em 27 de janeiro de 2012 13:16, Fabiano - Carioca <fabianobalme...@gmail.com
}
}
On 27 jan, 13:23, Clebão - EcoCentauro <cleba...@gmail.com> wrote:
> Cola para mim a classe GerenciaBanco por favor.
>
> ...>
>
>
>
>
>
>
> > escreveu:
> > Corrigindo pergunta: Clebão você acha que o erro está na criação dos
> > campos?
>
> > On 27 jan, 13:15, Fabiano - Carioca <fabianobalme...@gmail.com> wrote:
> > > Clebão você acha que o erro está na dos campos?
>
> > > On 27 jan, 13:10, Fabiano - Carioca <fabianobalme...@gmail.com> wrote:
>
> > > > não foi irmão
>
> > > > On 27 jan, 12:52, Clebão - EcoCentauro <cleba...@gmail.com> wrote:
>
> > > > > tenta alterar a criação da PRIMARY KEY
>
> > > > > campa INTEGER PRIMARY KEY,
>
> > > > > Em 27 de janeiro de 2012 11:54, Renato Porto Puccini <
> > > > > renatoppucc...@gmail.com> escreveu:
>
> > > > > > Maravilha!!!
>
> > > > > > legal que meu posto ajudou. E que mundo pequeno mesmo!!!
> > > > > > abraços e sucesso ae Fabiano!!
>
> > > > > > ------------------------------------------
> > > > > > Renato Porto Puccini<
> >http://www.linkedin.com/profile/view?id=58956239&trk>
> > > > > > renatopuccinipt.com
> > > > > > @renatoporto <http://twitter.com/renatoporto>
> > > > > > renatoppucc...@gmail.com
> > > > > > ------------------------------------------
>
> > > > > > 2012/1/27 Fabiano - Carioca <fabianobalme...@gmail.com>
>
> > > > > >> alterei e deu o mesmo resultado cara.
>
> > > > > >> On 27 jan, 11:35, Renato Porto Puccini <renatoppucc...@gmail.com>
> > > > > >> wrote:
> > > > > >> > cara, pelo que eu vi, é um erro no sql.
> > > > > >> > você colocou o ponto e virgula dentro do seu create.
>
> > > > > >> > CREATE TABLE IF NOT EXISTS GRPINFO
> > > > > >> > (" +
> > > > > >> > "CDGRPINFO INTEGER NOT NULL," +
> > > > > >> > "NMGRPINFO VARCHAR(250), " +
> > > > > >> > "CONSTRAINT [PK_GRPINFO] PRIMARY KEY (CDGRPINFO*);*)
>
> > > > > >> > tem que colocar depois do parentesis.
>
> > > > > >> > CREATE TABLE IF NOT EXISTS GRPINFO
> > > > > >> > (" +
> > > > > >> > "CDGRPINFO INTEGER NOT NULL," +
> > > > > >> > "NMGRPINFO VARCHAR(250), " +
> > > > > >> > "CONSTRAINT [PK_GRPINFO] PRIMARY KEY (CDGRPINFO*)*);
>
> > > > > >> > Então ele não consegue criar o banco, e dae o objeto que vc
> > recebe é
> > > > > >> null.
>
> > > > > >> > ------------------------------------------
> > > > > >> > Renato Porto Puccini <
> > > > > >>http://www.linkedin.com/profile/view?id=58956239&trk>
> > > > > >> > renatopuccinipt.com
> > > > > >> > @renatoporto <http://twitter.com/renatoporto>
> > > > > >> > renatoppucc...@gmail.com
> > > > > >> > ------------------------------------------
>
> > > > > >> > 2012/1/27 Fabiano - Carioca <fabianobalme...@gmail.com>
>
> > > > > >> > > Faltou o log irmão.
>
> > > > > >> > > Segue ele
>
> > > > > >> > > 01-27 12:22:30.224: E/AndroidRuntime(4766): FATAL EXCEPTION:
> > main
> > > > > >> > > 01-27 12:22:30.224: E/AndroidRuntime(4766):
> > > > > >> > > java.lang.NullPointerException
> > > > > >> > > 01-27 12:22:30.224: E/AndroidRuntime(4766): at
>
> > android.content.ContextWrapper.openOrCreateDatabase(ContextWrapper.java:
> > > > > >> > > 203)
> > > > > >> > > 01-27 12:22:30.224: E/AndroidRuntime(4766): at
>
> > android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelp
> > > > > >> er.java:
> > > > > >> > > 98)
> > > > > >> > > 01-27 12:22:30.224: E/AndroidRuntime(4766): at
>
> > br.com.mylims.model.ConfigFTPDao.salvaFTP(ConfigFTPDao.java:30)
> > > > > >> > > 01-27 12:22:30.224: E/AndroidRuntime(4766): at
> > > > > >> > > br.com.mylims.controller.TelaCadastroFTPController
> > > > > >> > > $2.onClick(TelaCadastroFTPController.java:190)
> > > > > >> > > 01-27 12:22:30.224: E/AndroidRuntime(4766): at
> > > > > >> > > android.view.View.performClick(View.java:2408)
> > > > > >> > > 01-27 12:22:30.224: E/AndroidRuntime(4766): at
> > android.view.View
> > > > > >> > > $PerformClick.run(View.java:8816)
> > > > > >> > > 01-27 12:22:30.224: E/AndroidRuntime(4766): at
> > > > > >> > > android.os.Handler.handleCallback(Handler.java:587)
> > > > > >> > > 01-27 12:22:30.224: E/AndroidRuntime(4766): at
> > > > > >> > > android.os.Handler.dispatchMessage(Handler.java:92)
> > > > > >> > > 01-27 12:22:30.224: E/AndroidRuntime(4766): at
> > > > > >> > > android.os.Looper.loop(Looper.java:123)
> > > > > >> > > 01-27 12:22:30.224: E/AndroidRuntime(4766): at
> > > > > >> > > android.app.ActivityThread.main(ActivityThread.java:4627)
> > > > > >> > > 01-27 12:22:30.224: E/AndroidRuntime(4766): at
> > > > > >> > > java.lang.reflect.Method.invokeNative(Native Method)
> > > > > >> > > 01-27 12:22:30.224: E/AndroidRuntime(4766): at
> > > > > >> > > java.lang.reflect.Method.invoke(Method.java:521)
> > > > > >> > > 01-27 12:22:30.224: E/AndroidRuntime(4766): at
> > > > > >> > > com.android.internal.os.ZygoteInit
> > > > > >> > > $MethodAndArgsCaller.run(ZygoteInit.java:868)
> > > > > >> > > 01-27 12:22:30.224: E/AndroidRuntime(4766): at
> > > > > >> > > com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
> > > > > >> > > 01-27 12:22:30.224: E/AndroidRuntime(4766): at
> > > > > >> > > dalvik.system.NativeStart.main(Native Method)
>
> > > > > >> > > On 27 jan, 11:07, Fabiano - Carioca <
> > fabianobalme...@gmail.com>
> > > > > >> wrote:
> > > > > >> > > > kkk, tudo bem cara?.
>
> > > > > >> > > > Este mundo é pequeno mesmo. Post bacana, parabéns.
>
> > > > > >> > > > Segue o link com a minha dúvida. O final do post estão com
> > os
> > > > > >> códigos
> > > > > >> > > > atualizados.
>
> >http://www.portalandroid.org/comunidade/viewtopic.php?f=26&t=17030&p=...
>
> > > > > >> > > > Valeu pela força irmão
>
> > > > > >> > > > On 27 jan, 10:52, Renato Porto Puccini <
> > renatoppucc...@gmail.com>
> > > > > >> > > > wrote:
>
> > > > > >> > > > > Fabiano,
>
> > > > > >> > > > > vc seguiu meu post, haha.
>
> > > > > >> > > > > O motivo de estar vindo null, é porque ele não acha o
> > banco ou não
> > > > > >> > > consegue
> > > > > >> > > > > criar o mesmo.
> > > > > >> > > > > manda o logcat pra gente ver.
> > > > > >> > > > > E como está sua classe que cria o banco?
> > > > > >> > > > > abs
>
> > > > > >> > > > > ------------------------------------------
> > > > > >> > > > > Renato Porto Puccini <
> > > > > >> > >http://www.linkedin.com/profile/view?id=58956239&trk>
> > > > > >> > > > > renatopuccinipt.com
> > > > > >> > > > > @renatoporto <http://twitter.com/renatoporto>
> > > > > >> > > > > renatoppucc...@gmail.com
> > > > > >> > > > > ------------------------------------------
>
> > > > > >> > > > > 2012/1/27 Fabiano - Carioca <fabianobalme...@gmail.com>
>
> > > > > >> > > > > > Irmão,
>
> > > > > >> > > > > > Estou testando testar as minhas alterações e está dando
> > > > > >> > > > > > NullPointerException por causa desta linha:
> > > > > >> > > > > > SQLiteDatabase db =
> > gerenciaDataBase.getWritableDatabase();
>
> > > > > >> > > > > > Estou utilizando este tutorial com base
> > > > > >> > > > > >http://renatopuccinipt.com/tag/android-sqlite/
>
> > > > > >> > > > > > Segue o meu método do erro
>
> > > > > >> > > > > > private GerenciaBanco gerenciaDataBase = new
> > > > > >> GerenciaBanco(this);
>
> > > > > >> > > > > > public boolean salvaFTP(ConfigFTP ftpBean){
>
> > > > > >> > > > > > try {
>
> > > > > >> > > > > > SQLiteDatabase db =
> > > > > >> > > > > > gerenciaDataBase.getWritableDatabase();
>
> > > > > >> > > > > > ContentValues valores = new
> > > > > >> ContentValues();
>
> > > > > >> > > > > > valores.put("IPFTP",
> > ftpBean.getIpFtp());
> > > > > >> > > > > > valores.put("LOGINFTP",
> > > > > >> > > ftpBean.getLoginFtp());
> > > > > >> > > > > > valores.put("SENHAFTP",
> > > > > >> > > ftpBean.getSenhaFtp());
>
> > > > > >> > > > > > long sql = db.insert("CFGFTP",
> > null,
> > > > > >> valores);
>
> > > > > >> > > > > > if (sql > 0) {
>
> > > > > >> > > > > > Log.i(CATEGORIA, "Dados
> > FTP
> > > > > >> salvos com
> > > > > >> > > > > > sucesso!");
> > > > > >> > > > > > return true;
>
> > > > > >> > > > > > } else {
>
> > > > > >> > > > > > Log.i(CATEGORIA, "ERRO:
> > Dados
> > > > > >> FTP não
> > > > > >> > > > > > foram salvos!");
> > > > > >> > > > > > return false;
> > > > > >> > > > > > }
>
> > > > > >> > > > > > } catch (SQLException e) {
>
> > > > > >> > > > > > Log.i(CATEGORIA, "ERRO:
> > SQLException
> > > > > >> > > salvaFTP: " +
> > > > > >> > > > > > e);
> > > > > >> > > > > > return false;
> > > > > >> > > > > > }
>
> > > > > >> > > > > > }
>
> > > > > >> > > > > > O que devo fazer para arrumar isto?
>
> > > > > >> > > > > > Att
>
> > > > > >> > > > > > On 27 jan, 09:20, Fabiano - Carioca <
> > fabianobalme...@gmail.com>
> > > > > >> > > wrote:
> > > > > >> > > > > > > Bom dia!
>
> > > > > >> > > > > > > Pessoal, eu estava utilizando uma base de dados que
> > criei
> > > > > >> fora e
> > > > > >> > > > > > > jogava no emulador. Mas seguindo conselhos de
> > programadores
> > > > > >> mas
> > > > > >> > > > > > > experientes, resolvi criar este banco na mão
> > utilizando
> > > > > >> > > > > > > SQLiteOpenHelper.
>
> > > > > >> > > > > > > Em fim, fiz a classe que cria o banco e joguei para
> > um DAO que
> > > > > >> > > tinha
> > > > > >> > > > > > > pronto para testar.
>
> > > > > >> > > > > > > Não se está certo o que fiz e também estou com algumas
> > > > > >> dúvidas.
>
> > > > > >> > > > > > > Dúvidas:
>
> > > > > >> > > > > > > Como consigo criar este banco assim que acesso o meu
> > sistema?
> > > > > >> (OBS:
> > > > > >> > > > > > > sem a necessidade de botões para iniciar o processo de
> > > > > >> instalação).
>
> > > > > >> > > > > > > (A primeira tela do sistema é uma tela de cadastro e
>
>
> mais »






0 comentários:
Postar um comentário