AndroidとiPhoneで勉強アプリをつくってみた

AndroidiPhoneで勉強アプリをつくっていた|る。ほとんどできたのだがもしかしたら永遠に出来上がらない気もしてきている。iconがつくれないからだ。。。


参考のために自分のスペック

  • javaはweb系、SQLは難しいのは知らない、IT末端零細企業1x年。。。
  • androidはいつも断続的に勉強していて何も頭に入らなくて気持ち悪い状態
  • iOSはcocos2dをさわったことあり。最近ハイクのクライアントを作っていたけど行き詰まり。javaに比べると知らないこと多い。
  • c言語はかけない
  • Macユーザー10年以上だがずっと初心者

どんなアプリか

  • いわゆるタイムカード。ある日付の開始と終了の時刻、メモを登録/編集/削除ができる
  • 1ヶ月のデータをまとめてcsvに出力してメールで送付できる
  • 開始と終了時刻の初期値を登録しておける(※)
  • 英語と日本語

調べること

  • データベース的なものの作成、追加/更新/削除
  • 表的なものの作成や操作方法
  • CSVファイルの作成とメール送信
  • 初期値の登録/読み出し方法

やめたこと/その理由

  • サーバとの同期/サーバ側の仕様や実装がめんどくさくなった
  • GPS(登録した時の位置情報も記録するとかね)/GoogleMapがうまく使えないので挫折

Android版雑感

  • SQLiteOpenHelperはめんどくさかったけどまあありがちな感じ。
  • sqliteのidに驚く
  • ListViewのAdapterはこちゃこちゃはまった。いじっているうちに解決したものもあり。
  • AsyncTaskはサンプルそのままでできた(ようにみえる)
  • xmlの書き方とかわかってきたら楽になった(コードアシストとかね)
  • カレンダー形式なので、データがない日も表の明細に表示
  • 時間ピッカーなどは、10分単位にできない。自分でやれってことか
  • エミュレータの起動が死ぬほど遅い。間違えて落としたらキレそうになる
  • 高解像度のエミュレータを小さく表示する方法を知った
  • csvファイルはSDカードへ作成。そのためにAndroidManifest.xmlの記述もいる
    • そうしないとメールから読めないから
  • エミュレータでもメールをおくれる
    • ただしメールの設定をしておいたら! してないときはできないかと思っていた。かつあるいは、古いバージョンはダメだったかも? どっちだっけな
  • 解像度に合わせてのアイコンとか調べ始めたら絶望してきた

iPhone版雑感

  • TableViewの操作などは、ハイククライアントでだいぶなれてきた
  • CoreDataは何度目かの正直
    • あまり理解しようとしないのが良いかも
  • stackoverflowに何度もお世話になる
  • 日付、時間の入力が、日本語表示とか、24時間表記とかできてない
  • データがない日が作成できていない
  • シミュレータからメールをおくれなくてショック!
  • 実機でもエラーになりショック!

終わりが見えない理由

  • 実機がない。なくはないが近くにない。スマホアプリ開発は、一人一台手元に常備していないと悲しい。
  • アイコンが描けない。ある程度のクオリティのアイコンじゃないとだめな気がする。よほど中身がよくないと、ぽんこつなアイコンを自分の端末の画面に表示しておきたくないと思う。