SlideShare une entreprise Scribd logo
1  sur  16
Télécharger pour lire hors ligne
Now Loading. Please Wait ...


                                      Twitter @yokmama




  画面のないアプリ①
  夜子まま塾 講義10(BroadcastRecieverの解説)



                                     Re:Kayo-System Co.,Ltd.

Friday, March 9, 2012
自己紹介
             氏名   :寺園聖文(てらぞの まさふみ)

             肩書   :株式会社Re:Kayo-System 代表取締役社長

             活動拠点 :神戸近郊∼日本→海外行きたい

             著書   :「10日でおぼえるAndroidアプリ開発入門教室」著(翔泳社)

                   「HTML5によるAndroidアプリ開発入門」監修(日経BP)

             アプリ  :「JUST PLAYER」「Skip Memo」「ふりがなオートマチック」等

             好きなもの:アニメ、決して萌えじゃない、見てるけど、あくまで研究の一環

             嫌いなもの:とくになし

             最近のテーマ:電子工作、運動すること、英語

                                                Re:Kayo-System Co.,Ltd.

Friday, March 9, 2012
画面のないアプリ

                        Activityは画面ありきのアプリです。
                        しかし、アプリによっては画面を必要
                            としないアプリもあります。




                                         Re:Kayo-System Co.,Ltd.

Friday, March 9, 2012
センサーアプリ
                                    傾きセンサー


                        センサーアプリ      GPS

                                      電話
                            データ保存

          メール送信                     端末の状態
                          設定変更

                                      Re:Kayo-System Co.,Ltd.

Friday, March 9, 2012
バックグラウンドで動作
                      するアプリ
              ダウンローダー
                        インターネット等からファイル等をバックグ
                        ラウンドでダウンロードするアプリ

              定期チェック
                        サーバーの情報を定期的にチェックし、変更が
                        ある場合に処理をするアプリ
              音楽プレイヤー
                        他のアプリを使っている最中にも常に音楽を鳴ら
                        し続ける
                                        Re:Kayo-System Co.,Ltd.

Friday, March 9, 2012
画面のないアプリ


                        • BroadcastReciever
                          (ブロードキャストレシーバー)

                        • Service
                          (サービス)


                                    この2つを使い分けて作ります。
                                              Re:Kayo-System Co.,Ltd.

Friday, March 9, 2012
BroadcastReciver

                  BroadcastRecieverはIntentを受け取る、
                       受け取り専用のクラスです。
                  あまり時間のかかる処理をするべきではあ
                   りませんので、その場合は次に紹介する
                    Serviceと連携する必要があります。


                                         Re:Kayo-System Co.,Ltd.

Friday, March 9, 2012
BroadcastReciverの働き
                                BroadcastReciverを継承
                                       したクラス
                                    Intent-Filterによって受信できる
                                           Intentを設定する
               Intent
                                BroadcastReciverを継承
                                     したクラス2
                                   BroadcastReciverを継承
                                        したクラス3
                                      BroadcastReciverを継承
                                           したクラス4
                        このように一致するFilterが設定された
                        クラス全部にIntentが飛んできます。
                                                   Re:Kayo-System Co.,Ltd.

Friday, March 9, 2012
動的に設定が可能
          これもBroadcastRecieverの特徴なのですが、
             IntentFilterを動的に生成できます。
                 Intent registerReceiver(BroadcastReceiver receiver, IntentFilter filter)
                        受け取るBroadcastRecieverのインスタンス
                        と、受信するIntentのFilterを登録します。

                 void unregisterReceiver(BroadcastReceiver receiver)
                        登録したBroadcastRecieverを解除する場合は
                        こちらのメソッドを使う。

                                             ※これらのメソッドはContextが持っていますので、
                                              Contextを継承したActivityからは直接使えます。
                                                                           Re:Kayo-System Co.,Ltd.

