android資料庫存儲圖片
❶ android中人臉識別掃描人然後怎樣將圖像保存到本地資料庫
用AndroidSDK中的Face
Detector實現人臉識別
流程是這樣的:
1.
讀取一張圖片至Bitmap
(從Resource中,或是從手機相冊中選取)
2.
使用FaceDetector
API分析Bitmap,將探測到的人臉數據以FaceDetector.Face存儲在一個Face
list中;
3.將人臉框顯示在圖片上。
❷ android:從資料庫中取得的圖片,無法顯示到模擬器上
應該是你在byte【】轉換成bitmap 時候 或者圖片轉換成byte【】數組時候出現錯位等一些問題,導致圖片不能正確顯示, 我的圖片一般都是存儲路徑的(把圖片放在sdcard),然後顯示的時候直接從路徑讀取,上傳給伺服器時候用fileInfutstream 讀取指定路徑下的圖片 上傳給伺服器
❸ android APP的圖標要如何存儲在資料庫中
根據圖片名稱獲取圖片id,下面介紹兩種方法,問題解決方法來源於android學習手冊,360手機助手中下載。裡面108個例子,源碼文檔隨便看,例子都是可交互,可運行,源碼採用android studio目錄結構,高亮顯示代碼,文檔都採用文檔結構圖顯示,可以快速定位。
假如在drawable目錄下放一個圖片文件,由於一些原因,我們在程序中僅僅知道它的文件名,而不知道它的資源ID,當我們需要這個資源ID的時候,可以使用下面的一行代碼獲取到:
方法一:
java代碼
/**
* 獲取圖片名稱獲取圖片的資源id的方法
* @param imageName
* @return
*/
public int getResource(String imageName){
Context ctx=getBaseContext();
int resId = getResources().getIdentifier(imageName, "drawable" , ctx.getPackageName());
return resId;
方法二:
Java代碼
/**
* 獲取圖片名稱獲取圖片的資源id的方法
* @param imageName
* @return
*/
public int getResourceByReflect(String imageName){
Class drawable = R.drawable.class;
Field field = null;
int r_id ;
try {
field = drawable.getField(imageName);
r_id = field.getInt(field.getName());
} catch (Exception e) {
r_id=R.drawable.b_nothing;
Log.e("ERROR", "PICTURE NOTFOUND!");
}
return r_id;
}
知道資源ID,獲取資源的文件名
getResources().getResourceName(resid)
❹ android怎麼將圖片傳送到伺服器,然後將圖片保存在mysql資料庫中
一般資料庫中是不保存圖片的,保存的是圖片存放路徑,圖片放到文件夾中,如果放到資料庫中資料庫會很大,影響讀取速度。
如果想放就把欄位定義為如:`img` longblob;
然後就可以讀取文件流 存儲到資料庫中了就可以了
❺ android如何將系統圖片存入資料庫
絕大大多數的系統,圖片一般不直接存儲到資料庫,不然圖片多的話很容易降低資料庫性能,圖片上傳後一般把圖片存儲到磁碟的目錄下,資料庫只存儲圖片路徑
❻ android 如何獲取保存的圖片的地址 並存到資料庫中
安卓中如何獲取保存的圖片uri 並保存到sqlite資料庫中
有如下兩種方法,僅供參考
方法一:Java代碼
public void saveIcon(Bitmap icon) {
if (icon == null) {
return;
}
// 最終圖標要保存到瀏覽器的內部資料庫中,系統程序均保存為SQLite格式,Browser也不例外,因為圖片是二進制的所以使用位元組數組存儲資料庫的
// BLOB類型
final ByteArrayOutputStream os = new ByteArrayOutputStream();
// 將Bitmap壓縮成PNG編碼,質量為100%存儲
icon.compress(Bitmap.CompressFormat.PNG, 100, os);
// 構造SQLite的Content對象,這里也可以使用
raw ContentValues values = new ContentValues();
// 寫入資料庫的
Browser.BookmarkColumns.TOUCH_ICON欄位 values.put(Browser.BookmarkColumns.TOUCH_ICON, os.toByteArray());
DBUtil.update(....);
//調用更新或者插入到資料庫的方法
}
}
方法二:如果數據表入口時一個content:URIJava代碼
import android.provider.MediaStore.Images.Media;
import android.content.ContentValues;
import java.io.OutputStream;
// Save the name and description of an image in a ContentValues map.
ContentValues values = new ContentValues(3);
values.put(Media.DISPLAY_NAME, "road_trip_1");
values.put(Media.DESCRIPTION, "Day 1, trip to Los Angeles");
values.put(Media.MIME_TYPE, "image/jpeg");
// Add a new record without the bitmap, but with the values just set.
// insert() returns the URI of the new record.
Uri uri = getContentResolver().insert(Media.EXTERNAL_CONTENT_URI, values);
// Now get a handle to the file for that record, and save the data into it.
// Here, sourceBitmap is a Bitmap object representing the file to save to the database.
try {
OutputStream outStream = getContentResolver().openOutputStream(uri);
sourceBitmap.compress(Bitmap.CompressFormat.JPEG, 50, outStream);
outStream.close();
} catch (Exception e) {
Log.e(TAG, "exception while writing image", e);
}
原文請看http://www.bafenbaosoft.com/post/48.html
❼ Android 圖片以位元組流方式存入本地資料庫 怎麼弄 求高手指點啊
少年,資料庫有個類型是blob,可以用這個類型存儲,直接存儲位元組,步驟:
1.假設圖片欄位名Image,那麼設置Image為blob欄位
2.代碼中將bimageview轉換為位元組以後,用ContentValues中的values.put("Image",byte[]);然後或者是插入,或者是更新,用android的sqlite3中的操作就可以了
如果你看上面的後半部分不太懂,可以網路一下:android sqlite3 的增刪改查,就會看到裡面有具體的步驟了,就是利用ContentValues進行sql語句處理
❽ 求助!android開發 如何將圖片添加進SQlite資料庫
圖片等二進制媒體數據可以保存到BLOB類型的欄位里,例子:
http://blog.csdn.net/zhouyongyang621/archive/2010/03/26/5418586.aspx
但是一般不推薦這么做,因為如果保存大量媒體數據那麼資料庫的大小會激增,導致資料庫訪問性能下降。還是把圖保存到文件里,然後在資料庫里加個欄位引用文件路徑吧。
建議你盡可能把圖保存到SD卡上(/sdcard),如果沒有SD卡就保存到應用程序的私有目錄里(/data/data/packagename/)