【发布时间】:2019-03-23 17:10:26
【问题描述】:
我正在为班级创建一个 Android 应用程序,如果您单击我的用户界面上的“捕获”按钮,它将带您进入相机应用程序。然后它会将您返回到应用程序并显示图像缩略图,如果您单击“保存”按钮,它将将该按钮保存在我尚未创建的 SQLite 数据库中。
我的问题是试图弄清楚如何访问实际图片及其数据,而不是有关缩略图的信息。
我正在阅读的教程包含将图像存储在 Android 内置目录中的信息,但我不知道如何访问实际的全尺寸图像数据以存储到我将自己创建的数据库中。
这是教程的链接: https://developer.android.com/training/camera/photobasics#java
这不是完整的代码,只是一个片段,它是在 Android Studio 中创建的:
'''
图像视图图片;
public void capture(View view) {
dispatchTakePictureIntent();
}
public void save(View view) {
}
static final int REQUEST_IMAGE_CAPTURE = 1;
private void dispatchTakePictureIntent() {
Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
if (takePictureIntent.resolveActivity(getPackageManager()) != null) {
startActivityForResult(takePictureIntent, REQUEST_IMAGE_CAPTURE);
}
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == REQUEST_IMAGE_CAPTURE && resultCode == RESULT_OK) {
Bundle extras = data.getExtras();
Bitmap imageBitmap = (Bitmap) extras.get("data");
pic.setImageBitmap(imageBitmap); // sets the imageview on the UI as the thumbnail
}
}
'''
【问题讨论】:
-
在数据库中存储照片在 Android 应用程序开发中并不是一个好的模式。将照片保存到文件中(可能在internal storage 中),并在数据库中保存照片的路径。
-
我的任务是将它们存储在我必须创建的 SQLite 数据库中。
-
感谢您提供的信息。