海月玲二

しばらく使ってて,面倒な気がしてきたあたりを機能追加.

  • ディレクトリ開く画面に,履歴とブックマークの機能をつけた
  • 一覧画面でもファイルを選択できるようにした

毎回ディレクトリ指定するのが思ったより面倒だったし,一覧を見ながら一部のファイルをよけたりする場面もある気がしてきた次第.

あと,ちゃんと実行時にストレージアクセスを要求して,拒否されたらメッセージとか出して終了するようにしてみた.

実は,これはいきなりWRITE_EXTERNAL_STORAGEの権限のほうを要求している.WRITEが必要なのは「削除」機能のときだけなので,理屈から言えば,最初はREADを要求して,「削除」を実行しようとしたときだけWRITEをあらためて要求するべきのように思う.でも,何故かうまくいかなったのだ.READだけ要求してみても,allowを押したあとはどういうわけかWRITEのパーミッションチェックも通ってしまう.よくわからない.

というか,READでもWRITEでも,パーミッション要求をしたときのメッセージって一緒だよね.区別されてないんだろうか?

あいかわらずAndroidのシステムはよくわからないことが多いな.そういや,一覧画面でファイルを選択できるようにするのも結構苦労した.最初はいわゆるActionModeを使ってやろうとしたのだが,これのCHOICE_MODE_MULTIPLE_MODALってつまり「一時的に複数選択して,選択対象に何かの処理をして,選択は解除される」という動作のためのものだよね.こういうアプリの場合は選択状態はずっと維持されてほしいので,「CHOICE_MODE_MULTIPLE_MODALが発動したときに,選択状態をクリアしない(あるいはそれまでの選択状態に戻す)」という方法を探したけど,どうしても見つからなかった.

しょうがないので,アクションバーのアイコンを変えたり選択モード中はタッチの動作を変えたりとかを全手動でやっている.あほかと思うが,この方針に変えたらすぐ完成した.