我已经构建了一个允许用户单击图像按钮的 android 应用程序。单击后,用户可以选择打开图库或相机。
我希望图像(从图库中选择或用相机拍摄)显示在图像按钮中。此外,我希望将图像或其路径存储到 sql 数据库中,以便在再次打开应用程序时,用户会看到他之前设置的图像。
谁能给我一个这样做的代码示例?
单击按钮并在 imageview 中设置存储图像。
`公共类 MainActivity 扩展 Activity {
private static final int CAMERA_PIC_REQUEST = 22;
Uri cameraUri;
Button BtnSelectImage;
private ImageView ImgPhoto;
private String Camerapath ;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ImgPhoto = (ImageView) findViewById(R.id.imageView1);
BtnSelectImage = (Button) findViewById(R.id.button1);
BtnSelectImage.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View view) {
// TODO Auto-generated method stub
try {
Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(cameraIntent, CAMERA_PIC_REQUEST);
} catch (Exception e) {
Toast.makeText(getApplicationContext(), "Couldn't load photo", Toast.LENGTH_LONG).show();
}
}
});
}
@Override
public void onActivityResult(final int requestCode, int resultCode, Intent data) {
try {
switch (requestCode) {
case CAMERA_PIC_REQUEST:
if (resultCode == RESULT_OK) {
try {
Bitmap photo = (Bitmap) data.getExtras().get("data");
ImgPhoto.setImageBitmap(photo);
} catch (Exception e) {
Toast.makeText(this, "Couldn't load photo", Toast.LENGTH_LONG).show();
}
}
break;
default:
break;
}
} catch (Exception e) {
}
}
}`
设置此清单。
<uses-permission android:name="android.permission.CAMERA" /> <uses-feature android:name="android.hardware.camera" android:required="false"></uses-feature>
您的问题没有简短的答案,通过同时发布所有内容会减少您的学习。无论如何,有很多关于如何做到这一点的教程。
我猜你已经完成了图库和相机代码。否则,您可以在下面的链接中找到它。
图库:以编程方式从 Android 的内置图库应用程序中获取/选择图像
当您从捕获或选择的图片中获取 Uri 时,您可以从中创建位图:
public Bitmap getBitmapFromUri(Uri uri)
{
return MediaStore.Images.Media.getBitmap(this.getContentResolver(), uri);
}
然后,您可以使用以下方法将位图设置为 imagebutton:
((ImageButton) findViewById(R.id.yourImageButton)).setImageBitmap(bitmap);
我粘贴的其中一个链接向您展示了如何获取图像的路径。您可以将此路径保存在数据库中,也可以使用SharedPreferences保存。您可以在同一个链接中了解如何使用它。关于数据库,您知道如何从我的答案中获取图像路径。在 google 上搜索数据库教程。但我认为 SharedPreferences 就足够了,具体取决于您的应用程序的规模。
祝你好运!