Tecnologia do Blogger.
RSS

Re: [androidbrasil-dev] Gravar Banco no sdcard

Constando,...

Simulei a criação do diretorio, (criando manualmente)

Porém persiste dando erro ao tentar abrir ou criar...

Segue linha...

GeneralDao.db = SQLiteDatabase.openOrCreateDatabase(dbfile, null);

Tem o lance de usar ^ um cursor factory,

To buscando na documentação, mas nao entendi o funcionamento,

Creio que é caso nao encontre, use o factory para criar o db.

Mas tentei utilizar, mas não consigo criar e passar corretamente os parametros...

GeneralDao.db = SQLiteDatabase.openOrCreateDatabase(dbfile, SQLiteDatabase.CursorFactory(db, this.onCreate(db), null, null));

Alguem pode me auxiliar?

Abs a lista!

Psy Khé

Em 12 de setembro de 2012 11:59, Psy Khé <psykhe6@gmail.com> escreveu:
Murilo,

Ainda há uma percentagem que usa a 2.1.

Para uma app bem simples como a minha, não há porque exclui-la de utilizar minha app.

Cleber,

Boa...

Agora lembrei, quando consegui o link no stack, ele fazia algo antes para criar o diretorio...caminho...

Então /sdcard/ - já é existente...

Agora /sdcard/android/ .... não existe.

O ruim é que perdi o link do stack que tinha todo esse codigo implementado, e dizendo sobre um possivel bug em alguma versao da 2.x.

Mas...vou buscar algo,

Então preciso criar o diretorio antes, se o mesmo nao existir,

Algum auxilio para tal se possivel, é bem vindo,

Vou buscar algo.

Vlw pela dica!!!!

Grato,

Psy Khé.

Em 12 de setembro de 2012 11:32, Cleber - Android Developer <clebaori@gmail.com> escreveu:

duas perguntas.

Você esta debugando via emulador ou um device físico ?
Você já checou se o foi criado o arquivo no caminho /sdcard/android/br.com.istgroup/databases/istgroup.db ?

Em 12 de setembro de 2012 10:19, Psy Khé <psykhe6@gmail.com> escreveu:

Senhores,

Vi algumas implementacoes no stack,

Algo aqui na lista,

Na tentativas do stack sempre causando exception.

Uma vez cheguei a ve no stack um codigo para versoes 2.x do android para esse caso, mas nao achei mais o codigo.

Não sei se tem diferença, pois preciso que funcione na versão 2.1.

A implementação atual está aqui -> http://pastebin.com/nySgHmMg

Segue error:

