2011-09-19 28 views
0

我想将图像从一个特定的URL保存到sqlite数据库,然后从数据库中显示它。可以告诉我,我可以如何 这样做。使用Sqlite数据库中的URL显示图像

在此先感谢。

问候, 拉哈夫拉贾戈帕兰

+0

这里是[教程](http://www.tutorialforandroid.com/2009/10/how-to-insert-image-data-to-sqlite.html) –

+0

非常感谢先生。我仍然怀疑。就像我有一个gridview和图像。所以当我点击图像时,我需要在edittext框中显示该图像。同样,当我提交我需要在edittext上方的列表视图中显示该图像。在这个问题上的任何帮助。 – user950203

+0

可能的重复:[如何将URL从retiteived存储在SQLite数据库?](http://stackoverflow.com/questions/6815355/how-to-store-image-retreived-from-url-in-a-sqlite -数据库/) –

回答

0

试试这个代码。

URL url = new URL("your image url"); 
    URLConnection ucon = url.openConnection(); 
    InputStream is = ucon.getInputStream(); 
     BufferedInputStream bis = new BufferedInputStream(is,128); 
     ByteArrayBuffer barb= new ByteArrayBuffer(128); 
     //read the bytes one by one and append it into the ByteArrayBuffer barb 
     int current = 0; 
     while ((current = bis.read()) != -1) { 
       barb.append((byte) current); 
     } 

     ContentValues filedata= new ContentValues(); 
     //TABLE_FIELD = a field in the database table of type text 
     filedata.put(TABLE_FIELD,barb.toByteArray()); 
     //TABLE_NAME = a table in the database with a field TABLE_FIELD 
     db.insert(TABLE_NAME, null, filedata); 

      //Retriving Data from DB: 
    //select the data 
    Cursor cursor = db.query(TABLE_STATIONLIST, new String[] {TABLE_FIELD},null, null, null, null, null); 
    //get it as a ByteArray 
      //reading as Binary large object(BLOB) 
    byte[] imageByteArray=cursor.getBlob(1); 

    //the cursor is not needed anymore so release it 
    cursor.close(); 


Bitmap image=getbyteAsBitmap(imageByteArray); 



//use this method to convert byte[] to bitmap 


    private Bitmap getbyteAsBitmap(byte[] bytedata){ 
      if(bytedata!=null){ 
       ByteArrayInputStream imageStream = new ByteArrayInputStream(bytedata); 
       Bitmap theImage = BitmapFactory.decodeStream(imageStream); 
       //theImage=MediaProcesser.getRoundedCornerBitmap(theImage, 5); 
       return theImage; 
      }else{ 
       return null; 
      } 
     } 
相关问题