mattak's blog

人生を1ミリ進める

これからandroid開発をするひとに。(1)

はじめに

1年間android開発をしていて、そのノウハウが自分の中だけにたまっていった。 そのたまっていたノウハウと基本、思ったことを整理して書き出す。

何を書こうか?

とりあえず、思いついたことをつらつらと。

重要だと思う部分

  • GoogleWalletでの課金実装
  • webviewについて

役に立つツール、ライブラリについて

  • DeployGate
  • AssetStudio
  • ActionBarSherlock
  • support-v4
  • gson
  • eclipse Virapper

ビルドツールについて

データ周りについて

  • 基本のsqlite
  • ormlite
  • content provider
  • sdcardと/dataについて

レイアウトについて

  • dpiの考え方
  • design guidline

基本の仕組みについて

  • Activity
  • Service
  • Preference
  • Intent
  • Fragment
  • ActionBar
  • ViewPager

実装パターンについて

  • AsyncTask
  • ViewHolder
  • StringBuilder
  • interfaceについて

テストについて

  • テストのやり方
  • テスト周りの面倒な問題
  • 各種テストツール
    • monkeyrunner
    • robotium
    • roboletric

プロジェクトについて

  • プロジェクトディレクトリの構成
  • ライブラリの作り方
  • genとbin

リソースについて

  • 使うと便利
    • menu
    • rawとassets
  • パッケージとリソースについて
  • layout idとリソースについて

全般

  • デバイスの状況について
  • 各バージョンでの差異
  • 署名キーについて
  • adbの各種便利コマンド
  • 自作したアプリ管理ツールについて
  • アニメーションの実装について
  • デバック方法について
  • CUI操作とGUI操作について
  • はまりどころ
    • permission
    • リソースIDがおかしい
  • 使うべきでないpermission
  • 最小のアプリとその仕組み

とりあえず

今思いつくところはこんな感じ。

  • ggrばわかるような情報は書かない方針で。
  • ggってもすぐにわからない情報は書いていく方針で。

優先度を考える

  • ただの技術的なtipsは優先度が低く
  • 作るべきかどうか、最初の意思決定に影響してしまう場所は優先度を高く
  • 開発効率を作用するような部分は優先度を少し高く
  • 知らないとよくわからない実装の基本を多少高く

ざっくり整理

分類1: 意思決定に関わる部分

  • 課金
  • ユーザ管理
  • マーケット
  • 各バージョンでの主な差異

分類2: 開発効率を左右する部分

  • DeployGate
  • cuiツール
  • ソースの調べ方

分類3: 知っておくべき実装の基本

  • ライフサイクル
  • permission
  • 基本のクラス Activity,Fragment, ...
  • レイアウト周り
  • データ周り

分類4: ただの技術的なTIPS

  • もろもろ

うーん、うまくまとまってないけど。 とりあえずこんな感じで。

各項目を書いていくことにする。(このブログに書くかはふめいだけど)