2011年9月3日のブックマーク (4件)

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

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

    naoya2k
    naoya2k 2011/09/03
    非同期処理したいだけの人は、こんなの参考にしてないでASyncTask使え。
  • Asynctaskを使って非同期処理を行う | TechBooster

    先日、Google Developer Day2010に参加してきました。その中のティム ブレイさんの「高性能なAndroidアプリを作るには」というセッションで、ユーザの満足度を高めるためにはUIスレッドが大事という話がありました。 UIスレッドで重たい処理を行ってしまうと、その処理が終わるまではユーザの操作を受け付けなくなってしまいます。そうするとアプリは正規の処理一生懸命しているのですが、ユーザはアプリがハングしてしまったのではないか?と思ったり、反応が遅くて不快に思ったりします。 それを防ぐためにAsynctaskが紹介されていました。今回はそのAsynctaskを使った例を説明したいと思います。 それでは続きで説明してきます。 サンプル:画像処理 重たい処理の例として画像処理をあげたいと思います。AndroidMarketにもトイカメラ風の写真を撮るアプリなど素晴らしいアプリがい

    naoya2k
    naoya2k 2011/09/03
    ここの例のようにdoInBackground()の中でonProgressUpdateを直接呼びだしちゃダメなのでみんなは注意してね。publishProgressをdoInBackground内で呼ぶとシステムがonProgressUpdateを呼び出してくれるんだよ。
  • Google Code Archive - Long-term storage for Google Code Project Hosting.

    Code Archive Skip to content Google About Google Privacy Terms

  • 【コラム】イマドキのIDE事情 (52) EclipseでGitを使おう! EGitを試してみる | エンタープライズ | マイコミジャーナル

    Gitとは? 最近、分散バージョン管理システムが注目を集めている。分散バージョン管理システムでは、CVSやSubversionなどこれまでのバージョン管理システムと違い、単一のリポジトリで集中的に管理するのではなく、複数のリポジトリを利用することができ、必要に応じてリポジトリ間の同期を取ることになる。 開発者は自分専用のローカルリポジトリを持ち、普段はローカルリポジトリに対してコミットを行い、必要になった時点で中央リポジトリに同期するといった使い方が可能だ。また、リポジトリをローカルに持つことによって、オフライン時でもコミットができ、オンラインになったタイミングでリモートリポジトリと同期を取るといった運用も可能になる。 図1 分散バージョン管理システム 主な分散バージョン管理システムとしてはGit、Mercurial、Bazaarなどがある。とりわけGitLinuxカーネルの開発にも使用

    naoya2k
    naoya2k 2011/09/03