SlideShare a Scribd company logo
1 of 55
Droidcon London 2012
     Speaker体験談
「参加報告+講演セッション短縮版」


        2012/11/23
  @korodroid(神原 健一)
自己紹介
    氏名:神原 健一                                                @
    活動:iplatform.org(http://www.iplatform.org/)
    所属:NTTソフトウェア株式会社
主な活動(iplatform.org@プライベート)
      Google Play向けアプリ開発(現在20本)



         9      1
                0

      Google Developer Day 2011 Tokyo 基調講演デモ
      Android Developer Lab Tokyo 2011 follow-up 5位入賞
                                                         2
目次

1.イベント概要
2.講演セッション抜粋版
3.その他トピック
1.イベント概要
Droidcon?




            5
Droidcon London 2012
 日時:2012/10/25(木)~26(金)
 場所:London(Business Design Centre)
 参加者1000人程度
 チケット:一般£200(その他:早期割引など)




                                      6
会場




     7
会場




     8
会場受付




       9
フロア全体




        10
セッション会場




          11
Droidcon構成

Sessions
App Demos
Community Table
Party

                   12
セッション一覧




          13
2.講演セッション抜粋版
担当セッション




          15
Droidcon London 2012

  抜粋版
 (Start)

      Developing Apps
 for Android on 2.x/3.x/4.x

  Kenichi Kambara (@korodroid)
        October 26, 2012
Agenda
 •Introduction
 •Background
 •Android Fundamentals
 •Application Development Tips
My session topics
          Some tips on developing Apps
      for multi versions and multi devices.


2.x            3.x                   4.x




         Handsets            Tablets
What is “Sekai Phone”?
  Real time translation phone services
 (Supports Android 2.x/3.x/4.x & multi devices)
                       )

        English                       German
                     Japanese


       ○ ○
           ○
                                         Italian
       French



       ○ ○             Chinese



    Publishe Date: Jan, 2010, over 20+ ver.up
Use Case (1)
                Phone mode
(Auto translating to receiver’s native language)
             English                        Japanese


      Hello!
   Talking             Konnichiwa!
                                Talking



    Paul                               Kenichi




      Thanks!             Arigatou!
Use Case (2)
             Talk mode
     (Auto translating on the spot)




            English           Japanese
Background
Platform Versions?
                Honeycomb
                                                      ICS
                                                        JB
                Gingerbrea
                                                    Others
                    d
                                                    Froyo
                   This data by Google on October 1, 2012



               In my App:
Main Target: Android 2.2+ (2.2,2.3,3.x,4.x)
Screen Sizes & Densities?




         This data by Google on October 1, 2012


              In my App:
(normal,large,xlarge)x(mdpi,hdpi,xhdpi)
Android Fundamentals


       省略
Application Development Tips
Support multi versions and multi
                devices?
1.Designing User Interface
   Screen size
   Screen density
   Screen orientation
  …

2.Using APIs
   Fragment
   Menu
  …
1. Designing User Interface
    [Some Approaches]
[UI]1st Approach
            Using layout-small/normal/large/xlarge



Screen Size
Classification



        Supports Android 1.6+
        Both 7” tablet and 5” handset mapped to “large”
        Pre 3.0 some devices mis-classified
[UI]2nd Approach
           Using sw<N>dp,w<N>dp,h<N>dp

(a)layout-sw600dp       Width & Height ≥ 600dp
(b)layout-w720dp              Width ≥ 720dp
(c)layout-h480dp             Height ≥ 480dp

     Recommended by Google
     Supports only Android 3.2+

  Note: Effect by Screen Orientation
[UI]3rd Approach
             Combination of 1st and 2nd

   res/layout-sw600dp/main.xml <- 3.2+ tablets
   res/layout-xlarge/main.xml <- 3.0/3.1 tablets
   res/layout/main.xml <- The others (Handsets)


   Supports Android 1.6
   Supports many devices (compared to 1st or 2nd)
   Any Problem?
[UI]4th Approach
         Based on 3rd , plus some tips




• Put minimum requirement
         for layouts