Friday, March 9, 2012
呼び出し方法
                  BroadcastRecieverは誰かから呼ばれない限り動
                                 作しません。
                   もしプログラムから直接呼び出す場合は次のメ
                              ソッドを使います。
                 void sendBroadcast(Intent intent)
                        呼び出すActionを設定したIntentを設定します。ちょ
                        うどstartActivityに似ています。

                 void sendOrderedBroadcast(Intent intent, String receiverPermission)
                        sendBroadcastに似ていますが、こちらは呼び出す順
                        序を守ってくれます。連続して送信する場合に送る順
                        番が重要な場合に利用します。
                                                                       Re:Kayo-System Co.,Ltd.

Friday, March 9, 2012
BroadcastRecieverの
                              注意点
            BroadcastRecieverには処理時間に制約があります。
               具体的にいうとBroadcastRecieverの処理は
            OnRecieveの中で行うのですが、この中で実行できる
            処理は5秒までです。それ以上かかる処理の場合はシ
            ステムからは無応答と判断されてアプリは終了されま
             す。重たい処理をする場合は次回解説するServiceを
                       使う必要があるでしょう。


                                      Re:Kayo-System Co.,Ltd.

Friday, March 9, 2012
実装例
         AndroidManifest.xmlよりIntent-Filter
          <application
              android:icon="@drawable/ic_launcher"
              android:label="@string/app_name" >
              <receiver android:name=".MyReciever" >
                  <intent-filter>
                       <action android:name="android.intent.action.ACTION_POWER_CONNECTED" />
                       <action android:name="android.intent.action.ACTION_POWER_DISCONNECTED" />
                  </intent-filter>
              </receiver>
          </application>



         MyReciver.java                                                   実行結果
          package ykmjuku.android.sample.app;
                                                                          USBケーブルを抜き差しすると次の
          <省略>
          public class MyReciever extends BroadcastReceiver {             ようなログが出力される。
                @Override
                public void onReceive(Context context, Intent intent) {
                    // TODO Auto-generated method stub
                    Log.d("Sample", "action="+intent.getAction());
                }

          }
                                                                                            Re:Kayo-System Co.,Ltd.

Friday, March 9, 2012
システムで定義された
                         BroadcastAction
                        名前                                      説明


                        ACTION_SCREEN_OFF               画面がOFFになったときに呼ばれます。


                        ACTION_SCREEN_ON                画面がONになったときに呼ばれます。


                        ACTION_BOOT_COMPLETED            システムが起動したら呼ばれます。


                        ACTION_MEDIA_MOUNTED           SDカードがマウントされたら呼ばれます。


                        ACTION_MEDIA_EJECT              SDカードがはずされたら呼ばれます。


                        ACTION_PACKAGE_INSTALL       アプリケーションがインストールされたら呼ばれます。


                        ACTION_PACKAGE_REMOVED      アプリケーションがアンインストールされたら呼ばれます。


                             ここに紹介されていないものもいくつもありますので調べ
                                                 てみるとよいでしょう。
                                                                              Re:Kayo-System Co.,Ltd.

Friday, March 9, 2012
サンプルアプリ

                        ここで紹介したプログラムは次の
                        URLからダウンロードできます。


                              ykmjuku011
                           http://bit.ly/xlt8sH

                                                  Re:Kayo-System Co.,Ltd.

Friday, March 9, 2012
作ってみよう
                         電源がはいったときに自動で起動す
                            るアプリを作ってみよう
                        ヒント
                        <receiver android:name="クラス名" android:permission="android.permission.RECEIVE_BOOT_COMPLETED">
                           <intent-filter>
                              <action android:name="android.intent.action.BOOT_COMPLETED"/>
                              <category android:name="android.intent.category.DEFAULT" />
                           </intent-filter>
                        </receiver>


                                                     このように一部のActionはこのようなパーミッションの
                                                        設定をしないと使えないものがあります。


                                    解答例はこちら http://bit.ly/ytDuRS
                                                                                                     Re:Kayo-System Co.,Ltd.

