2012-05-29 187 views
0

我已經構建了一個android應用程序,讓用戶點擊一個圖像按鈕。點擊後,用戶可以選擇打開圖庫或相機。如何在Android的圖像視圖或按鈕中設置和存儲圖像?

我想要圖像(從圖庫中選擇或使用相機拍攝)顯示在圖像按鈕中。此外,我希望圖像或其路徑存儲到SQL數據庫,以便當再次打開應用程序時,用戶可以看到他之前設置的圖像。

任何人都可以給我一個這樣做的代碼示例嗎?

回答

0

對您的問題沒有簡短的回答,並且通過在同一時間發佈它會少了解您。無論如何,有很多關於如何做到這一點的教程。

我猜你已經完成了畫廊和相機代碼。否則,您可能會在下面的鏈接中找到它。

畫廊: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就足夠了。

祝你好運!

0

點擊按鈕,在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>

相關問題