[UI]4th Approach
Based on 3rd , plus some tips (Layout Aliases)




               // for Tablets
               <resources>
                <item name "main_layout" type="layout">
                @layout/main_twopanes
                </item>
                <bool name="has_two_panes">
                true
                </bool>
               </resources>
[UI]4th Approach
    Based on 3rd , plus some tips (Layout Aliases)
// for Tablets
<resources>
   <item name "main_layout" type="layout">
   @layout/main_twopanes
   </item>
   <bool name="has_two_panes">
   true
   </bool>
</resources>

boolean hasTwoPanes =getResources().
        getBoolean(R.bool.has_two_panes);
if (hasTwoPanes)
 …
                                    • Simple Java codes
2.Using APIs?
[Some Points]
[API]Effect by AndroidManifest
                     On Android 2.x / 3.x / 4.x

                       Min    Target   2.x        3.x   4.x
                       Sdk     Sdk

Pattern 1               -       -

Pattern 2               8       8

Pattern 3               8      16




                                                          4.x
               2.x                     3.x
[API]Multi-Versioning
     Development?, Management?, APK Size?



    Single APK              Multiple APK




      In my App:
Developed by Single APK
[API]Multi-Versioning
  How to use the newest API on Single APK



 Reflection     Well known approach

Lazy loading    One of Design Patterns

                                  抜粋版
                                 (End)
3.その他トピック
Session①




“The Fragment Transition”
Chariot Solutions: Corey Latislaw
                                     40
Session②




“Fast, user-friendly and power-
efficient network
communication on Android”
Sony Mobile: Erik Hellman
                                   41
Session③




“Test Automation from
testdroid”
                                   42
展示①




      43
展示②




      44
展示③




      45
App Demos ①




              46
App Demos ②




              47
App Demos ③




              48
参加者パーティ




          49
講演者パーティ




          50
Closing




          51
関連URL


•Droidcon
http://droidcon.com

•Droidcon London 2012
http://uk.droidcon.com

•Droidcon London 2012 担当セッション
 http://t.co/nMBfj4VR



                                52
おまけ①
Androidプログラミング入門改訂2版
• 発売日:2012年8月31日
• 出版社:アスキーメディアワークス


          • 著者:
           - 江川崇
           - 神原健一
           - 山田暁通
           - 佐野徹郎
           - 郷田まり子
                       53
おまけ②
Android APIプログラミングリファレンス
• 発売日:2012年11月30日(予定)
• 出版社:マイナビ


             • 著者:
              - 高見知英
              - 菅野祥礼
              - 神原健一
              - 茶圓亮
              - 松岡謙治
                           54
Thank you!
•Facebook:http://fb.com/kanbara.kenichi
•Google+:+Kenichi Kambara
•Twitter:@korodroid


                                          55

More Related Content

Similar to Droidcon London2012 Speaker Experience

[Jagys]android41+開発ツール紹介
[Jagys]android41+開発ツール紹介[Jagys]android41+開発ツール紹介
[Jagys]android41+開発ツール紹介
Kenichi Kambara
 
AndroidのUI設計で押さえておきたいポイント
AndroidのUI設計で押さえておきたいポイントAndroidのUI設計で押さえておきたいポイント
AndroidのUI設計で押さえておきたいポイント
Takayuki Inoue
 
Google io2011報告
Google io2011報告Google io2011報告
Google io2011報告
cat kaotaro
 
devsumi17 d-2
devsumi17 d-2devsumi17 d-2
devsumi17 d-2
dikehara
 

Similar to Droidcon London2012 Speaker Experience (20)

[Jagys]android41+開発ツール紹介
[Jagys]android41+開発ツール紹介[Jagys]android41+開発ツール紹介
[Jagys]android41+開発ツール紹介
 
Androidとは何か
Androidとは何かAndroidとは何か
Androidとは何か
 
[Io2012]android41+開発ツール紹介
[Io2012]android41+開発ツール紹介[Io2012]android41+開発ツール紹介
[Io2012]android41+開発ツール紹介
 
勘違いだらけのAndroid UIデザイン
勘違いだらけのAndroid UIデザイン勘違いだらけのAndroid UIデザイン
勘違いだらけのAndroid UIデザイン
 
