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

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

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

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

Q&A

解決済

1回答

6952閲覧

AndroidStudioで実機のファイル内の画像(複数)を一覧表示するには

etuko

総合スコア12

Android Studio

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

1グッド

0クリップ

投稿2015/12/03 15:52

編集2015/12/04 13:42

AndroidStudio初心者です。エミュレーターとして実機を使用しています。その実機に保存されているファイル(仮にhoge)内の画像(複数)を、AndoroidStudioで一覧表示し、ボタンクリックでそれぞれの画像を表示したいのですが、実機からファイル内の複数の画像(.png)を一覧表示するには、どうすればよいのでしょうか。宜しくお願いします。

ご指摘ありがとうございます。
実行したプログラムですが、(実機でデパッグ)現在地のマップを表示。実機に画像保存用ファイル(例えばhoge)を設定。タイマーでスナップショットを複数(例えばタイマーキャンセルで5枚)取得("yyyy-MM-dd HH-mm-ss.png")し、実機のhogeファイルに保存するというものです。実機のhogeファイルには、取得したスナップショット画像が保存されていることが確認できました。
実機で直接各スナップショット画像を表示させることはできますが・・・。実機のhogeファイルに保存されているスナップショット画像(5枚)をセカンドアクティビティのリストビューで"・・・.png"を一覧表示、(現在地の移動が前提で)そのうちの一か所の画像選択、クリックして、サードアクティビティのイメージビューに表示するというものです。うまく表現できていないのかも分かりませんが、宜しくお願いします。

すみません、うまく表現できなくて。
「hogeファイル」は、実機にスナップショット画像を保存するためのフォルダです。実機でデバッグし、実機内にhogeフォルダを作成、そのhogeファイル内にスナップショット画像を保存(保存されていることは、確認済み)しました。その実機に保存されたスナップショット画像を実機から読み込み、追加したアクティビティで表示したいのですが・・・。実機に保存されている画像を、AndroidStudioで読み込むことは可能でしょうか。まず、そのプログラムを知りたいと思っています。宜しくお願いします。

退会済みユーザー👍を押しています

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

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

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

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

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

yona

2015/12/03 16:52

何をしたいのかさっぱりわかりません。 ・エミュレータと実機は異なります。どちらを使っているのでしょうか? ・ファイルなのに複数の画像を持っているのはなぜでしょう。 ・一覧表示とはどんなものでしょうか? ・ボタンクリックは何のボタンのことでしょうか?
izkn

2015/12/04 06:26

こちらの質問が他のユーザから「質問の範囲が広すぎる」という評価を受けています わからない点を明確にし、調査したこと・試したことと共に記入していただくと、回答が得られやすくなります。
hamer2

2015/12/04 06:36 編集

yona

2015/12/04 07:01

hogeファイルがわかりません。 フォルダなのか、画像ファイルなのか、画像ファイル名を列記したファイルなのか
guest

回答1

0

ベストアンサー

まずリストを表示する部分はここにある内容で事足りると思われます。

http://thr3a.hatenablog.com/entry/20130902/1378107379

Java

1public class SecondActivity extends Activity { 2 3 private List<String> imageList = new ArrayList<String>(); 4 private ListView lv; 5 private File[] files; 6 7 @Override 8 protected void onCreate(Bundle savedInstanceState) { 9 super.onCreate(savedInstanceState); 10 setContentView(R.layout.activity_main); 11 12 String sdPath = Environment.getExternalStorageDirectory().getPath(); 13 files = new File(sdPath).listFiles(); 14 if(files != null){ 15 for(int i = 0; i < files.length; i++){ 16 imageList.add(files[i].getName()); 17 } 18 19 lv = (ListView) findViewById(R.id.imagelist); 20 ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_expandable_list_item_1, imageList); 21 lv.setAdapter(adapter); 22 23 lv.setOnItemClickListener(new AdapterView.OnItemClickListener() { 24 @Override 25 public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 26 ListView listView = (ListView) parent; 27 String item = (String) listView.getItemAtPosition(position); 28 showItem(item); 29 } 30 }); 31 } 32 } 33 public void showItem(String str){ 34 Toast.makeText(this, "ファイル名:" + str, Toast.LENGTH_SHORT).show(); 35 } 36}

微細な変更加えましたがこんな感じだとおもいます。

ListViewではなくてGridViewを使う方法もありますが、ひとまずListViewということなので、
上記URLを参考にすればいけると思います。

次に表示する部分ですが
ThirdActivity内でImgViewを作り、この形式で渡してあげれば表示まではできるはずです。

上のコード文の
showItemの中にIntentとBundleで巧い具合にThirdActivityに渡してあげてください。
1行目のファイルURLに利用する為のSecondActivityで取得しているFilePathを渡せばいいはずです。

Java

1File imgFile = new File("/sdcard/Images/test_image.jpg"); 2 3if(imgFile.exists()){ 4 5 Bitmap myBitmap = BitmapFactory.decodeFile(imgFile.getAbsolutePath()); 6 7 ImageView myImage = (ImageView) findViewById(R.id.imageviewTest); 8 9 myImage.setImageBitmap(myBitmap); 10 11}

上記は下記URLからの転載です。

http://dev.classmethod.jp/smartphone/basic-android-component-04-gridview/

ひとまずこのような回答となります。
ListViewの制御のAdapterであったりイメージリソースのメモリ管理等課題もありますが、
こんな雰囲気で動く感じにはなるのではないかと思います。(コードに関しては未検証です。

投稿2015/12/04 07:06

einzbern00

総合スコア30

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

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

etuko

2015/12/05 12:13

ありがとうございます。まだ、セカンドアクティビティですが、教えて頂きましたプログラムで、携帯のSDカード内のファイルを一覧表示することができ、endsWithで自身で設定しましたファイル(名:hoge)も確認できました。このセカンドアクティビティの段階で、<SDカード⇒ファイル一覧表示>ではなく、<自作hogeファイル⇒ファイル内の画像ファイル一覧>にしたいのですが、プログラムをどのように変更すれば可能なのでしょうか。いろいろ記述してみましたが、プログラムの文法が解ってないので、変更できません。何度もすみませんが、宜しくお願いします。
etuko

2015/12/06 08:39

ありがとうございます。「getPath().+"hoge"」で、画像ファイルの一覧表示ができました。ただ現状、ThirdActivityに表示できず、苦戦しております。
etuko

2015/12/09 09:03

苦戦していました、ThirdActivityでの表示ですが、Extraでうまく表示することができました。ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問