20111114 ice cream sandwich ホットトピック
DESCRIPTION
日本Androidの会2011年11月定例会 Ice Cream Sandwich ホットトピック(前半) ICSおさらい、EmulatorとAPI Demos他サンプルコード、Random Music PlayerとGridLayoutについて。TRANSCRIPT
日本Androidの会 2011年11月定例会
Ice Cream Sandwich ホットトピック
2011.11.14
山内 洋典(@youten_redo ようてん)
2
Ice Cream Sandwich
�Android 4.0 Ice Cream Sandwich�2011.10.19 SDK r14リリース
�API Level 14
• 2011.10.28 SDK r15リリース (bugfix)
• 2011.11.11 NDK r7リリース (for OpenMAX AL)
�GALAXY NEXUS�Android 4.0 搭載 Samsung製
�4.65インチ (1280x720) 液晶
�SC-04Cとして日本国内でもNTTドコモから
�2011.11月発売予定
3
History
Q4Q3Q2Q4Q3 Q1
2011
Q3Q2Q4Q3 Q1
2010
Q1
2008
Q3 Q2Q4Q2Q4 Q1
2009
Q2
2007
iPhone iPhone 3G iPhone 3GS iPad iPhone 4 iPad 2 iPhone 4S
OHA A0SP
SDK 1.0 Cupcake Eclair Froyo Gingerbread Honeycomb ICS
G1
HT-03A
Nexus One
Xperia
X06HT
IS01
IS03
Galaxy S
GALAXY NEXUSNexus S XOOM
Donut
DROID
4
New Developer Feature
統合UI
Social API
Calendar API
VisualVoicemail API
Android Beam
Low Lv. StreamingOpenMAX AL
新CameraFeature
ロック画面MusicPlayer
新しいメディアとコンテナ
Wi-Fi DirectBluetooth HDP
GridView・TextureView2D描画HW accel.
スタイラス用HoverイベントTextService for spellcheck
Accessibility API新TTSエンジン IF
通信量APIfor 従量課金
新セキュア通信APIASLR
VPN client APIデバイスポリシーCamera対応
WebKit, Media effect,New Sensor,
VM Compaction対応,Property対応Animator,
5
Emulator
6
Emulator
�1280x800, density160 (mdpi)でTabletモード
7
Emulator
8
API Demos
�API Level 13 (3.2) から削除�.telephony.NetworkDetector
�API Level 14 (4.0) から追加�.app.FragmentCustomAnimations�.app.RemoteService$BindingOptions�.app.ActionBarActionProviderActivity�.content.ResourcesLayoutReference�.content.InstallApk�.view.GridLayout0�.view.GridLayout1�.view.SearchViewAlwaysVisible�.view.Hover�.view.OverscanActivity�.view.Switches
9
samples android-14
� SDKのsamplesまたはWebを参照�http://developer.android.com/resources/browser.html?tag=sample
� update!�API Demos
�Honeycomb Gallery
�Random Music Player
�SampleSyncAdapter
� new!�Action Bar Compatibility
�Android Beam Demo
�Spell Checker Service
�Spell Checker Client
�Voicemail Provider
�Wi-Fi Direct Demo
�Text To Speech Engine
10
Random Music Player
�ランダムで曲を選択する音楽プレーヤのサンプル
�Remote control clientに対応
�ロック画面での再生制御が可能に。
11
Random Music Player
�Random Music Player自体はAPI Level 13で追加�13→14の主な差分
�RemoteControlClientCompat.javaの追加�RemoteControlHeloper.javaの追加
RemoteControlClientクラスが見つかればコンパチクラスに実機能を提供、それ以外は空実装
きれいなリフレクションのサンプル
public static Class getActualRemoteControlClientClass(ClassLoader classLoader) throws ClassNotFoundException {
return classLoader.loadClass("android.media.RemoteControlClient");}
12
GridLayout
�グリッド状のガイドラインにあわせて、UI要素を配置するためのLayout。
�TableLayoutとはちょっと違う模様。
�Android Developers Blogで紹介されたので詳細はそちらを…。
�API Demos:Views>Layouts>GridLayout
Java(コードによる生成)とlayout XML版があるので比較するとわかりやすい
13
GridLayout
�グリッドの中に、サイズや論理座標を指定して配置
14
GridLayout
�グリッドの中に、サイズや論理座標を指定して配置
TextView layout_gravity="center"
TextView layout_gravity="right"
TextView
TextView
EditText ems="10"
EditText ems="8" Button
Button
Spacerow
Span="3"
15
GridLayout
�GridLayout内の要素�座標(row, column)属性を指定しなければ、自動的に並ぶ。
�layout_width, layout_heightは不要。
�縦横何ブロックをまたがるかはrowSpan, columnSpanで指定。
�サイズ、配置(Align)、マージンは他のLayoutと同様に可能。
�要素の配置位置と"広がり"をlayout_gravity属性で指定。•top, center_vertical, bottom, left, center_horizontal, rightを指定可。
•上記に加えて、GridLayout専用属性が指定可能。– fill 指定グリッド内で上下左右いっぱいに広げる
– fill_horizontal 左右方向のみ広げる
– fill_vertical 上下方向のみ広げる
16
GridLayout
http://bit.ly/ICSGridTest
�ちょっと触ってみた
17
GridLayout
�動的にspanを変えたい!
�が、setLayoutParamsすると例外で落ちる
� removeView+addViewはできた�メモリ的には微妙
�1行/1列に2つ以上fillがある際の動作がよくわからない
�そもそもAPI DemosもportraitではButtonが消えてしまう
可能性は感じる、早く実機とソースコードを
まとめ
携帯電話・タブレット・テレビさらにその先へ!