AndroidのUI設計で押さえておきたいポイント
AndroidのUI設計で押さえておきたいポイントAndroidのUI設計で押さえておきたいポイント
AndroidのUI設計で押さえておきたいポイント
 
Android Lecture #01 @PRO&BSC Inc.
Android Lecture #01 @PRO&BSC Inc.Android Lecture #01 @PRO&BSC Inc.
Android Lecture #01 @PRO&BSC Inc.
 
Google io2011報告
Google io2011報告Google io2011報告
Google io2011報告
 
20101022
2010102220101022
20101022
 
Androidが起こしたオープン・イノベーション
Androidが起こしたオープン・イノベーションAndroidが起こしたオープン・イノベーション
Androidが起こしたオープン・イノベーション
 
Cordova利用アプリ開発経験談
Cordova利用アプリ開発経験談Cordova利用アプリ開発経験談
Cordova利用アプリ開発経験談
 
Android Wearアプリ開発経験談
Android Wearアプリ開発経験談Android Wearアプリ開発経験談
Android Wearアプリ開発経験談
 
Kotlin/Golang Developer seminor. 「Androidが生み出す開発言語の多様性」 リックテレコム主催
Kotlin/Golang Developer seminor. 「Androidが生み出す開発言語の多様性」 リックテレコム主催Kotlin/Golang Developer seminor. 「Androidが生み出す開発言語の多様性」 リックテレコム主催
Kotlin/Golang Developer seminor. 「Androidが生み出す開発言語の多様性」 リックテレコム主催
 
AndroidアプリのUI/UX改善例
AndroidアプリのUI/UX改善例AndroidアプリのUI/UX改善例
AndroidアプリのUI/UX改善例
 
Android0422
Android0422Android0422
Android0422
 
Android studio で行ってみよう!!
Android studio で行ってみよう!!Android studio で行ってみよう!!
Android studio で行ってみよう!!
 
Devsumi 17 d-2
Devsumi 17 d-2Devsumi 17 d-2
Devsumi 17 d-2
 
devsumi17 d-2
devsumi17 d-2devsumi17 d-2
devsumi17 d-2
 
FlutterでAndroid/iOS両対応のアプリ開発
FlutterでAndroid/iOS両対応のアプリ開発FlutterでAndroid/iOS両対応のアプリ開発
FlutterでAndroid/iOS両対応のアプリ開発
 
iQONの開発手法 at iQONエンジニアセミナー
iQONの開発手法 at iQONエンジニアセミナーiQONの開発手法 at iQONエンジニアセミナー
iQONの開発手法 at iQONエンジニアセミナー
 
PHPにおけるRIA事情と開発
PHPにおけるRIA事情と開発PHPにおけるRIA事情と開発
PHPにおけるRIA事情と開発
 

More from Kenichi Kambara

Hello Flutterの次におさえたいFlutterのポイントその2
Hello Flutterの次におさえたいFlutterのポイントその2Hello Flutterの次におさえたいFlutterのポイントその2
Hello Flutterの次におさえたいFlutterのポイントその2
Kenichi Kambara
 
Hello Flutterの次におさえたいFlutterのポイント
Hello Flutterの次におさえたいFlutterのポイントHello Flutterの次におさえたいFlutterのポイント
Hello Flutterの次におさえたいFlutterのポイント
Kenichi Kambara
 

More from Kenichi Kambara (20)

Hello Flutterの次におさえたい Flutterのポイント その6 (レイアウト編)
Hello Flutterの次におさえたい Flutterのポイント その6 (レイアウト編)Hello Flutterの次におさえたい Flutterのポイント その6 (レイアウト編)
Hello Flutterの次におさえたい Flutterのポイント その6 (レイアウト編)
 
Hello Flutter”の次におさえたい Flutterのポイント その5
Hello Flutter”の次におさえたい Flutterのポイント その5Hello Flutter”の次におさえたい Flutterのポイント その5
Hello Flutter”の次におさえたい Flutterのポイント その5
 
