SlideShare uma empresa Scribd logo
1 de 19
Baixar para ler offline
Now Loading. Please Wait ...


                                       Twitter @yokmama




  Androidの外部アプリの連携
  夜子まま塾 講義11(アプリ連携 暗黙Intentによる呼び出し)



                                      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
暗黙的Intent
           講義10にて、Intentを使ったアプリを解説しました。
          Intentを使えば、他の画面を呼び出すことができます。
          ということは、Android端末内の他のアプリもIntentを
                   使えば呼び出せるわけです。
             だけどちょっとここで疑問がでてくるはずです。




                                 Re:Kayo-System Co.,Ltd.

Friday, March 9, 2012
Intentの生成
                           Intent(Context packageContext, Class<?> cls)



                        おさらいです、上のメソッドはIntentの
                               コンストラクタです。
                        Intentの生成には呼び出すクラスのクラ
                                ス名が必要でした。

                                                                      Re:Kayo-System Co.,Ltd.

Friday, March 9, 2012
クラスが生成できない

                   しかし、
       Classは同一アプリ内のクラスであれば取得でき
        るけど、そうでない場合は取得できません。
       では、他のアプリを画面を呼び出すにはどうすれ
                  ばいいの?



                                Re:Kayo-System Co.,Ltd.

Friday, March 9, 2012
一応こんなメソッドがある
                        Intent setClassName(String packageName, String className)


                        直接、文字列で呼び出し画面のクラス名と
                            パッケージを設定する

                        例                                   AndroidManifest.xmlに書いてある
                        Intent intent = new Intent();          パッケージである点に注意
                        intent.setClassName(
                            ykmjuku.sample.android.app ,
                            ykmjuku.sample.android.app.Ykmjuku002Activity );

                                                                         Re:Kayo-System Co.,Ltd.

Friday, March 9, 2012
クラスパスが分からない
                       場合は?

                  残念ながら、クラスパスがわからないクラ
                  スは直接指定ができないため呼び出すこと
                        ができないです。
                  では、分からない場合に他に方法ないの?



                                 Re:Kayo-System Co.,Ltd.

Friday, March 9, 2012
あります!

                        その方法が、今回紹介する暗黙的
                          Intentという呼び方です。




                                      Re:Kayo-System Co.,Ltd.

Friday, March 9, 2012
暗黙的Intent
                        暗黙的Intentとは、呼び出す相手を明
                        確に設定しないで、ActionとTypeと
                        いった属性を元に該当するアプリを呼
                              び出す方法です。




                                         Re:Kayo-System Co.,Ltd.

Friday, March 9, 2012
暗黙的Intentを図で
                                     他の画面1
                                     Action A
          呼び出し元            Intent
                                     他の画面2
                          Action=A   ActionA

                                     他の画面3
                                     ActionB

                                      Re:Kayo-System Co.,Ltd.

Friday, March 9, 2012
暗黙的Intentをコードで
      呼び出し
      Intent intent = new Intent(Intent.ACTION_PICK);
      intent.setType("image/*");
      startActivity(intent);

                              Intent.javaより抜粋
                              public static final String ACTION_PICK = "android.intent.action.PICK";


      GalleryアプリのAndroidManifest.xml

                        <activity android:name="com.android.camera.ImageGallery"
                                android:label="@string/gallery_label"
                                android:icon="@drawable/ic_launcher_gallery">
                            <intent-filter>
                                <action android:name="android.intent.action.PICK" />
                                <category android:name="android.intent.category.DEFAULT" />
                                <data android:mimeType="image/*" />
                                <data android:mimeType="video/*" />
                            </intent-filter>
                        </activity>

                                                                                 Re:Kayo-System Co.,Ltd.

Friday, March 9, 2012
動かしてみる
    クリック

                                      ACTION_PICKは何かを選択するア
                                      クションです。ActivityForResult
                                      を使うと選択した画像を取得するこ
                                             とができます。




                        プログラム:ykmjuku009
                         http://bit.ly/x5P8xY
                                              Re:Kayo-System Co.,Ltd.

Friday, March 9, 2012
IntentFilterについて
                  Intentにはパッケージやクラスの他に
                ActionやTypeを設定することができます。
                そして、このAcitonやTypeにアプリが反応
                するかどうかを設定する方法がIntent-Filter
                             です。




                                     Re:Kayo-System Co.,Ltd.

