2011-01-29 39 views
-1

我在android上採集應用程序中的圖像,我不知道爲什麼,有時我得到了一個異常,我認爲它總是選擇超過400或500 kb的圖像,但我不確定。爲什麼?因爲當我選擇100 kb的小圖像我沒有得到例外,當我得到500kb或1.5 MB的圖像是的,它崩潰從圖庫(SD卡)中挑選圖片以供在我的應用程序中使用的異常...爲什麼?

我不知道這是什麼異常是因爲我必須測試這個功能與我的手機,我不能用模擬器測試,因爲我不知道如何將圖像放在模擬器上。

這是我的代碼:

changeImageButton.setOnClickListener(new OnClickListener() { 
      public void onClick(View v) { 
       Intent i = new Intent(Intent.ACTION_PICK, 
         android.provider.MediaStore.Images.Media.INTERNAL_CONTENT_URI); 
       startActivityForResult(i, ACTIVITY_SELECT_IMAGE); 
      } 
     }); 



protected void onActivityResult(int requestCode, int resultCode, Intent imageReturnedIntent) { 
     super.onActivityResult(requestCode, resultCode, imageReturnedIntent); 

     switch(requestCode) { 
     case 1: 
     { 
      setResult(1); 
      finish();  
     } 
     case ACTIVITY_SELECT_IMAGE: 
      if(resultCode == RESULT_OK){ 
       Uri selectedImage = imageReturnedIntent.getData(); 
       String[] filePathColumn = {MediaStore.Images.Media.DATA}; 

       Cursor cursor = getContentResolver().query(selectedImage, filePathColumn, null, null, null); 
       cursor.moveToFirst(); 

       int columnIndex = cursor.getColumnIndex(filePathColumn[0]); 
       String filePath = cursor.getString(columnIndex); 
       cursor.close(); 

       selectedPhoto = BitmapFactory.decodeFile(filePath); 
       //profileImage.setImageBitmap(selectedPhoto); 
       profileImage.setImageBitmap(Bitmap.createScaledBitmap(selectedPhoto, 80, 80, false)); 
      } 
     } 
    } 

profileImage是我佈局的ImageView的。我用縮放butmap到resice圖像到80X80

請給我一些幫助,這個例外,我需要去解決它

感謝

+0

請您發佈錯誤? – user432209 2011-01-29 20:28:44

+0

我不知道它,因爲我在帖子中說,我在我的手機上測試這個,因爲我不知道如何將圖像放入模擬器 – NullPointerException 2011-01-29 20:56:55

回答

1

我只是把你的代碼到我的手機,它工作得精細。我也試過5.5兆字節的圖像沒有問題。

我想我會建議在您的模擬器上設置一個SD卡。有很多關於如何在互聯網上做到這一點的教程。一旦你在模擬器上設置了SD卡,你將能夠在LogCat中得到異常,並確定你出錯的地方。

相關問題