Friday, March 9, 2012
Serviceは?
                  続きは夜子まま塾オンライン(無料)にて
                        毎週水曜日夜10:30∼11:00
                         (都合によりない場合もあります)
                                夜子まま塾
                                http://bit.ly/wTjjix
                                GoogleID:101190223376062765723



                          上記アカウントをサークルに追加していると、
                            ハングアウトのお誘いが届きます。
                               是非ご参加ください。
                                                     Re:Kayo-System Co.,Ltd.

Friday, March 9, 2012

Contenu connexe

En vedette

Opengl4 quick reference card
Opengl4 quick reference cardOpengl4 quick reference card
Opengl4 quick reference cardAdrien Wattez
 
夜子まま塾講義5(実機を接続する)
夜子まま塾講義5(実機を接続する)夜子まま塾講義5(実機を接続する)
夜子まま塾講義5(実機を接続する)Masafumi Terazono
 
Opengl es 3 quick reference card
Opengl es 3 quick reference cardOpengl es 3 quick reference card
Opengl es 3 quick reference cardAdrien Wattez
 

En vedette (6)

Opengl4 quick reference card
Opengl4 quick reference cardOpengl4 quick reference card
Opengl4 quick reference card
 
夜子まま塾講義5(実機を接続する)
夜子まま塾講義5(実機を接続する)夜子まま塾講義5(実機を接続する)
夜子まま塾講義5(実機を接続する)
 
PLANEAMIENTO Y DISEÑO DE OBRAS HIDRAULICAS
PLANEAMIENTO Y DISEÑO DE OBRAS HIDRAULICASPLANEAMIENTO Y DISEÑO DE OBRAS HIDRAULICAS
PLANEAMIENTO Y DISEÑO DE OBRAS HIDRAULICAS
 
Opengl es 3 quick reference card
Opengl es 3 quick reference cardOpengl es 3 quick reference card
Opengl es 3 quick reference card
 
夜子まま塾Ecc
夜子まま塾Ecc夜子まま塾Ecc
夜子まま塾Ecc
 
夜子まま塾@鹿児島
夜子まま塾@鹿児島夜子まま塾@鹿児島
夜子まま塾@鹿児島
 

Similaire à 夜子まま塾講義12(broadcast reciever)

夜子まま塾講義11(暗黙的intent)
夜子まま塾講義11(暗黙的intent)夜子まま塾講義11(暗黙的intent)
夜子まま塾講義11(暗黙的intent)Masafumi Terazono
 
夜子まま塾講義10(画面の呼び出し)
夜子まま塾講義10(画面の呼び出し)夜子まま塾講義10(画面の呼び出し)
夜子まま塾講義10(画面の呼び出し)Masafumi Terazono
 
マスタリング DEA/NG 第2版
マスタリング DEA/NG 第2版マスタリング DEA/NG 第2版
マスタリング DEA/NG 第2版i_yudai
 
Malwat4 20130223 analyzing_android_malware
Malwat4 20130223 analyzing_android_malwareMalwat4 20130223 analyzing_android_malware
Malwat4 20130223 analyzing_android_malwareAyase
 
AppPot製品概要
AppPot製品概要AppPot製品概要
AppPot製品概要Ryohei Sogo
 
Sflt17 meteorではじめる最速ウェブアプリ開発
Sflt17 meteorではじめる最速ウェブアプリ開発Sflt17 meteorではじめる最速ウェブアプリ開発
Sflt17 meteorではじめる最速ウェブアプリ開発Hironao Sekine
 
Android sdk manual_1.02
Android sdk manual_1.02Android sdk manual_1.02
Android sdk manual_1.02Tomohiro Kondo
 
Android sdk manual_1.02
Android sdk manual_1.02Android sdk manual_1.02
Android sdk manual_1.02Tomohiro Kondo
 
【STAC2017】テスト自動化システム 成長記
【STAC2017】テスト自動化システム 成長記【STAC2017】テスト自動化システム 成長記
【STAC2017】テスト自動化システム 成長記友隆 浅黄
 
