時刻表カウントダウンアプリ

SDカードの時刻表(テキストファイル)を読み込み、出発までの時間を表示するAndroidアプリをつくった。
名前はCountDownTimeTable。英語的に間違ってる気がするかもだけど気にしない。
前に使っていたケータイに同じようなアプリが搭載されており、アプリつくりの勉強も兼ねてつくった。
こっちは自動ネットワーク更新しないなど、いろいろ機能ダウンしているけど、自分で使うぶんには問題ないレベル。
(時刻ファイルをつくりさえすれば何件でも登録できるところはいけてるかと思う。あっちは3件までだったし。)

Android Application Awardでアプリ応募してたので提出した。
一段落したので、振り返ってみる。

  • はまったこと・まなんだこと
    • デバッグ実行できない→AndroidManifest.xmlandroid:debuggable="true"を追加する
    • SDカードへのファイル作成(File#makeDirsとか)で失敗する→AndroidManifest.xmlにSD書き込みパーミッション設定
    • ある日を境にビルド失敗するようになった→debug.keystoreの有効期限切れ。C:\Documents and Settings\<<ユーザ名>>\.android\debug.keystoreを削除する(Windows環境)。有効期限1年みたい。Eclipseのエラーメッセージ:[2010-04-30 17:53:53 - CountDownTimeTable] Error generating final archive: Debug certificate expired on 10/04/29 9:39!
    • 画面遷移したときに画面上部にリストの特定行を表示したい→ListView?#setPosition 使い方まちがってるかも
    • リスト表示のカスタマイズ
    • リストの背景色を変えたい→XXAdapter#getViewの引数のViewでsetBackgroundColor呼ぶ
    • 配列の固定データをリソースで定義したい→res/values/arrays.xml
    • 設定画面欲しい→PreferenceActivity
    • 文字サイズを変更したい→TextViewにandroid:textSizeを追加(レイアウトファイル)
    • ダイアログの表示
    • 区切り文字を検出して文字列を分割したい→String#split
  • 現状の問題
    • 現在時刻とカウントダウン表示が微妙にズレてる(最大1000ミリ秒)←分更新の時わかる
  • やりたいこと
    • 時刻表ファイルを編集したい。テキスト編集したいってIntent発行したら、どのアプリかが拾ってくれるのかな。
    • AndroidMarketに出したい。
    • 英語読めるようになりたい。ネットやSDK付属のReferenceを読んだけど、情報の1割くらいしか読み取れてないかも。読み取るのに時間かかる。
    • Java言語の勉強。ListとかFileとか色々知らなさすぎた。言語だけというのは自分には無理だからアプリつくりながら身につけるのがベターかも。