我已經構建了一個android應用程序,讓用戶點擊一個圖像按鈕。點擊後,用戶可以選擇打開圖庫或相機。如何在Android的圖像視圖或按鈕中設置和存儲圖像?
我想要圖像(從圖庫中選擇或使用相機拍攝)顯示在圖像按鈕中。此外,我希望圖像或其路徑存儲到SQL數據庫,以便當再次打開應用程序時,用戶可以看到他之前設置的圖像。
任何人都可以給我一個這樣做的代碼示例嗎?
我已經構建了一個android應用程序,讓用戶點擊一個圖像按鈕。點擊後,用戶可以選擇打開圖庫或相機。如何在Android的圖像視圖或按鈕中設置和存儲圖像?
我想要圖像(從圖庫中選擇或使用相機拍攝)顯示在圖像按鈕中。此外,我希望圖像或其路徑存儲到SQL數據庫,以便當再次打開應用程序時,用戶可以看到他之前設置的圖像。
任何人都可以給我一個這樣做的代碼示例嗎?
對您的問題沒有簡短的回答,並且通過在同一時間發佈它會少了解您。無論如何,有很多關於如何做到這一點的教程。
我猜你已經完成了畫廊和相機代碼。否則,您可能會在下面的鏈接中找到它。
畫廊:Get/pick an image from Android's built-in Gallery app programmatically
攝像頭:Capture Image from Camera and Display in Activity
當您從拍攝的或選擇的照片也有你的開放的,你可以從它創建位圖:
public Bitmap getBitmapFromUri(Uri uri)
{
return MediaStore.Images.Media.getBitmap(this.getContentResolver(), uri);
}
然後你可以設置bitmap to imagebutton using following:
((ImageButton) findViewById(R.id.yourImageButton)).setImageBitmap(bitmap);
我粘貼的其中一個鏈接顯示如何獲取圖像的路徑。此路徑可以保存在數據庫中,也可以使用SharedPreferences保存。你可以閱讀關於如何在同一個鏈接上使用它。關於數據庫,你知道如何從我的答案中獲得圖像路徑。搜索谷歌的數據庫教程。但是我認爲根據應用程序的規模,SharedPreferences就足夠了。
祝你好運!
點擊按鈕,在imageview中設置商店圖片。
'公共類MainActivity擴展活動{
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>