編集:私はほとんどあなたのコメントで答えを投稿しました。このようなものを使用して、 Image から にキャストできassets
ますBitmap
。
InputStream bitmap = null;
try {
bitmap = getAssets().open("icon.png");
bmpImageGallery = BitmapFactory.decodeStream(bitmap);
} catch (IOException e) {
e.printStackTrace();
} finally {
bitmap.close();
}
これは、メソッドのインテントを介してギャラリーから画像を表示するonActivityResult
方法です。
targetURI = data.getData();
try {
bmpImageGallery = MediaStore.Images.Media.getBitmap(this.getContentResolver(), targetURI);
// SET THE IMAGE FROM THE GALLERY TO THE IMAGEVIEW
imgvwSelectedImage.setImageBitmap(bmpImageGallery);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
画像をアップロードするコードは次のとおりです。
byte[] data = null;
ByteArrayOutputStream baos = new ByteArrayOutputStream();
bmpImageGallery.compress(CompressFormat.JPEG, 100, baos);
data = baos.toByteArray();
Bundle postImgGallery = new Bundle();
// ADD THE PHOTO DATA TO THE BUNDLE
postImgGallery.putByteArray("photo", data);
// ADD THE CAPTION FROM THE STRING finalStatusMessage TO THE BUNDLE
if (finalStatusMessage.equals("")) {
/***** DO NOTHING HERE *****/
} else {
postImgGallery.putString("caption", finalStatusMessage);
}
Utility.mAsyncRunner.request(userID + "/photos", postImgGallery, "POST", new PhotoUploadListener(), null);
注:このビットで"caption", finalStatusMessage
は、caption
を に置き換えることもできますmessage
。これらのいずれかを使用した投稿に違いを見たことはありません。ただし、安全のために、どちらかを使用する前に確認してください。;-)
このクラスは、アップロードのステータスを確認するために使用されます。
private class PhotoUploadListener extends BaseRequestListener {
@Override
public void onComplete(String response, Object state) {
// DISPLAY A CONFIRMATION TOAST
}
}