20130329 rtm3
20130329 rtm320130329 rtm3
20130329 rtm3openrtm
 
TDD勉強会キックオフ for Java
TDD勉強会キックオフ for JavaTDD勉強会キックオフ for Java
TDD勉強会キックオフ for JavaYuta Kawadai
 
Android4.2徹底解剖!
Android4.2徹底解剖!Android4.2徹底解剖!
Android4.2徹底解剖!leverages_event
 
[JavaDo] JAX-RS ハンズオン 第2部
[JavaDo] JAX-RS ハンズオン 第2部[JavaDo] JAX-RS ハンズオン 第2部
[JavaDo] JAX-RS ハンズオン 第2部haruki ueno
 
第4回勉強会 単体テストのすすめ
第4回勉強会 単体テストのすすめ第4回勉強会 単体テストのすすめ
第4回勉強会 単体テストのすすめhakoika-itwg
 
はこだてIKA 第4回勉強会 単体テスト
はこだてIKA 第4回勉強会 単体テストはこだてIKA 第4回勉強会 単体テスト
はこだてIKA 第4回勉強会 単体テストSeiji KOMATSU
 
2016 summercamp RTコンポーネント開発のためのシステムモデリング講習会
2016 summercamp RTコンポーネント開発のためのシステムモデリング講習会2016 summercamp RTコンポーネント開発のためのシステムモデリング講習会
2016 summercamp RTコンポーネント開発のためのシステムモデリング講習会openrtm
 
Appsody でnodejsのアプリを立ち上げよう!
Appsody でnodejsのアプリを立ち上げよう!Appsody でnodejsのアプリを立ち上げよう!
Appsody でnodejsのアプリを立ち上げよう!Daisuke Hiraoka
 
Try_to_writecode_practicaltest #atest_hack
Try_to_writecode_practicaltest #atest_hackTry_to_writecode_practicaltest #atest_hack
Try_to_writecode_practicaltest #atest_hackkimukou_26 Kimukou
 

Similaire à 夜子まま塾講義12(broadcast reciever) (20)

夜子まま塾講義11(暗黙的intent)
夜子まま塾講義11(暗黙的intent)夜子まま塾講義11(暗黙的intent)
夜子まま塾講義11(暗黙的intent)
 
夜子まま塾講義10(画面の呼び出し)
夜子まま塾講義10(画面の呼び出し)夜子まま塾講義10(画面の呼び出し)
夜子まま塾講義10(画面の呼び出し)
 
マスタリング DEA/NG 第2版
マスタリング DEA/NG 第2版マスタリング DEA/NG 第2版
マスタリング DEA/NG 第2版
 
Permissionの日本語でおk
Permissionの日本語でおkPermissionの日本語でおk
Permissionの日本語でおk
 
Malwat4 20130223 analyzing_android_malware
Malwat4 20130223 analyzing_android_malwareMalwat4 20130223 analyzing_android_malware
Malwat4 20130223 analyzing_android_malware
 
AppPot製品概要
AppPot製品概要AppPot製品概要
AppPot製品概要
 
Sflt17 meteorではじめる最速ウェブアプリ開発
Sflt17 meteorではじめる最速ウェブアプリ開発Sflt17 meteorではじめる最速ウェブアプリ開発
Sflt17 meteorではじめる最速ウェブアプリ開発
 
Android sdk manual_1.02
Android sdk manual_1.02Android sdk manual_1.02
Android sdk manual_1.02
 
Android sdk manual_1.02
Android sdk manual_1.02Android sdk manual_1.02
Android sdk manual_1.02
 
【STAC2017】テスト自動化システム 成長記
【STAC2017】テスト自動化システム 成長記【STAC2017】テスト自動化システム 成長記
【STAC2017】テスト自動化システム 成長記
 
20130329 rtm3
20130329 rtm320130329 rtm3
20130329 rtm3
 
TDD勉強会キックオフ for Java
TDD勉強会キックオフ for JavaTDD勉強会キックオフ for Java
TDD勉強会キックオフ for Java
 