Friday, March 9, 2012
Intent-Filterの設定
                             ActivityのIntent-Filterは
                        AndroidManifest.xmlで設定します。

                 タグ名:intent-filter
                 子の要素
                     action   Intentのアクション名(必須)
                     category Intentのカテゴリ名
                     data     Intentのデータ使用
                                               Re:Kayo-System Co.,Ltd.

Friday, March 9, 2012
Intent-Filterの設定
          AndroidManifest.xmlより
         <application
             android:icon="@drawable/ic_launcher"
             android:label="@string/app_name" >
             <activity
                 android:name=".Ykmjuku009Activity"
                 android:label="@string/app_name" >
                 <intent-filter>
                      <action android:name="android.intent.action.MAIN" />
                      <category android:name="android.intent.category.LAUNCHER" />
                 </intent-filter>
             </activity>
         </application>



                         この設定は、ランチャーアプリから起動でき
                           るアプリを設定するフィルターです。


                                                                         Re:Kayo-System Co.,Ltd.

Friday, March 9, 2012
Intent-Filterは複数書い
                               てもよい
      <activity android:name=".Hoge" android:label="@string/app_name">
         <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
         </intent-filter>
         <intent-filter>
            <action android:name="android.intent.action.VIEW" />
            <category android:name="android.intent.category.DEFAULT" />
          </intent-filter>
      </activity>

                                              ランチャー起動用のフィルターと表示用
                                               のフィルターの2つを定義している。
                                                             Re:Kayo-System Co.,Ltd.

Friday, March 9, 2012
色々なIntentの使用例
             メールの送信
              Intent intent=new Intent(Intent.ACTION_SEND);
              intent.putExtra(Intent.EXTRA_SUBJECT,"件名");
              intent.putExtra(Intent.EXTRA_TEXT,"本文");
              startActivity(intent);

              電話の発信
              Uri uri=Uri.parse("tel:0120-2222");
              Intent intent=new Intent(Intent.ACTION_CALL,uri);
              startActivity(intent);

              YouTube再生
              Intent intent=new Intent(Intent.ACTION_VIEW,
              Uri.parse("http://www.youtube.com/watch?v=Ndoi4XYqDgw"));
              startActivity(intent);
                                                                  Re:Kayo-System Co.,Ltd.

Friday, March 9, 2012
作ってみよう
                           テキスト連携を行い、入力した
                              文字列を渡すアプリ
                        テキスト連携
                        Intent intent = new Intent(Intent.ACTION_SEND);
                        intent.setType("text/plain");
                        intent.putExtra(Intent.EXTRA_TEXT, “文字列”);




                        参考例:ykmjuku010
                        http://bit.ly/zB6C3P
                                                                Re:Kayo-System Co.,Ltd.

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



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

Friday, March 9, 2012

Mais conteúdo relacionado

Semelhante a 夜子まま塾講義11(暗黙的intent)

夜子まま塾講義12(broadcast reciever)
夜子まま塾講義12(broadcast reciever)夜子まま塾講義12(broadcast reciever)
夜子まま塾講義12(broadcast reciever)Masafumi Terazono
 
夜子まま塾講義10(画面の呼び出し)
夜子まま塾講義10(画面の呼び出し)夜子まま塾講義10(画面の呼び出し)
夜子まま塾講義10(画面の呼び出し)Masafumi Terazono
 
Android Hacks - 合宿インテント
Android Hacks - 合宿インテントAndroid Hacks - 合宿インテント
Android Hacks - 合宿インテントMasanori Ohkawara
 
日本Androidの会 中国支部資料
日本Androidの会 中国支部資料日本Androidの会 中国支部資料
日本Androidの会 中国支部資料Masafumi Terazono
 
Android4.2徹底解剖!
Android4.2徹底解剖!Android4.2徹底解剖!
Android4.2徹底解剖!leverages_event
 
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
 
20120126 企画パーティーセミナー 資料
20120126 企画パーティーセミナー 資料20120126 企画パーティーセミナー 資料
20120126 企画パーティーセミナー 資料scratch160
 
Sdk無しでアドネットワーク凛 for androidアプリ_設置マニュアル
Sdk無しでアドネットワーク凛 for androidアプリ_設置マニュアルSdk無しでアドネットワーク凛 for androidアプリ_設置マニュアル
Sdk無しでアドネットワーク凛 for androidアプリ_設置マニュアルHarumasa Matsushita
 
