遥かへのスピードランナー

シリコンバレーでAndroidアプリの開発してます。コンピュータービジョン・3D・アルゴリズム界隈にもたまに出現します。

2010-01-01から1年間の記事一覧

Androidアプリで使える便利なUIライブラリ

Androidアプリと言えばUI命!、ということでギークな方々が作られている便利なUIライブラリを見つけられる限り、スクリーンショット付きでまとめてみます。 皆様いずれもソースと一部サンプルアプリを公開されているのですぐにでも試してみることができます…

Android MockとRoboGuiceでTDD

Androidアプリ開発(に限った話ではないですが)でTDDしたいと思ったときに、テスト対象クラスのフィールドをモックで差し替えたい、と思うことがしばしばあります。依存するクラスの振る舞いを固定化することで、テスト対象オブジェクトの振る舞いだけに着…

AndroidでContentProviderのモックを使ったテストを行う

ContentProviderからデータを取得しているアプリのテストコードを書くときに、テストデータとして端末内のデータを使わずにモックのデータを使いたいということは多いと思います。 今回は端末内の画像を一覧表示するアプリケーションを例にして、このような…

RobotiumでAndroidアプリのシナリオテストを自動化する

Androidアプリのテスト自動化について色々調査していたら、Robotiumというテストツールを見つけました。このツール、便利なんですが、国内ではまだあまり知られてないみたいなので紹介してみます。 Robotiumとは RobotiumとはAndroidアプリケーションのブラ…

数値キーでCursorJoinerを使う

android.databaseパッケージにCursorJoinerというクラスがあります。これは何かというと2つの異なるCursorのデータをJoinっぽく扱うことができるクラスで、たとえばContent Provider同士のデータをJoinさせてあげるときに使うことができます。使い方は、リ…

AndroidアプリでSMS受信を偽装する方法

今日のGoogle Developer Day 2010のセッションで、IMoNiの作者@t_eggさんが、「IMoNiはSMSのContentProviderにデータを突っ込むことで、iモード.netメールの受信通知をSMSとして(実際に受信している訳ではなく、仮想的に)受信させている」ということを説明…

Live Wallpaperで動画ファイルをそのまま表示する(とりあえずできたよ編)

Android OS 2.1からLive Wallpaper(ライブ壁紙)の機能が追加されていますが、いざLive Wallpaperを自分で作る、となると結構面倒です。実装方法の詳細は、「Android 2.1の新機能「Live Wallpaper」で作る、美しく燃える“待ち受け”」に詳しいですが、Wallpa…

Androidの開発効率化Tips

2010/09/06追記:id:gaeさんよりXMLのファイル名はキャメルケースにできない、という指摘を頂きました。XMLのファイル名は未検証のまま書いてしまっていたのでそれに関する記述を削除させて頂きました。 Androidの開発にもだいぶ慣れてきて、スムーズに開発…

iPhone・iPad用に手書き文字認識ライブラリZinniaをビルドする

iPhone・iPad向けに手書き文字認識ライブラリ-Zinniaをビルドしてみて、結構苦労したので、そのときのメモです。Zinniaと書いてますが、Fat binary全般についての僕の理解も込みで説明してます。以下iPhoneと書いてますが、iPad用でも同様の内容があてはまり…

IS01専用Androidアプリ「LEDモールス」を公開しました

ものすごく久しぶりのブログになってしまいましたが生きてます。 最近は社内でスマートフォン関連の開発をやってまして、どっぷりとAndroidに浸かっています。 機種依存やら何やらに悩まされたり、Android開発の奥深さに毎度唸らされる毎日です。で、今日は…

Blenderでドミノ崩し

前回に引き続き、今度はblenderでモデルを組み立ててみます。blender上ではpythonのマクロが使えるので、手作業が大変でも、自動化で簡単に複雑なモデルを組み立てることができます。 ってなわけでblender上でドミノを配列させるスクリプトを組んでみました…

フォード・ファルカーソンのアルゴリムで最大流-最小切断問題を解く

PRMLの8.3節では、マルコフ確率場を応用した事例として画像のノイズ除去がでてきますが、PRMLで紹介されている「グラフカットアルゴリズム」を試すには最大流問題を解く必要があるのでアルゴリズムの勉強もかねて実装してみました。最大フロー問題または最大…

Blender+SIO2で3D物理エンジン

すっごい間が空いてしまい、いまさらなんですが、年末年始のプチ成果まとめ第2段です。前回のBox2Dに引き続き、今度は3Dの物理エンジンをいじってみます。Box2Dの場合、貧弱ではありますが線画機能(DebugDraw)が内蔵されていますが、3Dの場合はレンダリング…

Box2DFlashAS3でブロック崩しゲームを作る

世の中は年が開けて抱負やら振り返りやらでとてもフレッシュな香りがただよっていますが、僕は空気も読まずにとりあえず年末年始の休暇にやってたことをまとめようと思います。まずはBox2DFlashAS3という物理エンジンのライブラリを使ってブロック崩しゲーム…