Android4.2徹底解剖!
Android4.2徹底解剖!Android4.2徹底解剖!
Android4.2徹底解剖!
 
[JavaDo] JAX-RS ハンズオン 第2部
[JavaDo] JAX-RS ハンズオン 第2部[JavaDo] JAX-RS ハンズオン 第2部
[JavaDo] JAX-RS ハンズオン 第2部
 
Titanium
TitaniumTitanium
Titanium
 
第4回勉強会 単体テストのすすめ
第4回勉強会 単体テストのすすめ第4回勉強会 単体テストのすすめ
第4回勉強会 単体テストのすすめ
 
はこだてIKA 第4回勉強会 単体テスト
はこだてIKA 第4回勉強会 単体テストはこだてIKA 第4回勉強会 単体テスト
はこだてIKA 第4回勉強会 単体テスト
 
2016 summercamp RTコンポーネント開発のためのシステムモデリング講習会
2016 summercamp RTコンポーネント開発のためのシステムモデリング講習会2016 summercamp RTコンポーネント開発のためのシステムモデリング講習会
2016 summercamp RTコンポーネント開発のためのシステムモデリング講習会
 
Appsody でnodejsのアプリを立ち上げよう!
Appsody でnodejsのアプリを立ち上げよう!Appsody でnodejsのアプリを立ち上げよう!
Appsody でnodejsのアプリを立ち上げよう!
 
Try_to_writecode_practicaltest #atest_hack
Try_to_writecode_practicaltest #atest_hackTry_to_writecode_practicaltest #atest_hack
Try_to_writecode_practicaltest #atest_hack
 

Plus de Masafumi Terazono

Kobe.py 勉強会 minecraft piスライド
Kobe.py 勉強会 minecraft piスライドKobe.py 勉強会 minecraft piスライド
Kobe.py 勉強会 minecraft piスライドMasafumi Terazono
 
Minecraftと連携するSlackちゃんという会話Botを作った話
Minecraftと連携するSlackちゃんという会話Botを作った話Minecraftと連携するSlackちゃんという会話Botを作った話
Minecraftと連携するSlackちゃんという会話Botを作った話Masafumi Terazono
 
初心者〜中級者 Android StudioによるAndroid勉強会資料(スライド)
初心者〜中級者 Android StudioによるAndroid勉強会資料(スライド)初心者〜中級者 Android StudioによるAndroid勉強会資料(スライド)
初心者〜中級者 Android StudioによるAndroid勉強会資料(スライド)Masafumi Terazono
 
夜子まま塾 2015年1月23日 進行用資料
夜子まま塾 2015年1月23日 進行用資料夜子まま塾 2015年1月23日 進行用資料
夜子まま塾 2015年1月23日 進行用資料Masafumi Terazono
 
セーラーソン振り返り
セーラーソン振り返りセーラーソン振り返り
セーラーソン振り返りMasafumi Terazono
 
関西Nfc lab勉強会 宣伝
関西Nfc lab勉強会 宣伝関西Nfc lab勉強会 宣伝
関西Nfc lab勉強会 宣伝Masafumi Terazono
 
関西支部 第二回 NFCLab勉強会 
関西支部 第二回 NFCLab勉強会 関西支部 第二回 NFCLab勉強会 
関西支部 第二回 NFCLab勉強会 Masafumi Terazono
 
日本Androidの会 中国支部資料
日本Androidの会 中国支部資料日本Androidの会 中国支部資料
日本Androidの会 中国支部資料Masafumi Terazono
 
Android+NFC 日本Androidの会神戸支部 勉強会
Android+NFC 日本Androidの会神戸支部 勉強会Android+NFC 日本Androidの会神戸支部 勉強会
Android+NFC 日本Androidの会神戸支部 勉強会Masafumi Terazono
 
関西支部Android勉強会(ロボットxnfc)
関西支部Android勉強会(ロボットxnfc)関西支部Android勉強会(ロボットxnfc)
関西支部Android勉強会(ロボットxnfc)Masafumi Terazono
 