09-12 10:11:31.435: E/Database(329): sqlite3_open_v2("/sdcard/android/br.com.istgroup/databases/istgroup.db", &handle, 2, NULL) failed
09-12 10:11:31.445: E/POW(329): error database -- unable to open database file
09-12 10:11:31.445: E/POW(329): android.database.sqlite.SQLiteException: unable to open database file
09-12 10:11:31.445: E/POW(329): at android.database.sqlite.SQLiteDatabase.dbopen(Native Method)
09-12 10:11:31.445: E/POW(329): at android.database.sqlite.SQLiteDatabase.<init>(SQLiteDatabase.java:1698)
09-12 10:11:31.445: E/POW(329): at android.database.sqlite.SQLiteDatabase.openDatabase(SQLiteDatabase.java:739)
09-12 10:11:31.445: E/POW(329): at br.com.istgroup.dao.GeneralDao.<init>(GeneralDao.java:46)
09-12 10:11:31.445: E/POW(329): at br.com.istgroup.ManageActivity.listContact(ManageActivity.java:189)
09-12 10:11:31.445: E/POW(329): at br.com.istgroup.ManageActivity.onCreate(ManageActivity.java:69)
09-12 10:11:31.445: E/POW(329): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
09-12 10:11:31.445: E/POW(329): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2459)
09-12 10:11:31.445: E/POW(329): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2512)
09-12 10:11:31.445: E/POW(329): at android.app.ActivityThread.access$2200(ActivityThread.java:119)
09-12 10:11:31.445: E/POW(329): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1863)
09-12 10:11:31.445: E/POW(329): at android.os.Handler.dispatchMessage(Handler.java:99)
09-12 10:11:31.445: E/POW(329): at android.os.Looper.loop(Looper.java:123)
09-12 10:11:31.445: E/POW(329): at android.app.ActivityThread.main(ActivityThread.java:4363)
09-12 10:11:31.445: E/POW(329): at java.lang.reflect.Method.invokeNative(Native Method)
09-12 10:11:31.445: E/POW(329): at java.lang.reflect.Method.invoke(Method.java:521)
09-12 10:11:31.445: E/POW(329): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860)
09-12 10:11:31.445: E/POW(329): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
09-12 10:11:31.445: E/POW(329): at dalvik.system.NativeStart.main(Native Method)
09-12 10:11:31.455: D/POW(329): db.execSQL
09-12 10:11:31.455: D/AndroidRuntime(329): Shutting down VM
09-12 10:11:31.455: W/dalvikvm(329): threadid=3: thread exiting with uncaught exception (group=0x4001b188)
09-12 10:11:31.455: E/AndroidRuntime(329): Uncaught handler: thread main exiting due to uncaught exception
09-12 10:11:31.465: E/AndroidRuntime(329): java.lang.RuntimeException: Unable to start activity ComponentInfo{br.com.istgroup/br.com.istgroup.ManageActivity}: java.lang.NullPointerException
09-12 10:11:31.465: E/AndroidRuntime(329): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2496)
09-12 10:11:31.465: E/AndroidRuntime(329): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2512)
09-12 10:11:31.465: E/AndroidRuntime(329): at android.app.ActivityThread.access$2200(ActivityThread.java:119)
09-12 10:11:31.465: E/AndroidRuntime(329): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1863)
09-12 10:11:31.465: E/AndroidRuntime(329): at android.os.Handler.dispatchMessage(Handler.java:99)
09-12 10:11:31.465: E/AndroidRuntime(329): at android.os.Looper.loop(Looper.java:123)
09-12 10:11:31.465: E/AndroidRuntime(329): at android.app.ActivityThread.main(ActivityThread.java:4363)
09-12 10:11:31.465: E/AndroidRuntime(329): at java.lang.reflect.Method.invokeNative(Native Method)
09-12 10:11:31.465: E/AndroidRuntime(329): at java.lang.reflect.Method.invoke(Method.java:521)
09-12 10:11:31.465: E/AndroidRuntime(329): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860)
09-12 10:11:31.465: E/AndroidRuntime(329): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
09-12 10:11:31.465: E/AndroidRuntime(329): at dalvik.system.NativeStart.main(Native Method)
09-12 10:11:31.465: E/AndroidRuntime(329): Caused by: java.lang.NullPointerException
09-12 10:11:31.465: E/AndroidRuntime(329): at br.com.istgroup.dao.GeneralDao.<init>(GeneralDao.java:57)
09-12 10:11:31.465: E/AndroidRuntime(329): at br.com.istgroup.ManageActivity.listContact(ManageActivity.java:189)
09-12 10:11:31.465: E/AndroidRuntime(329): at br.com.istgroup.ManageActivity.onCreate(ManageActivity.java:69)
09-12 10:11:31.465: E/AndroidRuntime(329): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
09-12 10:11:31.465: E/AndroidRuntime(329): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2459)
09-12 10:11:31.465: E/AndroidRuntime(329): ... 11 more


Poxa eu comentando o db.close() na linha 57.

Fica com erro na chamada ao metodo onCreate(); linha 54.

onCreate(GeneralDao.db); //tentei assim
ou onCreate(db); //e da erro da mesma forma.

Hum?

Valeu,

Abraços,

Psy Khé.



  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

0 comentários:

Postar um comentário