Slide 1

Slide 1 text

3分で作れる夢のサービス @punchdrunker

Slide 2

Slide 2 text

Inspired by 社会人ブラウザ

Slide 3

Slide 3 text

Daydream ● API level 17+ ● ようはスクリーンセーバー ● DreamService (extends Service) を利用して 実装できる ● 既存アプリへの組込みも簡単

Slide 4

Slide 4 text

DreamService ● New File > Other > DaydreamServiceでカン タン作成 (...のはずだった) ● API Level 21+は追加仕様としてpermissionの 定義が必要なので注意

Slide 5

Slide 5 text

Lifecycle of DreamService ● onAttachedToWindow() ○ Use this for initial setup, such as calling setContentView(). ● onDreamingStarted() ○ Your dream has started, so you should begin animations or other behaviors here. ● onDreamingStopped() ○ Use this to stop the things you started in onDreamingStarted(). ● onDetachedFromWindow() ○ Use this to dismantle resources (for example, detach from handlers and listeners).

Slide 6

Slide 6 text

Demo ● プロジェクト作成(API 17) ● Activity不要 ● DaydreamServiceの追加 ● permissionも追加 ● MyDaydreamService.javaで実装 ○ wordsを追加 ○ ランダムに表示してみる ○ 雛形のままだと終了時に落ちるので注意

Slide 7

Slide 7 text

夢のサービスは 本当は1分以内で作れるけど 実際2分くらいかかる

Slide 8

Slide 8 text

テンプレート通りだと駄目なとこ 1. API Level 21+対応のため、permission追加 2. リスナーでNullチェック!

Slide 9

Slide 9 text

最後に

Slide 10

Slide 10 text

Androidでスクリーンセーバーを起動する には 充電中に画面をスリープモードにする必要 があります

Slide 11

Slide 11 text

おわり サンプルコードはこちら https://github.com/punchdrunker/DreamService