夜子まま塾講義9(androidの画面デザイン)
夜子まま塾講義9(androidの画面デザイン)夜子まま塾講義9(androidの画面デザイン)
夜子まま塾講義9(androidの画面デザイン)Masafumi Terazono
 
夜子まま塾講義8(androidの画面デザイン2)
夜子まま塾講義8(androidの画面デザイン2)夜子まま塾講義8(androidの画面デザイン2)
夜子まま塾講義8(androidの画面デザイン2)Masafumi Terazono
 
夜子まま塾講義7(androidの画面デザイン1)
夜子まま塾講義7(androidの画面デザイン1)夜子まま塾講義7(androidの画面デザイン1)
夜子まま塾講義7(androidの画面デザイン1)Masafumi Terazono
 

Plus de Masafumi Terazono (20)

初心者向けSpigot開発
初心者向けSpigot開発初心者向けSpigot開発
初心者向けSpigot開発
 
Minecraft dayの報告
Minecraft dayの報告Minecraft dayの報告
Minecraft dayの報告
 
BungeeCordeについて
BungeeCordeについてBungeeCordeについて
BungeeCordeについて
 
Spongeについて
SpongeについてSpongeについて
Spongeについて
 
Kobe.py 勉強会 minecraft piスライド
Kobe.py 勉強会 minecraft piスライドKobe.py 勉強会 minecraft piスライド
Kobe.py 勉強会 minecraft piスライド
 
Minecraftと連携するSlackちゃんという会話Botを作った話
Minecraftと連携するSlackちゃんという会話Botを作った話Minecraftと連携するSlackちゃんという会話Botを作った話
Minecraftと連携するSlackちゃんという会話Botを作った話
 
初心者〜中級者 Android StudioによるAndroid勉強会資料(スライド)
初心者〜中級者 Android StudioによるAndroid勉強会資料(スライド)初心者〜中級者 Android StudioによるAndroid勉強会資料(スライド)
初心者〜中級者 Android StudioによるAndroid勉強会資料(スライド)
 
夜子まま塾 2015年1月23日 進行用資料
夜子まま塾 2015年1月23日 進行用資料夜子まま塾 2015年1月23日 進行用資料
夜子まま塾 2015年1月23日 進行用資料
 
Thetalaps
ThetalapsThetalaps
Thetalaps
 
Android wear勉強会2
Android wear勉強会2Android wear勉強会2
Android wear勉強会2
 
セーラーソン振り返り
セーラーソン振り返りセーラーソン振り返り
セーラーソン振り返り
 
関西Nfc lab勉強会 宣伝
関西Nfc lab勉強会 宣伝関西Nfc lab勉強会 宣伝
関西Nfc lab勉強会 宣伝
 
関西支部 第二回 NFCLab勉強会 
関西支部 第二回 NFCLab勉強会 関西支部 第二回 NFCLab勉強会 
関西支部 第二回 NFCLab勉強会 
 
日本Androidの会 中国支部資料
日本Androidの会 中国支部資料日本Androidの会 中国支部資料
日本Androidの会 中国支部資料
 
Android+NFC 日本Androidの会神戸支部 勉強会
Android+NFC 日本Androidの会神戸支部 勉強会Android+NFC 日本Androidの会神戸支部 勉強会
Android+NFC 日本Androidの会神戸支部 勉強会
 
関西支部Android勉強会(ロボットxnfc)
関西支部Android勉強会(ロボットxnfc)関西支部Android勉強会(ロボットxnfc)
関西支部Android勉強会(ロボットxnfc)
 
関西Unity勉強会
関西Unity勉強会関西Unity勉強会
関西Unity勉強会
 
夜子まま塾講義9(androidの画面デザイン)
夜子まま塾講義9(androidの画面デザイン)夜子まま塾講義9(androidの画面デザイン)
夜子まま塾講義9(androidの画面デザイン)
 
