######前提・実現したいこと
JAVAでAndroidスマホ用アプリを作っています。
本体の所定のストレージに配置したJPGファイルを表示させたいです。
######発生している問題・エラーメッセージ
EXTERNAL_STORAGEに保存されたファイルをImageViewに表示できません。
######該当のソースコード
Camera2BasicFragment.java::
...
private final ImageReader.OnImageAvailableListener mOnImageAvailableListener
= new ImageReader.OnImageAvailableListener() {
@Override public void onImageAvailable(ImageReader reader) { mBackgroundHandler.post(new ImageSaver(reader.acquireNextImage(), mFile)); Bitmap src = BitmapFactory.decodeFile(mfile.getPath());
// ImageView iv = (ImageView) findViewById(R.id.picture); 誤植を修正
ImageView iv = (ImageView) findViewById(R.id.foto);
iv.setImageBitmap(src);
}
};
...
fragmet_camera2_basic.xml::
...
<com.example.android.camera2basic.AutoFitTextureView
android:id="@+id/texture"
android:layout_width="90dp"
android:layout_height="160dp"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true" />
<ImageView android:id="@+id/foto" android:layout_toRightOf="@+id/texture" android:layout_width="wrap_content" android:layout_height="320dp" android:src="@drawable/foto"/>
...
######試したこと
・サンプルプログラムとして動作の確認が取れている、写真撮影+ファイル保存処理の後続に、位置を少しづつ変えながら、ファイルをbitmapにdecodeしImageViewに渡す処理の実装を試みました。
######補足情報(言語/FW/ツール等のバージョンなど)
・プログラムのベースとしてcamera2basicを使用しています。
・Camera2BasicFragment.xmlにImageViewを追加し、
撮影ボタンを押下すると、
撮影+ファイル保存の後でファイルをImageView上に表示するようにしたいです。
findViewByIdが認識されていないので、そもそも、
実装箇所に間違いがあるのだと思っています。
また、findViewByIdにパラメーターを与えていない点にも
問題があると認識しています。
カメラのファインダーが実装されたfragment上にImageViewを実装するのは妥当か?
写真保存後にその内容を表示する処理を実装するのに妥当な箇所は
どういった観点から判断すればよいのか(どの処理のあと/スコープは?)
などが分かっていません。
・検証には、Android Studioを使用して実機上で動作確認をしています。
検証用ツール===
Android Studioバージョン:2.3
検証機===
Androidバージョン:6.0.1