数据库更新和从android中的SD卡检索图像

时间:2012-03-20 10:15:30

标签: android image sqlite android-sdcard

我想找到解决这个问题的方法,但我找不到答案。我有一个数据库,存储一些用户详细信息的详细信息,即ID,名称和用户图片URL。并将图像存储在SD卡中。当用户登录时,存储所有细节并将图像下载到SD卡。现在,当另一个用户登录到应用程序时,我想删除所有以前的详细信息并存储新的用户详细信息。

通过使用下面的代码我可以从SD卡获得一张图片,当我尝试列表视图时。我无法看到图像。

File mfile = new File("sdcard/Image9085.png");
    if(mfile.exists()){
        Bitmap picture = BitmapFactory.decodeFile(mfile.getAbsolutePath());
        pic.setImageBitmap(picture);
    }

任何人都可以帮我解决这两个问题。

2 个答案:

答案 0 :(得分:2)

图片路径可能有误,请在下面说明:

File mfile = new File("/sdcard/Image9085.png");
if(mfile.exists()){
    Bitmap picture = BitmapFactory.decodeFile(mfile.getAbsolutePath());
    pic.setImageBitmap(picture);
}

答案 1 :(得分:1)

对于ListView,使用CustomAdapter意味着创建一个扩展BaseAdapter的类 在getView()

public View getView(int position, View convertView, ViewGroup parent) {


            View view = inflater.inflate(resourceId, null);
            if(mykids_data.get(position).getImage()!=null)
            {
                Download dr=new Download();
                dr.iv=img;
                dr.execute();
                //img.setImageDrawable(dr.d);
            }
//              
            return view;
        }

使用扩展AsyncTask的类Download 在doinBackground函数中只需使用

    protected Drawable doInBackground(Void... params) {


     File mfile = new File("sdcard/Image9085.png");
        if(mfile.exists()){
            Bitmap picture = BitmapFactory.decodeFile(mfile.getAbsolutePath());


  Drawable d=new BitmapDrawable(picture);

                             d=drawable;
                    }