アプリをエミュレートするアプリの登場とその危険性 / How multi-account app works
アプリをエミュレートするアプリの登場とその危険性 / How multi-account app worksアプリをエミュレートするアプリの登場とその危険性 / How multi-account app works
アプリをエミュレートするアプリの登場とその危険性 / How multi-account app worksTakaki Hoshikawa
 
Growth Hacking Japan University 2012 Q4: Week#3 グロースハッキングジャパン・ユニバーシティ Week#3まとめ
Growth Hacking Japan University 2012 Q4: Week#3 グロースハッキングジャパン・ユニバーシティ Week#3まとめGrowth Hacking Japan University 2012 Q4: Week#3 グロースハッキングジャパン・ユニバーシティ Week#3まとめ
Growth Hacking Japan University 2012 Q4: Week#3 グロースハッキングジャパン・ユニバーシティ Week#3まとめJames Hollow
 
Tokyo GTUG Bootcamp2010
Tokyo GTUG Bootcamp2010Tokyo GTUG Bootcamp2010
Tokyo GTUG Bootcamp2010Takashi EGAWA
 
Android Hacks - 合宿 Activity
Android Hacks - 合宿 ActivityAndroid Hacks - 合宿 Activity
Android Hacks - 合宿 ActivityMasanori Ohkawara
 
アプリリリース後に後悔しないための20のこと
アプリリリース後に後悔しないための20のことアプリリリース後に後悔しないための20のこと
アプリリリース後に後悔しないための20のことleverages_event
 
TestFlight自動化でらくらくチームテスト
TestFlight自動化でらくらくチームテストTestFlight自動化でらくらくチームテスト
TestFlight自動化でらくらくチームテストYoichiro Sakurai
 
初心者〜中級者 Android StudioによるAndroid勉強会資料(スライド)
初心者〜中級者 Android StudioによるAndroid勉強会資料(スライド)初心者〜中級者 Android StudioによるAndroid勉強会資料(スライド)
初心者〜中級者 Android StudioによるAndroid勉強会資料(スライド)Masafumi Terazono
 
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
 

Semelhante a 夜子まま塾講義11(暗黙的intent) (20)

夜子まま塾講義12(broadcast reciever)
夜子まま塾講義12(broadcast reciever)夜子まま塾講義12(broadcast reciever)
夜子まま塾講義12(broadcast reciever)
 
夜子まま塾講義10(画面の呼び出し)
夜子まま塾講義10(画面の呼び出し)夜子まま塾講義10(画面の呼び出し)
夜子まま塾講義10(画面の呼び出し)
 
Android Hacks - 合宿インテント
Android Hacks - 合宿インテントAndroid Hacks - 合宿インテント
Android Hacks - 合宿インテント
 
日本Androidの会 中国支部資料
日本Androidの会 中国支部資料日本Androidの会 中国支部資料
日本Androidの会 中国支部資料
 
Android4.2徹底解剖!
Android4.2徹底解剖!Android4.2徹底解剖!
Android4.2徹底解剖!
 
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
 
Android Hacks - Hack8
Android Hacks - Hack8Android Hacks - Hack8
Android Hacks - Hack8
 
20120126 企画パーティーセミナー 資料
20120126 企画パーティーセミナー 資料20120126 企画パーティーセミナー 資料
20120126 企画パーティーセミナー 資料
 
Sdk無しでアドネットワーク凛 for androidアプリ_設置マニュアル
Sdk無しでアドネットワーク凛 for androidアプリ_設置マニュアルSdk無しでアドネットワーク凛 for androidアプリ_設置マニュアル
Sdk無しでアドネットワーク凛 for androidアプリ_設置マニュアル
 
Permissionの日本語でおk
Permissionの日本語でおkPermissionの日本語でおk
Permissionの日本語でおk
 
アプリをエミュレートするアプリの登場とその危険性 / How multi-account app works
アプリをエミュレートするアプリの登場とその危険性 / How multi-account app worksアプリをエミュレートするアプリの登場とその危険性 / How multi-account app works
アプリをエミュレートするアプリの登場とその危険性 / How multi-account app works
 
