あの手この手で 楽して楽しむ Android 開発 Tips どくぴー(@e10dokup)
誰
和田 佳大 / どくぴー / @e10dokup
・神戸大学で山登りしながら単位乞食・明石高専卒業生(2015/3)・Android とか・すらこん!開発者・HxS とかいう怪しい団体・よく言われる方のアダ名がアンチハラスメント
ポリシーに引っかかりそうなので自重してます
Android 開発のイメージAndroid 開発のイメージ
・Java を使って開発・SDK・Android Studio ? Eclipse ?・API Level ?・流れがすごい速い・etc.
最初の一歩「から」難しい
Android 開発のイメージ最初の一歩を踏み出したいあなたへ
初めての Android アプリ開発レッスン - https://anharu.keiji.io/
有山圭二氏による(たぶん日本語最新の)
Android チュートリアル.Java の話から丁寧に解説がされており,Javaちょっとできるマン位からできる[要出典]
Android Studio - キーバインド
ちゃんと使えてますか?F2エラーの箇所に飛ぶ
opt+return修正候補の表示 MacWin alt+return
コード生成(コンストラクタとか)
MacWin
cmd+Nalt+insert
ctrl+Rアプリの実行 MacWin shift+F10
shift+F6名前の変更
ctrl+shift+O未使用 import 文の削除 MacWin ctrl+alt+O
Android Studio - キーバインド
ファイル移動周りのキーバインド
cmd+shift+Oファイル名で移動 MacWin ctrl+shift+O
クラス名で移動 MacWin
cmd+Octrl+O
shift 2 回全てから検索
Android Studio - 環境設定
行番号,空白を表示したいEditor>General>Appearance>Show line numbers
Editor>General>Appearance>Show whitespaces
Android Studio - 環境設定
Getter/Setter の prefix を落としたいEditor>Code Style>Java>Code Generationで prefix,suffix の設定をしよう
Android Studio - 環境設定
import を自動で行うようにしたいEditor>General>Auto Import
>Optimize import on the fly
Editor>General>Auto Import
>Add unambiguous on the fly
ライブラリ - 導入方法
libs に .jar を突っ込む必要は無いapp/build.gradle次のような形で書く
中,dependencies 内に
dependencies {
compile 'group:name:version'
}
build.gradle を更新したら必ずプロジェクトを sync しよう
ライブラリ - ButterKnife
JakeWharton/ButterKnifeView Injection を行うライブラリ.findViewById()とはおさらばだ
TextView mTextView;
@Overrideprotected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main);
mTextView = (TextView)findViewById(R.id.hoge_text);
}
ライブラリ - ButterKnife
JakeWharton/ButterKnifeView Injection を行うライブラリ.findViewById()とはおさらばだ
@Bind(R.id.hoge_text)TextView mTextView;
@Overrideprotected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main);
ButterKnife.bind(this)
}
ライブラリ - Android-Bootstrap
Bearded-Hen/Android-BootstrapBootstrap 風の UI パーツが入っている.雑にデザインするときに便利.FontAwesome のアイコンも使える
BootStrapButton
ライブラリ - Android-Bootstrap
Bearded-Hen/Android-BootstrapBootstrap 風の UI パーツが入っている.雑にデザインするときに便利.FontAwesome のアイコンも使える
BootStrapProgressBar
ライブラリ - Picasso
square/picasso画像の読み込み,キャッシュ,表示を「よしなに」してくれるライブラリ.大体 1 行で書ける.
画像の変形と言った変更も柔軟にできる.
Picasso.with(context) .load("http://i.imgur.com/DvpvklR.png") .into(imageView);
ライブラリ - 選び方
どうやってライブラリを選ぶの?Android に限った話ではないけど…
・GitHub のスターの数が多い →人気がある,実績がある
・更新せず放置されていない.更新日時が新しい・そのライブラリ,マッチョすぎない? →なんでも出来過ぎてないか? そんなに広い守備範囲が必要? [1]
・ライブラリが依存するライブラリは大丈夫?
-[1] http://konifar.hatenablog.com/entry/2015/05/14/184237
ライブラリ - 選び方
どうやってライブラリを選ぶの?Android に限った話ではないけど…
・GitHub のスターの数が多い →人気がある,実績がある
・更新せず放置されていない.更新日時が新しい・そのライブラリ,マッチョすぎない? →なんでも出来過ぎてないか? そんなに広い守備範囲が必要? [1]
・ライブラリが依存するライブラリは大丈夫?
-[1] http://konifar.hatenablog.com/entry/2015/05/14/184237
ライブラリ - 選び方
daimajia/AndroidViewAnimationsiOS の ViewShaker を模倣したライブラリ.メソッドチェインで View にアニメーションを指定できる
YoYo.with(Techniques.Tada) .duration(700) .playOn(findViewById(R.id.edit_area));
依存している NineOldAndroids は deprecatedなので注意
ライブラリ - 選び方
daimajia/AndroidViewAnimationsiOS の ViewShaker を模倣したライブラリ.メソッドチェインで View にアニメーションを指定できる
YoYo.with(Techniques.Tada) .duration(700) .playOn(findViewById(R.id.edit_area));
依存している NineOldAndroids は deprecated
サービス・ツール - Android Asset Studio
https://romannurik.github.io/AndroidAssetStudio/
アイコン等のアセットの作成をサポートしてくれるツール.Android のアイコン作成で面倒な画面サイズごとの生成を一度に行ってくれる.
サービス・ツール - deploygate
https://deploygate.com
Android,iOS 等ネイティブアプリのファイルをアップロードして実機にインストールさせることができるサービス.開発中のアプリを他人に使ってみてもらいたい時などに.
(Twitter 社の Crashlytics とかにもベータ版配信機能があるよね)
参考文献
Android Studio 開発講座http://www.slideshare.net/keijiariyama/android-studio-56078096
Android Studio で覚えておくと便利なことhttp://qiita.com/sugoi_wada/items/db449d5cbb5c83cb586c