将图像路径名从SD卡保存到Sqlite数据库

时间:2011-03-10 18:34:34

标签: android

我在这里遇到一点麻烦。我试图通过存储他们的图像路径名来存储和检索sqlitedatabase中的图像。图像存储在SD卡中。我尝试了这段代码,但它没有用。

保存图片路径:

 String filename = "/sdcard/barn.jpg"

ContentValues vals2 = new ContentValues(); //create content values and store it.
   vals.put(ImageDB.SHOW, filename);
   imagedb.tagImage(vals2);


public long tagImage(ContentValues val){
        Log.d(TAG,"tagged Images");
        return db.insert(DATABASE_TABLE, null, val);
    }

检索:

Cursor cursor = imagedb.retrieveTag(tag);

    /*method for retrieving*/

    public Cursor retrieveTag(String tag){
    String[] condition = {tag)};
    Cursor cursor = db.query(DATABASE_TABLE, condition, null, null, null, null, null);
        cursor.moveToNext();
        return cursor;
    }

游标没有返回任何内容,我有时会得到一个CursorIndexOutofBoundsException。 这是从sqlitedatabase保存和检索的正确方法,还是文件名对sqlite数据库造成了问题?我怎样才能正确存储它?..谢谢。

1 个答案:

答案 0 :(得分:2)

尝试使用Environment.getExternalStorageDirectory()获取根目录,但是“/ sdcard /”可能无效。