ImageViewの回では、srcにdrawableに置いた画像を直接指定して画像を表示していた・・・。
今回は、アプリフォルダにある画像ファイルを読み込んで、いったんBitmapにし、それをImageViewで表示する・・・。
activity_main.xmlは、
ImageView・・・。
MainActivity.javaでは、
BitmapFactory.decodeFileで"test.png"を読み込み、Bitmapオブジェクトbitmapを返す・・・。
(ここで注意なのがファイルパス・・・。/data/data/<パッケージ名>/filesの下にtest.pngを置くのだが、このパスはgetFilesDir().getPath() + "/" + "test.png"というような絶対パスじゃないと失敗してnullを返すようだ・・・。
ここでハマった・・・。Exceptionも返さないのはなんだかなあという感じ・・・。)
あとはimageView1を取得し、setImageBitmapにbitmapを指定するだけ・・・。
ただ、test.pngの準備が面倒・・・。
C:\Temp>adb install -r Bitmap_.apk 2555 KB/s (496048 bytes in 0.189s) pkg: /data/local/tmp/Bitmap_.apk Success
Bitmap_.apkをインストール・・・。
C:\Temp>adb push test.png /data/local/tmp 3782 KB/s (22794 bytes in 0.005s)
test.pngを/data/local/tmpにいったんpush・・・。
C:\Temp>adb shell
adb shellでログイン・・・。
shell@C5303:/ $ run-as com.bgstation0.android.sample.bitmap_
run-asでアプリユーザ、アプリフォルダに・・・。
shell@C5303:/data/data/com.bgstation0.android.sample.bitmap_ $ ls cache files lib
filesなかったらmkdirでつくる・・・。
shell@C5303:/data/data/com.bgstation0.android.sample.bitmap_ $ cd files
filesの下へ移動・・・。
shell@C5303:/data/data/com.bgstation0.android.sample.bitmap_/files $ cp /data/local/tmp/test.png . shell@C5303:/data/data/com.bgstation0.android.sample.bitmap_/files $ ls test.png
test.pngをそこにコピー・・・。
これで準備完了・・・。
あとは実行すると、
こんな感じのtest.pngが表示される・・・。
Sample/android/Bitmap/Bitmap/src/Bitmap at master · bg1bgst333/Sample · GitHub