夜子まま塾講義8(androidの画面デザイン2)
夜子まま塾講義8(androidの画面デザイン2)夜子まま塾講義8(androidの画面デザイン2)
夜子まま塾講義8(androidの画面デザイン2)
 
夜子まま塾講義7(androidの画面デザイン1)
夜子まま塾講義7(androidの画面デザイン1)夜子まま塾講義7(androidの画面デザイン1)
夜子まま塾講義7(androidの画面デザイン1)
 

Dernier

業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 

Dernier (9)

業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 

夜子まま塾講義12(broadcast reciever)

  • 1. Now Loading. Please Wait ... Twitter @yokmama 画面のないアプリ① 夜子まま塾 講義10(BroadcastRecieverの解説) Re:Kayo-System Co.,Ltd. Friday, March 9, 2012
  • 2. 自己紹介 氏名   :寺園聖文(てらぞの まさふみ) 肩書   :株式会社Re:Kayo-System 代表取締役社長 活動拠点 :神戸近郊∼日本→海外行きたい 著書   :「10日でおぼえるAndroidアプリ開発入門教室」著(翔泳社)       「HTML5によるAndroidアプリ開発入門」監修(日経BP) アプリ  :「JUST PLAYER」「Skip Memo」「ふりがなオートマチック」等 好きなもの:アニメ、決して萌えじゃない、見てるけど、あくまで研究の一環 嫌いなもの:とくになし 最近のテーマ:電子工作、運動すること、英語 Re:Kayo-System Co.,Ltd. Friday, March 9, 2012
  • 3. 画面のないアプリ Activityは画面ありきのアプリです。 しかし、アプリによっては画面を必要 としないアプリもあります。 Re:Kayo-System Co.,Ltd. Friday, March 9, 2012
  • 4. センサーアプリ 傾きセンサー センサーアプリ GPS 電話 データ保存 メール送信 端末の状態 設定変更 Re:Kayo-System Co.,Ltd. Friday, March 9, 2012
  • 5. バックグラウンドで動作 するアプリ ダウンローダー インターネット等からファイル等をバックグ ラウンドでダウンロードするアプリ 定期チェック サーバーの情報を定期的にチェックし、変更が ある場合に処理をするアプリ 音楽プレイヤー 他のアプリを使っている最中にも常に音楽を鳴ら し続ける Re:Kayo-System Co.,Ltd. Friday, March 9, 2012
  • 6. 画面のないアプリ • BroadcastReciever (ブロードキャストレシーバー) • Service (サービス) この2つを使い分けて作ります。 Re:Kayo-System Co.,Ltd. Friday, March 9, 2012
  • 7. BroadcastReciver BroadcastRecieverはIntentを受け取る、 受け取り専用のクラスです。 あまり時間のかかる処理をするべきではあ りませんので、その場合は次に紹介する Serviceと連携する必要があります。 Re:Kayo-System Co.,Ltd. Friday, March 9, 2012
  • 8. BroadcastReciverの働き BroadcastReciverを継承 したクラス Intent-Filterによって受信できる Intentを設定する Intent BroadcastReciverを継承 したクラス2 BroadcastReciverを継承 したクラス3 BroadcastReciverを継承 したクラス4 このように一致するFilterが設定された クラス全部にIntentが飛んできます。 Re:Kayo-System Co.,Ltd. Friday, March 9, 2012
  • 9. 動的に設定が可能 これもBroadcastRecieverの特徴なのですが、 IntentFilterを動的に生成できます。 Intent registerReceiver(BroadcastReceiver receiver, IntentFilter filter) 受け取るBroadcastRecieverのインスタンス と、受信するIntentのFilterを登録します。 void unregisterReceiver(BroadcastReceiver receiver) 登録したBroadcastRecieverを解除する場合は こちらのメソッドを使う。 ※これらのメソッドはContextが持っていますので、 Contextを継承したActivityからは直接使えます。 Re:Kayo-System Co.,Ltd. Friday, March 9, 2012
  • 10. 呼び出し方法 BroadcastRecieverは誰かから呼ばれない限り動 作しません。 もしプログラムから直接呼び出す場合は次のメ ソッドを使います。 void sendBroadcast(Intent intent) 呼び出すActionを設定したIntentを設定します。ちょ うどstartActivityに似ています。 void sendOrderedBroadcast(Intent intent, String receiverPermission) sendBroadcastに似ていますが、こちらは呼び出す順 序を守ってくれます。連続して送信する場合に送る順 番が重要な場合に利用します。 Re:Kayo-System Co.,Ltd. Friday, March 9, 2012
  • 11. BroadcastRecieverの 注意点 BroadcastRecieverには処理時間に制約があります。 具体的にいうとBroadcastRecieverの処理は OnRecieveの中で行うのですが、この中で実行できる 処理は5秒までです。それ以上かかる処理の場合はシ ステムからは無応答と判断されてアプリは終了されま す。重たい処理をする場合は次回解説するServiceを 使う必要があるでしょう。 Re:Kayo-System Co.,Ltd. Friday, March 9, 2012
  • 12. 実装例 AndroidManifest.xmlよりIntent-Filter <application android:icon="@drawable/ic_launcher" android:label="@string/app_name" > <receiver android:name=".MyReciever" > <intent-filter> <action android:name="android.intent.action.ACTION_POWER_CONNECTED" /> <action android:name="android.intent.action.ACTION_POWER_DISCONNECTED" /> </intent-filter> </receiver> </application> MyReciver.java 実行結果 package ykmjuku.android.sample.app; USBケーブルを抜き差しすると次の <省略> public class MyReciever extends BroadcastReceiver { ようなログが出力される。 @Override public void onReceive(Context context, Intent intent) { // TODO Auto-generated method stub Log.d("Sample", "action="+intent.getAction()); } } Re:Kayo-System Co.,Ltd. Friday, March 9, 2012
  • 13. システムで定義された BroadcastAction 名前 説明 ACTION_SCREEN_OFF 画面がOFFになったときに呼ばれます。 ACTION_SCREEN_ON 画面がONになったときに呼ばれます。 ACTION_BOOT_COMPLETED システムが起動したら呼ばれます。 ACTION_MEDIA_MOUNTED SDカードがマウントされたら呼ばれます。 ACTION_MEDIA_EJECT SDカードがはずされたら呼ばれます。 ACTION_PACKAGE_INSTALL アプリケーションがインストールされたら呼ばれます。 ACTION_PACKAGE_REMOVED アプリケーションがアンインストールされたら呼ばれます。 ここに紹介されていないものもいくつもありますので調べ てみるとよいでしょう。 Re:Kayo-System Co.,Ltd. Friday, March 9, 2012
  • 14. サンプルアプリ ここで紹介したプログラムは次の URLからダウンロードできます。 ykmjuku011 http://bit.ly/xlt8sH Re:Kayo-System Co.,Ltd. Friday, March 9, 2012
  • 15. 作ってみよう 電源がはいったときに自動で起動す るアプリを作ってみよう ヒント <receiver android:name="クラス名" android:permission="android.permission.RECEIVE_BOOT_COMPLETED"> <intent-filter> <action android:name="android.intent.action.BOOT_COMPLETED"/> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </receiver> このように一部のActionはこのようなパーミッションの 設定をしないと使えないものがあります。 解答例はこちら http://bit.ly/ytDuRS Re:Kayo-System Co.,Ltd. Friday, March 9, 2012
  • 16. Serviceは? 続きは夜子まま塾オンライン(無料)にて 毎週水曜日夜10:30∼11:00 (都合によりない場合もあります) 夜子まま塾 http://bit.ly/wTjjix GoogleID:101190223376062765723 上記アカウントをサークルに追加していると、 ハングアウトのお誘いが届きます。 是非ご参加ください。 Re:Kayo-System Co.,Ltd. Friday, March 9, 2012