Growth Hacking Japan University 2012 Q4: Week#3 グロースハッキングジャパン・ユニバーシティ Week#3まとめ
Growth Hacking Japan University 2012 Q4: Week#3 グロースハッキングジャパン・ユニバーシティ Week#3まとめGrowth Hacking Japan University 2012 Q4: Week#3 グロースハッキングジャパン・ユニバーシティ Week#3まとめ
Growth Hacking Japan University 2012 Q4: Week#3 グロースハッキングジャパン・ユニバーシティ Week#3まとめ
 
Tokyo GTUG Bootcamp2010
Tokyo GTUG Bootcamp2010Tokyo GTUG Bootcamp2010
Tokyo GTUG Bootcamp2010
 
Android Hacks - 合宿 Activity
Android Hacks - 合宿 ActivityAndroid Hacks - 合宿 Activity
Android Hacks - 合宿 Activity
 
アプリリリース後に後悔しないための20のこと
アプリリリース後に後悔しないための20のことアプリリリース後に後悔しないための20のこと
アプリリリース後に後悔しないための20のこと
 
TestFlight自動化でらくらくチームテスト
TestFlight自動化でらくらくチームテストTestFlight自動化でらくらくチームテスト
TestFlight自動化でらくらくチームテスト
 
初心者〜中級者 Android StudioによるAndroid勉強会資料(スライド)
初心者〜中級者 Android StudioによるAndroid勉強会資料(スライド)初心者〜中級者 Android StudioによるAndroid勉強会資料(スライド)
初心者〜中級者 Android StudioによるAndroid勉強会資料(スライド)
 
Android Wear Apps
Android Wear AppsAndroid Wear Apps
Android Wear Apps
 
Try_to_writecode_practicaltest #atest_hack
Try_to_writecode_practicaltest #atest_hackTry_to_writecode_practicaltest #atest_hack
Try_to_writecode_practicaltest #atest_hack
 

Mais 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
 
夜子まま塾 2015年1月23日 進行用資料
夜子まま塾 2015年1月23日 進行用資料夜子まま塾 2015年1月23日 進行用資料
夜子まま塾 2015年1月23日 進行用資料Masafumi Terazono
 
関西支部 第二回 NFCLab勉強会 
関西支部 第二回 NFCLab勉強会 関西支部 第二回 NFCLab勉強会 
関西支部 第二回 NFCLab勉強会 Masafumi Terazono
 
Android+NFC 日本Androidの会神戸支部 勉強会
Android+NFC 日本Androidの会神戸支部 勉強会Android+NFC 日本Androidの会神戸支部 勉強会
Android+NFC 日本Androidの会神戸支部 勉強会Masafumi Terazono
 
夜子まま塾講義9(androidの画面デザイン)
夜子まま塾講義9(androidの画面デザイン)夜子まま塾講義9(androidの画面デザイン)
夜子まま塾講義9(androidの画面デザイン)Masafumi Terazono
 
夜子まま塾講義6(androidでhello world)
夜子まま塾講義6(androidでhello world)夜子まま塾講義6(androidでhello world)
夜子まま塾講義6(androidでhello world)Masafumi Terazono
 
夜子まま塾講義5(実機を接続する)
夜子まま塾講義5(実機を接続する)夜子まま塾講義5(実機を接続する)
夜子まま塾講義5(実機を接続する)Masafumi Terazono
 
夜子まま塾講義4(アプリを動かす)
夜子まま塾講義4(アプリを動かす)夜子まま塾講義4(アプリを動かす)
夜子まま塾講義4(アプリを動かす)Masafumi Terazono
 
夜子まま塾講義3(androidで電卓アプリを作る)
夜子まま塾講義3(androidで電卓アプリを作る)夜子まま塾講義3(androidで電卓アプリを作る)
夜子まま塾講義3(androidで電卓アプリを作る)Masafumi Terazono
 
夜子まま塾講義1(Javaでhello world)
夜子まま塾講義1(Javaでhello world)夜子まま塾講義1(Javaでhello world)
夜子まま塾講義1(Javaでhello world)Masafumi Terazono
 
AndroidからWebサービスを使う
AndroidからWebサービスを使うAndroidからWebサービスを使う
AndroidからWebサービスを使うMasafumi Terazono
 

Mais 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を作った話
 
夜子まま塾 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
 
夜子まま塾@鹿児島
夜子まま塾@鹿児島夜子まま塾@鹿児島
夜子まま塾@鹿児島
 
