您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關如何利用Bitmap為中介儲存圖片到數據庫中,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
利用Bitmap及其相關的工具類即可實現圖片的存儲以及顯示。
主要用到的工具類:
import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.util.Base64; import java.io.ByteArrayOutputStream; /** * Created by cartoon on 2017/12/9. */ public class StringAndBitmap { //圖片與String之間的轉換,便于將圖片存儲在數據庫中 private Bitmap bitmap; private String string; public Bitmap stringToBitmap(String string){ //數據庫中的String類型轉換成Bitmap if(string!=null){ byte[] bytes= Base64.decode(string,Base64.DEFAULT); bitmap= BitmapFactory.decodeByteArray(bytes,0,bytes.length); return bitmap; } else { return null; } } public String bitmapToString(Bitmap bitmap){ //用戶在活動中上傳的圖片轉換成String進行存儲 if(bitmap!=null){ ByteArrayOutputStream stream = new ByteArrayOutputStream(); bitmap.compress(Bitmap.CompressFormat.PNG, 100, stream); byte[] bytes = stream.toByteArray();// 轉為byte數組 string=Base64.encodeToString(bytes,Base64.DEFAULT); return string; } else{ return ""; } } }
下面已經獲取到數據庫中已經存儲了的圖片的String語句string,只需要在需要顯示圖片的組件中調用關于顯示Bitmap的方法即可。
imageView.setImageBitmap(stringAndBitmap.stringToBitmap(string); //這里的imageView為頁面組件綁定的ID,string為從數據庫獲取到圖片的string形態
而存儲用戶上傳的圖片則需要這樣即可。
bitmap=((BitmapDrawable)imageView.getDrawable()).getBitmap(); string=stringAndBitmap.bitmapToString(bitmap);
經過一些數據庫的操作,即可以把用戶上傳的圖片存入到數據庫中。
因為數據庫部分不是我負責的,所以我的建議是數據庫中的類型選擇BLOB(MySQL),因為已經實現過是可行的。
關于“如何利用Bitmap為中介儲存圖片到數據庫中”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。