お世話になります。
Android開発にて、検索しても解決しなかったので質問させて頂きます。
やりたい事:ギャラリーもしくはカメラから画像を持ってきて、画像ファイルをpost送信、あるいはget送信したいと思っています。
画像ファイルをpost送信に付いては、【DefaultHttpClient】を使った方法に付いては色々なサイトで紹介されているのですが、現在、その方法は非推奨となっており、行き詰まっております。
【DefaultHttpClient】に代わる方法で、画像ファイルをpost送信できる方法を教えて頂きたいです。
ギャラリーもしくはカメラから画像を持って来るまでは、下記のサイトを参考にさせて頂きました。
http://qiita.com/Yuki_Yamada/items/137d15a4e65ed2308787
また、取得出来たUriを具体的にどうやってpost送信できる状態まで、持っていくのかもわからない状態です。
以上、二点、ご教授頂けたらと思います。
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
public class PictureActivity extends AppCompatActivity {
private Uri m_uri; private static final int REQUEST_CHOOSER = 1000; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_picture); setViews(); } private void setViews() { Button button = (Button) findViewById(R.id.buttonPanel); button.setOnClickListener(button_onClick); } private View.OnClickListener button_onClick = new View.OnClickListener() { @Override public void onClick(View view) { showGallery(); } }; private void showGallery() { //カメラの起動Intentの用意 String photoName = System.currentTimeMillis() + ".jpg"; ContentValues contentValues = new ContentValues(); contentValues.put(MediaStore.Images.Media.TITLE, photoName); contentValues.put(MediaStore.Images.Media.MIME_TYPE, "image/jpeg"); m_uri = getContentResolver() .insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, contentValues); Intent intentCamera = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); intentCamera.putExtra(MediaStore.EXTRA_OUTPUT, m_uri); // ギャラリー用のIntent作成 Intent intentGallery; if (Build.VERSION.SDK_INT < 19) { intentGallery = new Intent(Intent.ACTION_GET_CONTENT); intentGallery.setType("image/*"); } else { intentGallery = new Intent(Intent.ACTION_OPEN_DOCUMENT); intentGallery.addCategory(Intent.CATEGORY_OPENABLE); intentGallery.setType("image/jpeg"); } Intent intent = Intent.createChooser(intentCamera, "画像の選択"); intent.putExtra(Intent.EXTRA_INITIAL_INTENTS, new Intent[] {intentGallery}); startActivityForResult(intent, REQUEST_CHOOSER); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if(requestCode == REQUEST_CHOOSER) { if(resultCode != RESULT_OK) { // キャンセル時 return ; } Uri resultUri = (data != null ? data.getData() : m_uri); if(resultUri == null) { // 取得失敗 return; } // ギャラリーへスキャンを促す MediaScannerConnection.scanFile( this, new String[]{resultUri.getPath()}, new String[]{"image/jpeg"}, null ); // 画像を設定 ImageView imageView = (ImageView)findViewById(R.id.image_view); imageView.setImageURI(resultUri); } }
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。