所以,這裏是我的問題......我一直在研究存儲一些地理定位數據的SQLite數據庫,我想從相機插入圖像。我讀過更好插入圖像路徑而不是圖像,但我找不到獲取圖像路徑的方式。從Android相機插入圖片到SQLite
這就是我已經得到的。
Camera.PictureCallback mPicture = new Camera.PictureCallback() {
@Override
public void onPictureTaken(byte[] data, Camera camera) {
File pictureFile = getOutputMediaFile();
if (pictureFile == null) {
return;
}
try {
FileOutputStream fos = new FileOutputStream(pictureFile);
fos.write(data);
fos.close();
} catch (FileNotFoundException e) {
} catch (IOException e) {
}
}
};
public File getOutputMediaFile() {
File mediaStorageDir = new File(
Environment
.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES),
"MyCameraApp"
);
if (!mediaStorageDir.exists()) {
if (!mediaStorageDir.mkdirs()) {
Log.d("MyCameraApp", "failed to create directory");
return null;
}
}
// Create a media file name
String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date());
File mediaFile;
mediaFile = new File(mediaStorageDir.getPath() + File.separator + "IMG_" + timeStamp + ".jpg");
return mediaFile;
}
謝謝!
感謝您的快速回答!那麼你認爲我可以在我的getOutputMediaFile函數中添加這個嗎? – PFUser
是的,你可以。但是,您首先要確保在保存文件時不會引發異常,否則您可能會將某個位置保存到您的數據庫,但由於某些錯誤而不存在該數據庫。另一個選擇是像在getOutputMediaFile函數中所說的那樣執行它,然後如果引發異常,請將其刪除。 – WIllJBD
對不起,但我對此很新...當我把它放在我的函數上時,我無法從函數中取出字符串來打印它。 – PFUser