これからandroid開発をするひとに。(1)
はじめに
1年間android開発をしていて、そのノウハウが自分の中だけにたまっていった。 そのたまっていたノウハウと基本、思ったことを整理して書き出す。
何を書こうか?
とりあえず、思いついたことをつらつらと。
重要だと思う部分
- GoogleWalletでの課金実装
- webviewについて
役に立つツール、ライブラリについて
- DeployGate
- AssetStudio
- ActionBarSherlock
- support-v4
- gson
- eclipse Virapper
ビルドツールについて
- ant
- maven
データ周りについて
- 基本の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
- もろもろ
うーん、うまくまとまってないけど。 とりあえずこんな感じで。
各項目を書いていくことにする。(このブログに書くかはふめいだけど)