関西支部 第二回 NFCLab勉強会 
関西支部 第二回 NFCLab勉強会 関西支部 第二回 NFCLab勉強会 
関西支部 第二回 NFCLab勉強会 
 
Android+NFC 日本Androidの会神戸支部 勉強会
Android+NFC 日本Androidの会神戸支部 勉強会Android+NFC 日本Androidの会神戸支部 勉強会
Android+NFC 日本Androidの会神戸支部 勉強会
 
関西Unity勉強会
関西Unity勉強会関西Unity勉強会
関西Unity勉強会
 
夜子まま塾講義9(androidの画面デザイン)
夜子まま塾講義9(androidの画面デザイン)夜子まま塾講義9(androidの画面デザイン)
夜子まま塾講義9(androidの画面デザイン)
 
夜子まま塾講義6(androidでhello world)
夜子まま塾講義6(androidでhello world)夜子まま塾講義6(androidでhello world)
夜子まま塾講義6(androidでhello world)
 
夜子まま塾講義5(実機を接続する)
夜子まま塾講義5(実機を接続する)夜子まま塾講義5(実機を接続する)
夜子まま塾講義5(実機を接続する)
 
夜子まま塾講義4(アプリを動かす)
夜子まま塾講義4(アプリを動かす)夜子まま塾講義4(アプリを動かす)
夜子まま塾講義4(アプリを動かす)
 
夜子まま塾講義3(androidで電卓アプリを作る)
夜子まま塾講義3(androidで電卓アプリを作る)夜子まま塾講義3(androidで電卓アプリを作る)
夜子まま塾講義3(androidで電卓アプリを作る)
 
夜子まま塾講義1(Javaでhello world)
夜子まま塾講義1(Javaでhello world)夜子まま塾講義1(Javaでhello world)
夜子まま塾講義1(Javaでhello world)
 
AndroidからWebサービスを使う
AndroidからWebサービスを使うAndroidからWebサービスを使う
AndroidからWebサービスを使う
 

Último

プレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツールプレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツールsugiuralab
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directoryosamut
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000Shota Ito
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価sugiuralab
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxAtomu Hidaka
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 

Último (8)

プレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツールプレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツール
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
 
プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 

