2013-11-20 3 views
0

в моем проекте, у меня возникла проблема с вставкой картинки с android в базу данных. У меня есть успех вставить картинку из галереи мобильного телефона, но не работать с камерой. Это мой исходный кодВставить картинку с android в базу данных

protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    super.onActivityResult(requestCode, resultCode, data); 
    if (resultCode == RESULT_OK) { 
     if (requestCode == REQUEST_CAMERA) { 
      Uri selectedImage = data.getData(); 
      String[] filePathColumn = { MediaColumns.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(); 
      pathToOurFile = filePath; 
      format = filePath.substring(filePath.lastIndexOf(".") + 1, 
        filePath.length()); 
      this.imGambar.setImageBitmap((Bitmap) data.getExtras().get(
        "data")); 

     } else if (requestCode == SELECT_FILE) { 
      Uri selectedImage = data.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(); 
      pathToOurFile = filePath; 
      format = filePath.substring(filePath.lastIndexOf(".") + 1, 
        filePath.length()); 
      this.imGambar 
        .setImageBitmap(BitmapFactory.decodeFile(filePath)); 
     } 
    } 
} 
+1

Что значит «не работает»? Любая трассировка журнала? Более подробная информация. – gahfy

+0

если я закрою кнопку сохранения, это приложение остановилось –

ответ

0

Этот метод не работает нормально, чтобы получить Ури в результате запроса камеры деятельности. Вы бы лучше использовать:

Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE); 
mImageCaptureUri = getOutputMediaFileUri(MEDIA_TYPE_IMAGE); 
cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, mImageCaptureUri); 
startActivityForResult(cameraIntent, CAMERA_REQUEST); 

И в onActivityResult:

String path = mImageCaptureUri.toString(); 

где

Uri mImageCaptureUri ; 

является глобальной переменной.

Надеюсь, это поможет ...

Смежные вопросы