20111114 ice cream sandwich ホットトピック

19
日本Andの会 2011年11月定例会 Ice Cream Sandwich 2011.11.14 山内 洋典@youten_redo ようてん

Upload: youten-

Post on 31-May-2015

1.469 views

Category:

Technology


3 download

DESCRIPTION

日本Androidの会2011年11月定例会 Ice Cream Sandwich ホットトピック(前半) ICSおさらい、EmulatorとAPI Demos他サンプルコード、Random Music PlayerとGridLayoutについて。

TRANSCRIPT

Page 1: 20111114 Ice Cream Sandwich ホットトピック

日本Androidの会 2011年11月定例会

Ice Cream Sandwich ホットトピック

2011.11.14

山内 洋典(@youten_redo ようてん)

Page 2: 20111114 Ice Cream Sandwich ホットトピック

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月発売予定

Page 3: 20111114 Ice Cream Sandwich ホットトピック

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

Page 4: 20111114 Ice Cream Sandwich ホットトピック

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,

Page 5: 20111114 Ice Cream Sandwich ホットトピック

5

Emulator

Page 6: 20111114 Ice Cream Sandwich ホットトピック

6

Emulator

�1280x800, density160 (mdpi)でTabletモード

Page 7: 20111114 Ice Cream Sandwich ホットトピック

7

Emulator

Page 8: 20111114 Ice Cream Sandwich ホットトピック

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

Page 9: 20111114 Ice Cream Sandwich ホットトピック

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

Page 10: 20111114 Ice Cream Sandwich ホットトピック

10

Random Music Player

�ランダムで曲を選択する音楽プレーヤのサンプル

�Remote control clientに対応

�ロック画面での再生制御が可能に。

Page 11: 20111114 Ice Cream Sandwich ホットトピック

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");}

Page 12: 20111114 Ice Cream Sandwich ホットトピック

12

GridLayout

�グリッド状のガイドラインにあわせて、UI要素を配置するためのLayout。

�TableLayoutとはちょっと違う模様。

�Android Developers Blogで紹介されたので詳細はそちらを…。

�API Demos:Views>Layouts>GridLayout

Java(コードによる生成)とlayout XML版があるので比較するとわかりやすい

Page 13: 20111114 Ice Cream Sandwich ホットトピック

13

GridLayout

�グリッドの中に、サイズや論理座標を指定して配置

Page 14: 20111114 Ice Cream Sandwich ホットトピック

14

GridLayout

�グリッドの中に、サイズや論理座標を指定して配置

TextView layout_gravity="center"

TextView layout_gravity="right"

TextView

TextView

EditText ems="10"

EditText ems="8" Button

Button

Spacerow

Span="3"

Page 15: 20111114 Ice Cream Sandwich ホットトピック

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 上下方向のみ広げる

Page 16: 20111114 Ice Cream Sandwich ホットトピック

16

GridLayout

http://bit.ly/ICSGridTest

�ちょっと触ってみた

Page 17: 20111114 Ice Cream Sandwich ホットトピック

17

GridLayout

�動的にspanを変えたい!

�が、setLayoutParamsすると例外で落ちる

� removeView+addViewはできた�メモリ的には微妙

�1行/1列に2つ以上fillがある際の動作がよくわからない

�そもそもAPI DemosもportraitではButtonが消えてしまう

可能性は感じる、早く実機とソースコードを

Page 18: 20111114 Ice Cream Sandwich ホットトピック

まとめ

Page 19: 20111114 Ice Cream Sandwich ホットトピック

携帯電話・タブレット・テレビさらにその先へ!