Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.

2011年5月28日 Android勉強会プレゼン資料

3.617 visualizaciones

Publicado el

2011年5月28日に行われたAndroid勉強会のプレゼン資料です。

  • Sé el primero en comentar

2011年5月28日 Android勉強会プレゼン資料

  1. 1. Android/iPhoneポータルアプリ開発事例のご紹介 2011年5月28日 Android勉強会 吉川 英一(えど) 株式会社エスパステクノロジー
  2. 2. 本発表でお伝えしたいことiPhone/Androidアプリ開発ってどんな人がどんな感じでやってるの?それっておいしい?人生楽しい?日常どんなところでハマってるの?なんでそんなにケータイ好きなの?
  3. 3. 発表者略歴1994年:初ケータイを手にする(ムーバPII)2000年4月~2002年3月:公立はこだて未来大学 携帯電話バス時刻表検索システム「はこだてiたいむ」2002年4月~2008年3月:富士ソフト スマートフォン向け開発はほとんどなし2008年4月~2009年12月:ユニバーサルプラス Windows Mobile向け開発が少々2010年1月~エスパステクノロジー iPhone/Android向けアプリ開発に本格的に従事
  4. 4. 株式会社エスパステクノロジー設立:2010年1月社員:6名(会社立ち上げ時は2名)主力事業:スマートフォン向けアプリ開発自社製品:「Picotto for Hairstyle」など
  5. 5. iPhone普及と事業展開タイミング2008年 7月:iPhone 3G発売 一部のマニア向けと取られる 「iPhoneは日本に普及しない」2009年 2月:SoftBankの「iPhone for Everybody」キャンペーン より多くの人がiPhoneに興味をもつきっかけに 6月:iPhone 3GS発売 Phoneの知名度向上、アプリの広がり2010年: 6月:iPhone 4発売 このタイミングで スマートフォンが携帯電話の主役の座へ iPhoneアプリ開発に参入
  6. 6. Android普及と事業展開タイミング 2009年 7月:HT-03A発売 一部のマニア向けと取られる 2010年 4月:Xperia、Desire発売 特にXperiaはdocomoのiPhone代替として広く注目を集める 10月:GALAXY S発売 品薄が年末まで続くほどの人気 このタイミングで Androidアプリ開発に参入 12月~:国内メーカーAndroidスマートフォン発売 おサイフケータイ、ワンセグ、赤外線通信がスマートフォンに 2011年 3月:Xperia arc、MEDIAS発売 5月:各社がスマートフォンをラインナップの中心に
  7. 7. 開発実績(iPhone)S-1バトル(ソフトバンクモバイル様)「吉本興業」アプリ(吉本興業様)「吉本興業HD」アプリ(吉本興業様)※iPad用沖縄国際映画祭(吉本興業様)a-nation navi(エイベックスマーケティング様)革命×テレビ(TBS様)札幌ショートフェスト(SAPPOROショートフェスト事務局)RENAULT JAPON Official Application(ルノー・ジャポン様)MEGANE R.S.(ルノー・ジャポン様)
  8. 8. 開発実績(iPhone)基本コンポーネントを極力共有 開発工数を削減して早期リリースを可能に 「早くリリースして消費者にアピールしたい」ニーズに応えるお客様ニーズに合わせたきめ細かい対応 1ピクセル以下のこだわり カスタム機能の作り込み
  9. 9. 開発実績(Android)会社として S-1バトル(ソフトバンクモバイル様) MEGANE R.S.(ルノー・ジャポン様) RENAULT JAPON(ルノー・ジャポン様)個人として Deathgrip Simulator:ジョークアプリ twicca マルチ画像プラグイン:Twitterに画像を投稿
  10. 10. 開発実績(Android) MEGANE R.S. RENAULT JAPON
  11. 11. 開発実績(Android) Deathgrip Simulator twicca マルチ画像プラグイン
  12. 12. 開発実績(Android) 可能なかぎりiPhone版と同一のユーザビリティを目指す フリック、ピンチズーム、アニメーションなど 異なる画面サイズでもデザインが破綻しないように IDEOS(240×320px) GALAXY Tab(600×1024px) Xperia(480×854px)
  13. 13. 開発実績(Android)
  14. 14. 個人開発と会社開発の位置づけ 個人開発は「アンテナ」→情報を素早く把握 仕様変更や不具合情報 Androidマーケットの仕様変更 Twitterなど外部APIの仕様変更 アプリ内広告の出稿具合 AdMob 個人開発で把握した情報を会社開発にフィードバック
  15. 15. 開発体制と役割分担マネージ、デザイン、開発の「役割分担・チームワーク」マネージャ デザイナー・アプリのコンセプト決定 ・アプリの画面デザイン作成・デザイナ、PGへの作業指示 ・デザイン部材(画像)作成・対外窓口 PG ・プログラム実装 ・先行技術調査(次の飯のタネ探し) ・マネージャへの技術情報提供
  16. 16. みなさんお待ちかね門外不出のノウハウをちょっとだけ公開! (´・ω
  17. 17. Androidアプリ開発でのハマリポイント(1)Androidはデバイスによって挙動が違う (SHARP, Sony Ericsson)←→(HTC, Samsung, Dell他)という感じ?IS03は他の機種と挙動が異なる癖があった カメラ機能(次のスライドで説明) タッチパネルのMotionEvent#getHistoricalX, getHistoricalYが空で返る ・可能なかぎり多くの実機で動作確認を行う ・Androidマーケットのコメントをいつもチェック →不具合に迅速に対応
  18. 18. Androidアプリ開発でのハマリポイント(2)【IS03でカメラ機能を利用する例】 Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); intent.putExtra(MediaStore.EXTRA_OUTPUT, uploadImageUri); // ここがないとIS03のカメラから戻ってこれない startActivityForResult(intent, REQUEST_CODE_TAKE_PHOTO);※IS03のカメラアプリはAndroid標準のものではなくSHARPカスタム
  19. 19. Androidアプリ開発でのハマリポイント(3)
  20. 20. Androidアプリ開発でのハマリポイント(4)Android2.2アップデートでIS03のカメラアプリはさらにじゃじゃ馬に Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); intent.putExtra(MediaStore.EXTRA_OUTPUT, uploadImageUri); // ここがないとIS03のカメラから戻ってこれない startActivityForResult(intent, REQUEST_CODE_TAKE_PHOTO); なんとこのURLに画像が書き込まれない!
  21. 21. Androidアプリ開発でのハマリポイント(5)
  22. 22. Androidアプリ開発でのハマリポイント(6)難読化ツール「ProGuard」はデフォルト設定で使えると思うな メソッド名、変数名を動的に指定して呼び出す(リフレクション)可能性のあ るクラス・メソッドは難読化対象から外す 外から持ってきたライブラリを使う場合は、ライブラリごと難読化対象から外 すのが無難 mapping.txtを見て試行錯誤しよう jp.renault.meganeRS.MainActivity -> jp.renault.meganeRS.MainActivity: float TOOLBAR_BUTTON_WIDTH -> d android.widget.ImageView imageViewBackgroundShown -> a void onCreate(android.os.Bundle) -> onCreate void startTimer() -> e …
  23. 23. Androidアプリ開発でのハマリポイント(7) Androidマーケットにアップする高解像度アイコンのTips 透明にしたい部分は#ffffff00(白、アルファ0)にする 背景が白になり 表示がきれい ※特に意識しないと↓のようにアイコン背景が黒くなるこのブルーの部分に#ffffff00を設定
  24. 24. Androidアプリ開発でのハマリポイント(8)キーボード操作できる端末への対応をどうするか 「基本的には」OSが面倒を見てくれる 押されたカーソルの方向にあるコントロールにフォーカス 特殊なカーソル遷移をさせたいときはJavaコードの setNextFocus***Idメソッド、またはレイアウトXMLファイル のnextFocus***Idプロパティで遷移するコントロールのIDを指 定する buttonBackToHome.setNextFocusRightId(R.id.ButtonStop);
  25. 25. iPhoneアプリでのハマリポイント(1)端末の種類が少ない分、予想外の挙動をするリスクは小さい …しかしiPhoneとiPad、OSバージョンで動きが違う場合あり3Gでの通信速度は札幌の1/10を想定すべし東京は本当に遅い。64kとかになる時もあるし1にも2にもメモリ管理!alloc, retain, releaseのオブジェクトライフサイクルを完全掌握する必要リリース前にはInstrumentsを使ったリークテストが必須viewDidLoadは複数回呼ばれることがあるマルチタスクを実装する場合は特に注意
  26. 26. iPhoneアプリでのハマリポイント(2)Instruments 自責ではないメモリリークが検出されることがある 検出できないリーク(メモリ確保?)がある
  27. 27. アプリを宣伝するためにプレスリリースを打つメディアに取り上げてもらう自社広告 AdMob AdSense AdLantis自分がメディアになる ブログメディア(S-MAX:http://s-max.jp) 自分のブログ(http://blog.bari-ikutsu.com) Twitter(@edo_bari_ikutsu) Facebook(http://www.facebook.com/edo.yoshikawa)
  28. 28. 「自分がメディアになる」 S-MAX 今日の気分はバリいくつ? (http://s-max.jp) (http://blog.bari-ikutsu.com)
  29. 29. 「自分がメディアになる」
  30. 30. 「自分がメディアになる」書籍の執筆に参加させていただいています 「Androidアプリ 100%厳選コレクション」
  31. 31. まとめiPhone/Androidアプリ開発ってどんな人がどんな感じでやってるの? →今日の発表でイメージが伝わればいいなあ。それっておいしい?人生楽しい? →おいしいです(^q^)人生楽しいですよ(`・ω・´)日常どんなところでハマってるの? →結構ハマリポイントを暴露したつもりです。まだまだあるのですがそれは別の機会に。なんでそんなにケータイ好きなの? →One more thing…
  32. 32. One more thing…(独り言) 携帯電話は人の想いと想いをつなぐデバイス 携帯電話以前はつながらなかった想いも現在はらくらくつながる 携帯電話は人に最も近いデバイス いつでもどこでもいっしょについてきてくれる だから携帯電話は理想のパーソナルツール もっと携帯電話を活用してほしい もっと携帯電話で楽しくなってほしい 私はケータイが大好きです!
  33. 33. ケータイプロ集団「K-MAX」全国のケータイマニアが参加携帯電話・PHS・スマートフォンが好きな人の集まりhttp://kmax-biz.com スマホアプリを作るには スマホを愛する必要があるのでは?

×