所以这是我的问题......我一直在研究存储一些地理定位数据的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;
}
谢谢!
答案 0 :(得分:0)
file.getAbsolutePath();
那么简单:)
所以在上下文中它可能看起来像这样
try {
FileOutputStream fos = new FileOutputStream(pictureFile);
fos.write(data);
fos.close();
saveFileLocation(pictureFile.getAbsolutePath);
} catch (FileNotFoundException e) {
} catch (IOException e) {
}
其中saveFileLocation是一个函数,它接受路径字符串并将其保存到sql db。
答案 1 :(得分:0)
您可以mediaFile.getAbsolutePath()
获取要存储在数据库中的路径。