パーソナルブログメモリ

a = [1, 1]
for _ in "*" * 999: a += [sum(a[-2:])]
print(a)

Android Studio 画像を取得させるのも終了させるのもひと苦労

2016-02-21 | コンピュータ
先ほど作成した画像表示をdrawableフォルダから自動取得して表示させようとする。
画像を取得すると想定していないものが取得されたり、アプリケーションを終了させてもタイマーが動いていたりなかなか思うようにいかない。

前日の続きです。
android studio タイマーで画像を切り替え


(1)リフレクションの追加
インポートするクラスはjava.lang.reflect.Fieldです。



(2)画像切り替え部分の変更

fieldsにはandroidデフォルトの画像も取得されていて結局先頭一文字がfで始まるファイルを表示させました。
また、drawableに追加する画像ファイル名にアンダーバーとか入っているとエラーになるようなのでリネームしました。



(3)メニューの追加
端末の方で戻ってもタイマー処理が裏で動いているのでメニューに終了を追加しました。
2つのxmlファイルを修正しました。
アイテムを追加して


その名前の設定ファイルも追加



(4)終了処理の実装
finish()で終了させたと思っていたのですが、studioのログをみるとタイマーは終了していません。
そこでタイマーのキャンセル処理を追加しています。


メニューはこんな感じです。


参考にさせていただいたサイトです。
リソース内画像ファイルの一覧取得:リフレクション
Java Tips:文字列の部分一致検索を行うには
日本Androidの会 オプションメニューで終了
[Android] Toolbar:ツールバーのメニューを表示する
[android]Timer、TimerTask処理の停止を実装しよう[java]


開発環境
ubuntu 15.10
Android Studio 1.5.1
Java openjdk version "1.8.0_66-internal"

FREETEL Priori3 LTE SIMフリー
Android 5.1

最新の画像もっと見る

コメントを投稿

ブログ作成者から承認されるまでコメントは反映されません。