試作ランチャーの作成

=前置き=

 睡眠のタイミングも安定してきて、眠気もそこそこなくなってきたので活動再開。

 今まで3つほどアップロードしてみて、「アップロードが面倒」なのはもちろんのこと「ダウンロードする側も面倒」なんじゃないか、と思うようになってきた。e3roidのサンプルだとリストから選んだものを起動できるようになっていて、これと同じ形式の方がアップロードする側もダウンロードする側も楽なんじゃないかと思う。アップロード側はコードの使い回しや各種設定を毎回やらずに済むし、ダウンロード側はいちいち探さなくても更新の通達が来るはずなのでそこで更新するだけで良い。クラス名の衝突とかコードの肥大化によるロード時間の増加など気になる部分はあるものの、ひとまずそういう試作のランチャーを作ってみる。

=リスト=

 e3roidはサンプル名が木構造で並んでいて、選んだものが実行される形式になっている。自分の試作は木構造ではなくただのリストで十分なので、ListActivityで実現する。

 リストの中身は基本的にコードの外で完結させたいので、:Tips ListView を使おう 〜 基礎編 〜 その1 - - Google Android - 雑記帳の「リソースの XML ファイルのみで ListView を作成する」を参考に設定する。

 あとは「タッチして選んだ時の挙動」を設定するため、http://www.adakoda.com/android/000077.htmlを参考にリスナをセットする。(リストの追加やアダプタの設定は上のXMLだけで完結しており、カーソルが合った時の挙動は特にないので、クリック時の挙動のみ対応)

 さらに実行するやつのクラス名もコード外で完結させたいので、http://www.syboos.jp/java/doc/create-object-instance-from-string.htmlを元に「文字列」からClass.forNameを使って「クラス」にするようにした。XMLで指定した文字列の配列の取得はhttp://magpad.jugem.jp/?eid=84を参考にした。

 余裕があればhttp://labs.techfirm.co.jp/android/cho/751の要領でスクリーンショットを一緒に表示したいところだけど、負担が大きくなるのでまだしばらくはそういう対応はしない予定。

=移植=

 過去に作った全てのコードを持ってくる。そのままだと「Main」のような同じ名前だけど別挙動のものがコンフリクトするので、フォルダを掘ってそこにコピペするようにした。また、パッケージ名が変わるのでそこだけ修正した。

=起動=

 基本的にはIntentを作ってstartActivityするだけ。

 ただし、全てのActivityはAndroidManifestで宣言する必要があるので、これを追加する。フォルダを掘ったので「android:name=".tennis.Main"」という感じでフォルダまで含める必要がある。

=完成=

 上の対応だけでランチャーは出来上がった。あとは同じコードを整理したり、アクトレーザーをe3roid不使用バージョンに変更して追加するだけ。特にログする内容はもうなさそうなので、ログはここまでで終了。

=予定=

 アクトレーザーの書き直しと4つ目の試作を今日〜日曜でやる予定。その後は就活の面接の有無に応じて体調回復を優先したりするつもり。