狠狠撸

狠狠撸Share a Scribd company logo
iPhoneしかしらない残念な君に
Androidというものを教えてやろ
う
小林 拓
目次
? Androidのお話
? マーケットのお话
? 鲍滨のお话
? 技术的なお话(ちょっとだけ)
小林 拓
? 1987年2月13日生まれ(26歳)
? 株式会社ゲームポット
? エンジニア(SE)
? 普段はRuby on Railsでソシャゲ作ってます
? 最近はjavascriptメイン
? 主にRails↑ , javascript , java(Android) , PHP(他)
? サーバーもフロントもネイティブも何でもで
きます
? Twitter : http://twitter.com/taptappun
? Facebook :
http://www.facebook.com/taku.kobayashi.560
宣伝
? ガーディアンスピリッツ(Mobage)
? http://g12014123.sp.pf.mbga.jp/
プライベート
? PNGCamera(Androidアプリ)
? https://play.google.com/store/apps/details?d=co
m.taku.kobayashi.pngcamera
? Github :
https://github.com/TakuKobayashi/PNGCamera
Androidとは
? Android(アンドロイド)とは、Googleに
よってスマートフォンやタブレットなど
の携帯情報端末を主なターゲットとして
開発されたプラットフォームである。
(Wikipediaより)
Androidの評判
? iPhoneだと綺麗になるのにAndroidだとUI
が崩れる
? iPhoneだと動くのにAndroidだと動かない
? Javaできるの?じゃあ、Androidもできるよ
ね? 何だダメじゃないか…
? Androidクソだな…
それはお前らが
Androidというものを
知らないからだ!!!!
比較
Android iPhone
マーケット Google Play APP Store
登録料 $25.00 (初回のみ) 8,400 円(年間)
審査 なし あり
開発環境 Mac,Windows 他(Eclipse推奨) Macのみ(Xcodeが必須)
開発言語
(Native)
Java , (C , C++ -> NDK) Objective-C
比較
Android iPhone
端末製造
メーカー
サムスン、ソニー、カシオ、東
芝富士通、パナソニック、
シャープetc
Appleのみ
解像度 端末によってバラバラ iPhone4Sまで 縦横比=3:2
iPhone5以降縦横比=16:9
SDK ほぼオープン ほぼクローズド
制約 特になし ブラウザ:Safari固定
カメラ:カメラ固定 他
開発制約 対応端末のバージョンによって
変更可能
Xcodeは常に最新バージョン
でないとダメ
端末バージョ
ンアップデー
ト
リファレンス機のみ可能 どの端末でも可能(ただし半
ば強制)
リファレンス機
Galaxy Nexus
?Nexusという名のつくものはAndroidのリファレンス機
双方の思想のまとめ
? iPhone
? Android
?やりたいことはすべて用意してやる。その代わ
り他のは使うな
?一つで十分、他はいらない
?いろんな端末、いろんなアプリでも使えるよ
?やりたいことあるの、じゃあ好きにやって
マーケットのお话
端末シェア
http://getnews.jp/archives/340136
世界中の端末シェア
AndroidのOSのバージョン別シェ
ア
Wikipediaより
アプリのマーケットシェア
http://itpro.nikkeibp.co.jp/article/NEWS/20130530/480729/
世界のApp StoreとGoogle Playの売り上げの割合
アプリのマーケットシェア
http://www.lasic
al.com/2013/04/
17/33839/
アプリのダウンロード数の割合
http://www.lasic
al.com/2013/04/
17/33839/
国別アプリ売り上げシェア
http://gori.me/mobil
e/23698
日本のマーケット売り上げ比は約
App Store : Google Play = 57% : 43%
ゲームの売り上げ割合
http://sg.fin
ance.yahoo.
com/news/
us-japan-
korea-drive-
80-
103840812.
html
※アメリ
カのiOS
の売り上
げを100%
と置いて
いる
鲍滨のお话
端末比較
電源ボタン
音量ボタン
ホームボタン
バックボタ
ン
AndroidのUIについて
iPhoneの場合Androidの場合
いらない
Pixel指定し
ても崩れな
い
Pixel指定すると端
末によっては崩れ
る
? アニメーション
Androidの依頼時に気をつけるこ
と
実演
絶対にアニメーションを
iPhoneに合わせてはダメ
Androidの依頼時に気をつけるこ
と
これだけを実装するの1
カ月かかります!!
不明なバグを生む可能性
も極めて高いです。それ
でもやりますか?
技术的なお话(ちょっとだけ)
Activity
? Androidの基本Activity
? Activityのライフサイ
クルを表しているの
が右図
? アプリを起動させる
と真っ先に呼ばれる
もの
知らない内に勝手に起動
している、怪しいアプリ
を作りたい時は別だけど
ね
Activity
? onCreate
? onStart
? onResume
? onPause
? onStop
? onDestroy
イメージ
Activity
Activity Activity
スタッ
ク
finish();アプリを起動!!
または
startActivity();
メモリが足りなく
なるとDalvikとい
うVMが殺します
挙動
バックボタン押し
た時
onCreate
↓
onStart
↓
onResume
↓
実行
Activity起動
onPause
↓
onStop
↓
onDestroy
ホームボタン押し
て再度アプリ起動
onPause
↓
onStop
再起動
↓
onRestart
↓
onStart
↓
onResume
↓
実行
電源ボタン押してス
リープ?スリープ解
除
onPause スリープ解
除
↓
onResume
↓
実行
別のActivity起動
?戻ってくる
onPause 戻る
↓
onResume
↓
実行
よくある質問
Javaだからメモリ管理しなくてもいいんだよ
ね?
(VMが勝手にメモリ開放してくれるんだよ
ね?)
いいえちゃんとメモリ管理しないとダメで
す。(OutOfMemoryErrorなるエラーが発生し
ます)
? Dalvikは気紛れなんで、いつ動いてくれる
かわからない。なので、こちらでちゃんと
メモリを消す必要あり。
メモリ開放の仕方
webview.stopLoading();
webview.setWebChromeClient(null);
webview.setWebViewClient(null);
webview.destroy();
webview = null;
BitmapDrawable bitmapDrawable = (BitmapDrawable)(imageView.getDrawable());
if (bitmapDrawable != null) {
bitmapDrawable.setCallback(null);
}
imageView.setImageBitmap(null);
bitmap.recycle();
bitmap = null;
? WebViewの場合
? ImageViewの場合
? Bitmapの場合
大体はActivityのonDestroyの
中で実行
ちょっとした自慢
実演
础苍诲谤辞颈诲アプリ开発しようぜ!

More Related Content

ゆとりエンジニア交流会冲20130706