質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.47%
Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

Q&A

解決済

1回答

9800閲覧

Androidで画像の読み込み方を教えてほしい

ehyai

総合スコア43

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

0グッド

0クリップ

投稿2016/10/27 12:51

編集2016/10/27 13:04

###前提・実現したいこと
Android Studioを用いて、カメラで撮った写真の画像を表示させるアプリを作りたいと考えています。そのために、以下のサイトを参考に、プログラムを書きました。
http://tech.jsa.co.jp/how_to_get_storage_path/
しかし、サイトのように画像を読み込むことができなくて、困ってしまいました。どのような方法をとればうまく読み込むことができるようになるか、教えていただけたらと思います。お手数をお掛けしますが、よろしくお願いします。
###発生している問題・エラーメッセージ
まず、自分のAndroidスマートフォンの内部ストレージの「DCIM/Camera」のファイルの中に、アプリで表示させたいと考えている「DSC_0133.JPG」というカメラで撮った写真の画像を入れました。
その後、そのAndroidスマートフォンをUSBケーブルでパソコンを繋ぎ、アプリを実行させました。
ところが、「if(file.exists())」のところで画像を認識できていないらしく、else分の方に流れてしまうために画像を表示させることができないようなのです。

###該当のソースコード
「MainActivity」
package 個人情報が含まれているため省略

import android.graphics.BitmapFactory;
import android.os.Environment;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.widget.ImageView;

import java.io.File;

public class MainActivity extends AppCompatActivity {

@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ImageView img = (ImageView)findViewById(R.id.img); String path = Environment.getExternalStorageDirectory().getPath(); System.out.println("パス="+ path); File dir = new File(path+"/DCIM/Camera/"); File file = new File(dir.getAbsolutePath()+"/DSC_0133.JPG"); if (file.exists()) { img.setImageBitmap(BitmapFactory.decodeFile(file.getPath())); }else{ System.out.println("失敗、ファイルのパス="+ file); } }

}

「activity_main.xml」

<?xml version="1.0" encoding="utf-8"?>

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_main" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=個人情報が含まれているため省略>

<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Hello World!" /> <ImageView android:id="@+id/img" android:layout_width="wrap_content" android:layout_height="wrap_content" />
</RelativeLayout>

###試したこと
画像の拡張子をJPGからjpgに変えるなどの方法を試してみたのですが、上手くいきませんでした。

###補足情報(言語/FW/ツール等のバージョンなど)
Androidバージョン=4.4.2
Android studio Version=2.2.1

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yona

2016/10/27 14:29

コードはコード用の記述に修正してください。
ehyai

2016/10/27 14:53

すみません、コード用の記述というのがどのように書けばよいのか今一つわからなくて、もしそちらさえよろしければ、どう書けばよいか教えてもらえないでしょうか?まだこういう場で尋ねるのに慣れていないものでして。
yona

2016/10/27 15:30

サイトの使い方はヘルプに書いてあるのでそちらを見ましょう。併せて他の機能も見た方がいいですよ。
ehyai

2016/10/27 15:53

詳しく教えてくださってありがとうございました。次からコードを書くときは注意します。また、わからないことが出てきた時はヘルプを見るようにしたいと思います。
guest

回答1

0

ベストアンサー

下記を確認してください。
・マニフェストファイルにパーミッションを記述してる。
・アプリ設定からアプリにパーミッションを付与しているか。

投稿2016/10/27 14:30

yona

総合スコア18155

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ehyai

2016/10/27 14:50

回答してくださってありがとうございます!マニフェストファイルとパーミッションで調べた結果、「AndroidManifest.xml」に<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>と記述したら正しく画像を読み込むことができました。問題が解決したのもあなたのおかげです。本当にありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.47%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問