夜子まま塾講義11(暗黙的intent)

  • 1. Now Loading. Please Wait ... Twitter @yokmama Androidの外部アプリの連携 夜子まま塾 講義11(アプリ連携 暗黙Intentによる呼び出し) 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. 暗黙的Intent 講義10にて、Intentを使ったアプリを解説しました。 Intentを使えば、他の画面を呼び出すことができます。 ということは、Android端末内の他のアプリもIntentを 使えば呼び出せるわけです。 だけどちょっとここで疑問がでてくるはずです。 Re:Kayo-System Co.,Ltd. Friday, March 9, 2012
  • 4. Intentの生成 Intent(Context packageContext, Class<?> cls) おさらいです、上のメソッドはIntentの コンストラクタです。 Intentの生成には呼び出すクラスのクラ ス名が必要でした。 Re:Kayo-System Co.,Ltd. Friday, March 9, 2012
  • 5. クラスが生成できない しかし、 Classは同一アプリ内のクラスであれば取得でき るけど、そうでない場合は取得できません。 では、他のアプリを画面を呼び出すにはどうすれ ばいいの? Re:Kayo-System Co.,Ltd. Friday, March 9, 2012
  • 6. 一応こんなメソッドがある Intent setClassName(String packageName, String className) 直接、文字列で呼び出し画面のクラス名と パッケージを設定する 例 AndroidManifest.xmlに書いてある Intent intent = new Intent(); パッケージである点に注意 intent.setClassName( ykmjuku.sample.android.app , ykmjuku.sample.android.app.Ykmjuku002Activity ); Re:Kayo-System Co.,Ltd. Friday, March 9, 2012
  • 7. クラスパスが分からない 場合は? 残念ながら、クラスパスがわからないクラ スは直接指定ができないため呼び出すこと ができないです。 では、分からない場合に他に方法ないの? Re:Kayo-System Co.,Ltd. Friday, March 9, 2012
  • 8. あります! その方法が、今回紹介する暗黙的 Intentという呼び方です。 Re:Kayo-System Co.,Ltd. Friday, March 9, 2012
  • 9. 暗黙的Intent 暗黙的Intentとは、呼び出す相手を明 確に設定しないで、ActionとTypeと いった属性を元に該当するアプリを呼 び出す方法です。 Re:Kayo-System Co.,Ltd. Friday, March 9, 2012
  • 10. 暗黙的Intentを図で 他の画面1 Action A 呼び出し元 Intent 他の画面2 Action=A ActionA 他の画面3 ActionB Re:Kayo-System Co.,Ltd. Friday, March 9, 2012
  • 11. 暗黙的Intentをコードで 呼び出し Intent intent = new Intent(Intent.ACTION_PICK); intent.setType("image/*"); startActivity(intent); Intent.javaより抜粋 public static final String ACTION_PICK = "android.intent.action.PICK"; GalleryアプリのAndroidManifest.xml <activity android:name="com.android.camera.ImageGallery" android:label="@string/gallery_label" android:icon="@drawable/ic_launcher_gallery"> <intent-filter> <action android:name="android.intent.action.PICK" /> <category android:name="android.intent.category.DEFAULT" /> <data android:mimeType="image/*" /> <data android:mimeType="video/*" /> </intent-filter> </activity> Re:Kayo-System Co.,Ltd. Friday, March 9, 2012
  • 12. 動かしてみる クリック ACTION_PICKは何かを選択するア クションです。ActivityForResult を使うと選択した画像を取得するこ とができます。 プログラム:ykmjuku009 http://bit.ly/x5P8xY Re:Kayo-System Co.,Ltd. Friday, March 9, 2012
  • 13. IntentFilterについて Intentにはパッケージやクラスの他に ActionやTypeを設定することができます。 そして、このAcitonやTypeにアプリが反応 するかどうかを設定する方法がIntent-Filter です。 Re:Kayo-System Co.,Ltd. Friday, March 9, 2012
  • 14. Intent-Filterの設定 ActivityのIntent-Filterは AndroidManifest.xmlで設定します。 タグ名:intent-filter 子の要素 action Intentのアクション名(必須) category Intentのカテゴリ名 data Intentのデータ使用 Re:Kayo-System Co.,Ltd. Friday, March 9, 2012
  • 15. Intent-Filterの設定 AndroidManifest.xmlより <application android:icon="@drawable/ic_launcher" android:label="@string/app_name" > <activity android:name=".Ykmjuku009Activity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> この設定は、ランチャーアプリから起動でき るアプリを設定するフィルターです。 Re:Kayo-System Co.,Ltd. Friday, March 9, 2012
  • 16. Intent-Filterは複数書い てもよい <activity android:name=".Hoge" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> <intent-filter> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </activity> ランチャー起動用のフィルターと表示用 のフィルターの2つを定義している。 Re:Kayo-System Co.,Ltd. Friday, March 9, 2012
  • 17. 色々なIntentの使用例 メールの送信 Intent intent=new Intent(Intent.ACTION_SEND); intent.putExtra(Intent.EXTRA_SUBJECT,"件名"); intent.putExtra(Intent.EXTRA_TEXT,"本文"); startActivity(intent); 電話の発信 Uri uri=Uri.parse("tel:0120-2222"); Intent intent=new Intent(Intent.ACTION_CALL,uri); startActivity(intent); YouTube再生 Intent intent=new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.youtube.com/watch?v=Ndoi4XYqDgw")); startActivity(intent); Re:Kayo-System Co.,Ltd. Friday, March 9, 2012
  • 18. 作ってみよう テキスト連携を行い、入力した 文字列を渡すアプリ テキスト連携 Intent intent = new Intent(Intent.ACTION_SEND); intent.setType("text/plain"); intent.putExtra(Intent.EXTRA_TEXT, “文字列”); 参考例:ykmjuku010 http://bit.ly/zB6C3P Re:Kayo-System Co.,Ltd. Friday, March 9, 2012
  • 19. 画面のないアプリは? 続きは夜子まま塾オンライン(無料)にて 毎週水曜日夜10:30∼11:00 (都合によりない場合もあります) 夜子まま塾 http://bit.ly/wTjjix GoogleID:101190223376062765723 上記アカウントをサークルに追加していると、 ハングアウトのお誘いが届きます。 是非ご参加ください。 Re:Kayo-System Co.,Ltd. Friday, March 9, 2012