タグ

2015年5月19日のブックマーク (2件)

  • 未選択状態を持つデータをどう表現するか悩んだ話、その2 - SharedPreferences -

    前回 の続きです。 1. enum 版で SharedPreferences SharedPreferences.Editor には残念ながら putSerializable() 的なものがありません。そのため、putInt() なりを使わざるを得ません。 enum 版では ・enum から int に変換して SharedPreferences に保存 ・SharedPreferences から取得した int の値を enum に変換 という処理が必要になります。 @zaki50 さんの gist を参考に前回のコードに合わせました。zaki50 さんいつもありがとう。 private static final String PREF_SIZE_KEY = "pref_size_key"; public static void saveSize(@NonNull Context con

  • throw Life - AndroidのHandlerとは何か?

    AndroidでWeb APIを使う場合、マルチスレッドによるユーザビリティ向上を以前のエントリで説明しました。 AndroidアプリのUIはシングル・スレッド モデルです。 単純にマルチスレッドにしてUIの操作をしてしまうと、CalledFromWrongThreadExceptionでアプリがダウンしてしまいます。 これを回避する仕組みがHandlerです。 Handlerの仕組みを簡単に説明しようと思ったのですが、 またもや長くなってしまったので、先にまとめます。 AndroidUI操作はシングル・スレッド モデル ユーザビリティ向上の為にはマルチスレッドが必要 Handlerで実現 Handlerを使わない場合に起きる例外は実行スレッドのチェックで発生 Handlerを使うと、UI Threadの持つキューにジョブを登録できる キューはUI Threadにより実行される