Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>Here the code i used for my app</p> <p>This code will take a image from url and convert is to a byte array</p> <pre><code>byte[] logoImage = getLogoImage(IMAGEURL); private byte[] getLogoImage(String url){ try { URL imageUrl = new URL(url); URLConnection ucon = imageUrl.openConnection(); InputStream is = ucon.getInputStream(); BufferedInputStream bis = new BufferedInputStream(is); ByteArrayBuffer baf = new ByteArrayBuffer(500); int current = 0; while ((current = bis.read()) != -1) { baf.append((byte) current); } return baf.toByteArray(); } catch (Exception e) { Log.d("ImageManager", "Error: " + e.toString()); } return null; } </code></pre> <p>To save the image to db i used this code.</p> <pre><code> public void insertUser(){ SQLiteDatabase db = dbHelper.getWritableDatabase(); String delSql = "DELETE FROM ACCOUNTS"; SQLiteStatement delStmt = db.compileStatement(delSql); delStmt.execute(); String sql = "INSERT INTO ACCOUNTS (account_id,account_name,account_image) VALUES(?,?,?)"; SQLiteStatement insertStmt = db.compileStatement(sql); insertStmt.clearBindings(); insertStmt.bindString(1, Integer.toString(this.accId)); insertStmt.bindString(2,this.accName); insertStmt.bindBlob(3, this.accImage); insertStmt.executeInsert(); db.close(); } </code></pre> <p>To retrieve the image back this is code i used.</p> <pre><code>public Account getCurrentAccount() { SQLiteDatabase db = dbHelper.getWritableDatabase(); String sql = "SELECT * FROM ACCOUNTS"; Cursor cursor = db.rawQuery(sql, new String[] {}); if(cursor.moveToFirst()){ this.accId = cursor.getInt(0); this.accName = cursor.getString(1); this.accImage = cursor.getBlob(2); } if (cursor != null &amp;&amp; !cursor.isClosed()) { cursor.close(); } db.close(); if(cursor.getCount() == 0){ return null; } else { return this; } } </code></pre> <p>Finally to load this image to a imageview</p> <pre><code>logoImage.setImageBitmap(BitmapFactory.decodeByteArray( currentAccount.accImage, 0,currentAccount.accImage.length)); </code></pre>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload