Gostaria de agradecer a ajuda de vocês pela ajuda.
Fiz o que vocês sugeriram e deu certo.
Feliz 2013 !
Em 27 de dezembro de 2012 09:07, luciofm <luciofm@gmail.com> escreveu:
Você sempre pode salvar na memória interna, que o usuário não tem acesso.--Lúcio Maciel
luciofm@gmail.com2012/12/27 Thalita Monteiro <temonteiroj@gmail.com>--Obrigada pela dica.Estou fazendo isso, mas como fazer para que o usuário não apague ou delete algum arquivo que eu irei salvar no sdcard dele?Em 26 de dezembro de 2012 15:58, Marcelo Henrique <marcelohd02@gmail.com> escreveu:+1 @luciofm.--Em 26 de dezembro de 2012 16:54, luciofm <luciofm@gmail.com> escreveu:
Meu conselho é salvar a imagem em disco, e no banco salvar apenas o caminho para a imagem.--Lúcio Maciel
luciofm@gmail.com2012/12/26 Thalita Monteiro <temonteiroj@gmail.com>Boa tarde,--
Possuo uma tabela no banco que tem uma coluna do tipo BLOB.
Quando eu realizo um select para listar somente a categoria que tem imagens em destaques ocorre o erro: java.lang.IllegalStateException: get field slot from row 0 col 0 failed android.Em algumas pesquisas que eu realizei informaram que poderia ser o BLOB, pois a query só consegue armazenar no máximo 1MB e dependendo dos arquivos eles podem ultrapassar esse valor.Alguém sabe se existe alguma lazy query ou alguma solução para corrigir esse erro?Segue o log:12-26 18:06:09.702: E/AndroidRuntime(2033): FATAL EXCEPTION: main12-26 18:06:09.702: E/AndroidRuntime(2033): java.lang.RuntimeException: Unable to start activity ComponentInfo{br.com.jornalopovo.delivery.smart.activity/br.com.jornalopovo.delivery.activity.ExibirAnuncio}: java.lang.IllegalStateException: get field slot from row 0 col -1 failed12-26 18:06:09.702: E/AndroidRuntime(2033): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1647)12-26 18:06:09.702: E/AndroidRuntime(2033): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)12-26 18:06:09.702: E/AndroidRuntime(2033): at android.app.ActivityThread.access$1500(ActivityThread.java:117)12-26 18:06:09.702: E/AndroidRuntime(2033): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)12-26 18:06:09.702: E/AndroidRuntime(2033): at android.os.Handler.dispatchMessage(Handler.java:99)12-26 18:06:09.702: E/AndroidRuntime(2033): at android.os.Looper.loop(Looper.java:123)12-26 18:06:09.702: E/AndroidRuntime(2033): at android.app.ActivityThread.main(ActivityThread.java:3683)12-26 18:06:09.702: E/AndroidRuntime(2033): at java.lang.reflect.Method.invokeNative(Native Method)12-26 18:06:09.702: E/AndroidRuntime(2033): at java.lang.reflect.Method.invoke(Method.java:507)12-26 18:06:09.702: E/AndroidRuntime(2033): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)12-26 18:06:09.702: E/AndroidRuntime(2033): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)12-26 18:06:09.702: E/AndroidRuntime(2033): at dalvik.system.NativeStart.main(Native Method)12-26 18:06:09.702: E/AndroidRuntime(2033): Caused by: java.lang.IllegalStateException: get field slot from row 0 col -1 failed12-26 18:06:09.702: E/AndroidRuntime(2033): at android.database.CursorWindow.getLong_native(Native Method)12-26 18:06:09.702: E/AndroidRuntime(2033): at android.database.CursorWindow.getLong(CursorWindow.java:380)12-26 18:06:09.702: E/AndroidRuntime(2033): at android.database.AbstractWindowedCursor.getLong(AbstractWindowedCursor.java:108)12-26 18:06:09.702: E/AndroidRuntime(2033): at br.com.jornalopovo.delivery.dao.AnunciosDAO.getTesteBlob(AnunciosDAO.java:376)12-26 18:06:09.702: E/AndroidRuntime(2033): at br.com.jornalopovo.delivery.activity.ExibirAnuncio.getAnunciantePorCategoria(ExibirAnuncio.java:291)12-26 18:06:09.702: E/AndroidRuntime(2033): at br.com.jornalopovo.delivery.activity.ExibirAnuncio.onCreate(ExibirAnuncio.java:79)12-26 18:06:09.702: E/AndroidRuntime(2033): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)12-26 18:06:09.702: E/AndroidRuntime(2033): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611)12-26 18:06:09.702: E/AndroidRuntime(2033): ... 11 moreSegue o código:/* RECUPERA POR CATEGORIA */public Cursor getCategoria(String categoria){DbAdapter helper = new DbAdapter(contexto);database = helper.open();String[] colunas = new String[]{"nome","telefone","telefone1","telefone2","telefone3","categoria","destaque"};Cursor cursor =database.query(TABELA_ACIOS, colunas, "categoria ='" + categoria + "' AND destaque = 1", null, null, null, null);if(cursor != null){cursor.moveToFirst();}database.close();return cursor;}public List<Anunciantes> getTesteBlob(String categoria){Cursor cursor = getCategoria(categoria);List<Anunciantes> anunciantes = new ArrayList<Anunciantes>();if(cursor.moveToFirst()){int id = cursor.getColumnIndex("_id");int nome = cursor.getColumnIndex("nome");int telefone = cursor.getColumnIndex("telefone");int telefone1 = cursor.getColumnIndex("telefone1");int telefone2 = cursor.getColumnIndex("telefone2");int telefone3 = cursor.getColumnIndex("telefone3");int category = cursor.getColumnIndex("categoria");int imagem = cursor.getColumnIndex("imagem");int destaque = cursor.getColumnIndex("destaque");do{Anunciantes anuncio = new Anunciantes();anunciantes.add(anuncio);anuncio.setId(cursor.getLong(id));anuncio.setNome(cursor.getString(nome));anuncio.setTelefone(cursor.getString(telefone));anuncio.setTelefone1(cursor.getString(telefone1));anuncio.setTelefone2(cursor.getString(telefone2));anuncio.setTelefone3(cursor.getString(telefone3));anuncio.setCategoria(cursor.getString(category));anuncio.setImgB(cursor.getBlob(imagem));anuncio.setDestaque(cursor.getString(destaque));}while(cursor.moveToNext());}cursor.close();return anunciantes;}
Aguardo a ajuda. Obrigada.--
Atenciosamente,
Thalita Monteiro Jorge.
Graduanda em Sistemas de Informação
"O importante é garantir os três pontos !"
--
- Marcelo Henrique -
"Se não puder se destacar pelo talento, vença pelo esforço." (Dave Weinbaum)
--
Atenciosamente,
Thalita Monteiro Jorge.
Graduanda em Sistemas de Informação
"O importante é garantir os três pontos !"
Atenciosamente,
Thalita Monteiro Jorge.
Graduanda em Sistemas de Informação
"O importante é garantir os três pontos !"
0 comentários:
Postar um comentário