[ABC2018Spring]Flutterアプリ開発入門
[ABC2018Spring]Flutterアプリ開発入門[ABC2018Spring]Flutterアプリ開発入門
[ABC2018Spring]Flutterアプリ開発入門
 
“Hello Flutter”の次におさえたい Flutterのポイント その4
“Hello Flutter”の次におさえたい Flutterのポイント その4“Hello Flutter”の次におさえたい Flutterのポイント その4
“Hello Flutter”の次におさえたい Flutterのポイント その4
 
[Google I/O 2018 Highlights] Sandbox
[Google I/O 2018 Highlights] Sandbox[Google I/O 2018 Highlights] Sandbox
[Google I/O 2018 Highlights] Sandbox
 
[Google I/O 2018 Highlights] Flutter / WearOS
[Google I/O 2018 Highlights] Flutter / WearOS[Google I/O 2018 Highlights] Flutter / WearOS
[Google I/O 2018 Highlights] Flutter / WearOS
 
"Hello Flutter"の次におさえたいFlutterのポイントその3
"Hello Flutter"の次におさえたいFlutterのポイントその3"Hello Flutter"の次におさえたいFlutterのポイントその3
"Hello Flutter"の次におさえたいFlutterのポイントその3
 
Hello Flutterの次におさえたいFlutterのポイントその2
Hello Flutterの次におさえたいFlutterのポイントその2Hello Flutterの次におさえたいFlutterのポイントその2
Hello Flutterの次におさえたいFlutterのポイントその2
 
I/Oへの期待+海外渡航持ち物Tips
I/Oへの期待+海外渡航持ち物TipsI/Oへの期待+海外渡航持ち物Tips
I/Oへの期待+海外渡航持ち物Tips
 
Hello Flutterの次におさえたいFlutterのポイント
Hello Flutterの次におさえたいFlutterのポイントHello Flutterの次におさえたいFlutterのポイント
Hello Flutterの次におさえたいFlutterのポイント
 
Developing Android Apps for Google Assistant
Developing Android Apps for Google AssistantDeveloping Android Apps for Google Assistant
Developing Android Apps for Google Assistant
 
Google Assistant対応アプリ開発3つのポイント
Google Assistant対応アプリ開発3つのポイントGoogle Assistant対応アプリ開発3つのポイント
Google Assistant対応アプリ開発3つのポイント
 
10分で作るGoogle Assistant対応アプリ
10分で作るGoogle Assistant対応アプリ10分で作るGoogle Assistant対応アプリ
10分で作るGoogle Assistant対応アプリ
 
[Kotlin勉強会] Hello Kotlinの次におさえたいKotlinの勘所
[Kotlin勉強会] Hello Kotlinの次におさえたいKotlinの勘所[Kotlin勉強会] Hello Kotlinの次におさえたいKotlinの勘所
[Kotlin勉強会] Hello Kotlinの次におさえたいKotlinの勘所
 
Android O (Picture In Picture)入門+実装例
Android O (Picture In Picture)入門+実装例Android O (Picture In Picture)入門+実装例
Android O (Picture In Picture)入門+実装例
 
AndroidアプリのKotlin移行時に遭遇した問題と対処例
AndroidアプリのKotlin移行時に遭遇した問題と対処例AndroidアプリのKotlin移行時に遭遇した問題と対処例
AndroidアプリのKotlin移行時に遭遇した問題と対処例
 
Android O (Beta) Topics
Android O (Beta) TopicsAndroid O (Beta) Topics
Android O (Beta) Topics
 
Publishing Android Wear 2.0 Apps
Publishing Android Wear 2.0 AppsPublishing Android Wear 2.0 Apps
Publishing Android Wear 2.0 Apps
 
Android Studio 2.3 New Features
Android Studio 2.3 New FeaturesAndroid Studio 2.3 New Features
Android Studio 2.3 New Features
 
Android 7.0 Nougat マルチウィンドウ解説+α
Android 7.0 Nougat マルチウィンドウ解説+αAndroid 7.0 Nougat マルチウィンドウ解説+α
Android 7.0 Nougat マルチウィンドウ解説+α
 

Recently uploaded

Recently uploaded (12)

知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 

Droidcon London2012 Speaker Experience