SlideShare a Scribd company logo
1 of 43
Download to read offline
Now Loading. Please Wait ...


                                    Twitter @yokmama




  Androidの別の画面の呼び出し①
  夜子まま塾 講義10(画面連携 Intentによる呼び出し)



                                   Re:Kayo-System Co.,Ltd.

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

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

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

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

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

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

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

           嫌いなもの:とくになし

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

                                              Re:Kayo-System Co.,Ltd.

Wednesday, March 7, 2012
新しい画面を作る

               ここまでは、HelloWorldで自動的に生成さ
                 れた画面を修正してきましたが。
               ここでは新規に画面を作成する手順を紹介
                         します。



                                  Re:Kayo-System Co.,Ltd.

Wednesday, March 7, 2012
新規レイアウト作成
    File→Android XML File




   layoutのフォルダ上で右クリックメニュー
         からでも同じ事ができます。

                            Re:Kayo-System Co.,Ltd.

Wednesday, March 7, 2012
レイアウト情報入力
                           ① Resouce TypeでLayoutを選択




                           ② File名に submain.xmlを入力



                           ③ RelativeLayoutを選択



                           ④ 最後にFinishをクリック




                                       Re:Kayo-System Co.,Ltd.

Wednesday, March 7, 2012
作成されたレイアウト
                    Graphical Layout                                   XML
                                       <?xml version="1.0" encoding="utf-8"?>
                                       <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/
                                       android"
                                           android:layout_width="match_parent"
                                           android:layout_height="match_parent" >


                                       </RelativeLayout>




               このレイアウトにボタンとテキストを配置します。

                                                                             Re:Kayo-System Co.,Ltd.

Wednesday, March 7, 2012
レイアウトを編集
                                <?xml version="1.0" encoding="utf-8"?>          ② 縦横がmatch_parentに
                                <RelativeLayout
                                                                                なっていることを確認
                                    xmlns:android="http://schemas.android.com/apk/res/android"
                                    android:layout_width="match_parent"
                                    android:layout_height="match_parent">

                                    <TextView
                                        android:id="@+id/textView1"             ③android_centerInParentに
                                        android:layout_width="wrap_content"
                                        android:layout_height="wrap_content"
                                                                                true を設定
                                        android:text="Medium Text"
                                        android:layout_centerInParent="true"
                                        android:textAppearance="?android:attr/textAppearanceMedium" />

                                    <Button
                                                                                       ④幅をfill_parentにする
                                        android:id="@+id/button1"
                                        android:layout_width="fill_parent"
                                        android:layout_height="wrap_content"           ⑤android:layout_margin
                                        android:layout_margin="5dip"
                                        android:layout_alignParentBottom="true"        に5dipを設定
                                        android:text="Back" />

                                </RelativeLayout>                      ⑥android:layout_alignParentBottom
        ①MediumTextとButtonを追加
                                                                       にtrueを設定

                                      ⑦android:text属に Back を設定

                                                    ※余計な属性が設定されている場合は削除してください。

                                                                                  Re:Kayo-System Co.,Ltd.

Wednesday, March 7, 2012
画面の説明

                               前の画面からもらった
                                 文字列を表示




          前の画面に戻るボタン




                                   Re:Kayo-System Co.,Ltd.

Wednesday, March 7, 2012
新規Javaクラス作成
    File→Android XML File




   ykmjuku.android.sample007.appのパッケージ上
   で右クリックメニューからでも同じ事ができます。
                                          Re:Kayo-System Co.,Ltd.

Wednesday, March 7, 2012
クラス情報入力
                              ①NameにSubMainと入力




                             ②Browseボタンをクリック     ③Activityを入力




                                                       ④OKボタンをクリック




                             ⑤最後にFinishをクリック

                                                 Re:Kayo-System Co.,Ltd.

Wednesday, March 7, 2012
作成されたクラス
                                package ykmjuku.android.sample007.app;

                                import android.app.Activity;

                                public class SubMain extends Activity {

                                }




                       このクラスに作成したレイアウトを表示する
                             ように実装します。
                                                        Re:Kayo-System Co.,Ltd.

Wednesday, March 7, 2012
Overrideメソッドの追加
              ActivityのonCreateを
                Overrideします。




        ①コードを挿入したい箇所に
        カーソルを移動し、右クリッ
         クメニューを呼び出す。

                                   ②メニューからSource→Override/
                                     Implement Methodsを選択

                                                Re:Kayo-System Co.,Ltd.

Wednesday, March 7, 2012
OnCreateメソッドの追加
                              package ykmjuku.android.sample007.app;

                              import android.app.Activity;
                              import android.os.Bundle;

                              public class SubMain extends Activity {

                                  @Override
                                  protected void onCreate(Bundle savedInstanceState) {
                                      // TODO Auto-generated method stub
                                      super.onCreate(savedInstanceState);
                                  }

                              }




       ①ListからonCreateを選択する            ② 追加を確認しCtrl+Sで保存する




                                                              Re:Kayo-System Co.,Ltd.

Wednesday, March 7, 2012
レイアウトの設定
                                  ②setContentView(int layoutResID):
                                        void - Activityを選択




      ①super.onCreateの下の行でsetまで
      入力しctrl+spaceで入力補完を行う




                                              Re:Kayo-System Co.,Ltd.

Wednesday, March 7, 2012
レイアウトの設定
                           ③同様にR.layoutまで入力し入力補
                              完ダイアログを表示する




         ④submain: int - R.layoutを選択
                                                                 完成!




                                                  Re:Kayo-System Co.,Ltd.

Wednesday, March 7, 2012
現在の状況
                                     SubMain
                                       package ykmjuku.android.sample007.app;

                                       import android.app.Activity;
                                       import android.os.Bundle;

                                       public class SubMain extends Activity {

                                           @Override




             Android          ?            protected void onCreate(Bundle savedInstanceState) {
                                               // TODO Auto-generated method stub
                                               super.onCreate(savedInstanceState);
                                               setContentView(R.layout.submain);
                                           }




            Framwork
                                       }




                           存在を知らない



                                                          Re:Kayo-System Co.,Ltd.

Wednesday, March 7, 2012
AndroidManifest.xmlを
                        開く
           ダブルクリック
                           <?xml version="1.0" encoding="utf-8"?>
                           <manifest xmlns:android="http://schemas.android.com/apk/res/android"
                               package="ykmjuku.android.sample007.app"
                               android:versionCode="1"
                               android:versionName="1.0" >

                               <uses-sdk android:minSdkVersion="4" />

                               <application
                                   android:icon="@drawable/ic_launcher"
                                   android:label="@string/app_name" >
                                   <activity
                                       android:name=".Ykmjuku007Activity"
                                       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>

                           </manifest>


                           AndroidManifest.xmlタブを選択



                                                                        Re:Kayo-System Co.,Ltd.

Wednesday, March 7, 2012
Activityの宣言を追加
                           <?xml version="1.0" encoding="utf-8"?>
                           <manifest xmlns:android="http://schemas.android.com/apk/res/android"
                               package="ykmjuku.android.sample007.app"
                               android:versionCode="1"
                               android:versionName="1.0" >

                               <uses-sdk android:minSdkVersion="4" />

                               <application
                                   android:icon="@drawable/ic_launcher"
                                   android:label="@string/app_name" >
                                   <activity
                                       android:name=".Ykmjuku007Activity"
                                       android:label="@string/app_name" >
                                       <intent-filter>
                                            <action android:name="android.intent.action.MAIN" />

                                           <category android:name="android.intent.category.LAUNCHER" />
                                       </intent-filter>
                                   </activity>
                                   <activity
                                       android:name=".SubMain"                                               追加
                                       android:label="@string/app_name">
                                   </activity>
                               </application>

                           </manifest>


                                                                                              Re:Kayo-System Co.,Ltd.

Wednesday, March 7, 2012
AndroidManifest.xmlに
                       ついて
       AndroidManifest.xmlはAndroidアプリを作る上で必ず
       一つ必要で、プロジェクトのトップ階層に置かなければ
                         なりません。
       このファイルには、ActivityやServiceといったアプリ内
       の各画面やサービスの宣言や、動作可能なOSのバージョ
       ン、ハードウェアの種類、必要なパーミッションなどを
                       記述しています。


                                   Re:Kayo-System Co.,Ltd.

Wednesday, March 7, 2012
HelloWorldに見る
                      AndroidManifest.xml
                                                                                 ①必須タグです。またルートタ
    <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"         グになります。アプリのバー
        package="ykmjuku.android.helloworld.app"
        android:versionCode="1"                                                  ジョンやパッケージを記述しま
        android:versionName="1.0" >
                                                                                 す。
         <uses-sdk android:minSdkVersion="14" />

         <application
                                                                                 ②動作可能なOSのバージョンで
             android:icon="@drawable/ic_launcher"
             android:label="@string/app_name" >
                                                                                 す
             <activity
                 android:name=".Ykmjuku003Activity"
                 android:label="@string/app_name" >                               ③必須タグです。アプリ内に含
                 <intent-filter>
                      <action android:name="android.intent.action.MAIN" />        まれるActivityやServiceなどを
                     <category android:name="android.intent.category.LAUNCHER"    定義します。
                                                                                 />
                 </intent-filter>
             </activity>
         </application>
                                                                                 ④作成したActivityクラスの宣
    </manifest>
                                                                                 言です
                                                                                       Re:Kayo-System Co.,Ltd.

Wednesday, March 7, 2012
activity要素
         android:name
         実装されたJavaクラス名です。
         manifestで指定したpackageからの相対パスあるいは絶対パスで指定します。
         packageの直下のクラスの場合頭に . を付けなければなりません。


        android:label
          Activityの名称です。タイトルバーに表示されます。


         intent-filter
          他のアプリとの連携の設定です。
          後で説明します。


                                          Re:Kayo-System Co.,Ltd.

Wednesday, March 7, 2012
追加したactivity要素
         <manifest
             xmlns:android="http://schemas.android.com/apk/res/android"
             package="ykmjuku.android.sample007.app"
             android:versionCode="1"
             android:versionName="1.0" >
                   <省略>
                  <activity
                      android:name=".SubMain"
                      android:label="@string/app_name">
                  </activity>


                                              package指定から
                                   ykmjuku.android.sample007.app.SubMain
                                              を指しています。

                                                               Re:Kayo-System Co.,Ltd.

Wednesday, March 7, 2012
Activityの呼び出し
                 呼び出すクラスの情報をIntentに設定し、
                  startActivityを使って呼び出します。

                  Intentのコンストラクタ
                  Intent(Context packageContext, Class<?> cls)



                   使用例
                   Intent intent = new Intent(this, SubMain.class);
                   startActivity(intent);



                                                                 Re:Kayo-System Co.,Ltd.

Wednesday, March 7, 2012
呼び出しボタン追加
                           shift+ctrl+Rから、main.xmlを入力し同ファイルを開く



                                     <?xml version="1.0" encoding="utf-8"?>
                                     <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
                                         android:layout_width="fill_parent"
                                         android:layout_height="fill_parent"
                                         android:orientation="vertical" >

                                         <TextView
                                                                               ボタンを追加
                                             android:layout_width="fill_parent"
                                             android:layout_height="wrap_content"
                                             android:text="@string/hello" />

                                         <Button
                                             android:id="@+id/button1"
                                             android:layout_width="wrap_content"
                                             android:layout_height="wrap_content"
                                             android:text="Button" />

                                     </LinearLayout>




                                                                                Re:Kayo-System Co.,Ltd.

Wednesday, March 7, 2012
呼び出し処理を実装
                 shift+ctrl+Tから、Ykmujuku007Activityを入力し同ファイルファイルを開く
                           package ykmjuku.android.sample007.app;

                           import   android.app.Activity;
                           import   android.content.Intent;
                           import   android.os.Bundle;
                           import   android.view.View;
                           import   android.view.View.OnClickListener;
                           import   android.widget.Button;

                           public class Ykmjuku007Activity extends Activity {
                                                                                                        追加
                               /** Called when the activity is first created. */
                               @Override
                               public void onCreate(Bundle savedInstanceState) {
                                   super.onCreate(savedInstanceState);
                                   setContentView(R.layout.main);

                                     Button btn = (Button)findViewById(R.id.button1);
                                     btn.setOnClickListener(new OnClickListener() {
                                         public void onClick(View v) {
                                             Intent intent = new Intent(Ykmjuku007Activity.this, SubMain.class);
                                             startActivity(intent);
                                         }
                                     });
                               }
                           }
                                                                                                  Re:Kayo-System Co.,Ltd.

Wednesday, March 7, 2012
プログラムを実行
       クリック




                                 Re:Kayo-System Co.,Ltd.

Wednesday, March 7, 2012
Intentとは
           Intentはアプリの情報を記述したクラスです。
            設定されたIntentを使ってアプリを起動した
            り、アプリにメッセージを送ったりすること
                      ができます。




                                      Re:Kayo-System Co.,Ltd.

Wednesday, March 7, 2012
パラメータを渡す

             Intentには、アプリの情報の他にパラメータ
             も設定できます。設定されたパラメータは、
             呼び出された側で取得することができます。




                                 Re:Kayo-System Co.,Ltd.

Wednesday, March 7, 2012
Intentに設定
           Intent putExtra(<キーの名前>, <設定する値>)
                    でIntentに値を設定できます。

                   例)
                   Intent intent = new Intent(Ykmjuku007Activity.this, SubMain.class);
                   intent.putExtra("name", "夜子まま");
                   startActivity(intent);


                             nameというキーで 夜子まま という値を設定している。



                                                                            Re:Kayo-System Co.,Ltd.

Wednesday, March 7, 2012
呼び出し側の実装
            package ykmjuku.android.sample007.app;

            import    android.app.Activity;
            import    android.content.Intent;
            import    android.os.Bundle;
            import    android.view.View;
            import    android.view.View.OnClickListener;
            import    android.widget.Button;

            public class Ykmjuku007Activity extends Activity {
                private int mCount=0;
                                                                                      追加
                  /** Called when the activity is first created. */
                  @Override
                  public void onCreate(Bundle savedInstanceState) {
                      super.onCreate(savedInstanceState);
                      setContentView(R.layout.main);

                       Button btn = (Button)findViewById(R.id.button1);
                       btn.setOnClickListener(new OnClickListener() {
                           public void onClick(View v) {
                               Intent intent = new Intent(Ykmjuku007Activity.this, SubMain.class);
                               intent.putExtra("label", "Ykmjuku007が呼び出した数:"+(++mCount));
                                 startActivity(intent);
                             }
                       });
                  }
            }
                                                                                              Re:Kayo-System Co.,Ltd.

Wednesday, March 7, 2012
パラメータの取得

                    Intentに設定されたパラメータを取得す
                     るにはActivityのもつgetIntentという
                    メソッドを使って、呼び出しに使われた
                    Intentを取得し設定されたパラメータを
                          取得することができます。


                                          Re:Kayo-System Co.,Ltd.

Wednesday, March 7, 2012
Intentから取得
       String intent.getStringExtra(<キーの名前>)

                   取得する値に型によって変わる、int型
                     の場合は getIntExtraを使う

                           例
                           Intent intent = getIntent();
                           String name = intent.getStringExtra("name")




                                                           nameというキーで設定された値を取得

                                                                         Re:Kayo-System Co.,Ltd.

Wednesday, March 7, 2012
取得処理の実装
   package ykmjuku.android.sample007.app;

   import   android.app.Activity;
   import   android.os.Bundle;
   import   android.view.View;
   import   android.view.View.OnClickListener;
   import   android.widget.Button;
   import   android.widget.TextView;

   public class SubMain extends Activity {                           labelで設定された値を取得し
        @Override                                                         TextView1に設定
        protected void onCreate(Bundle savedInstanceState) {
            // TODO Auto-generated method stub
            super.onCreate(savedInstanceState);
            setContentView(R.layout.submain);

              TextView textview = (TextView)findViewById(R.id.textView1);
              textview.setText(getIntent().getStringExtra("label"));

              Button btn = (Button)findViewById(R.id.button1);
              btn.setOnClickListener(new OnClickListener() {
                  public void onClick(View v) {
                      finish();
                  }                                                               おまけ、
              });
        }
                                                                            戻るボタンの実装 finishでアプリ
   }
                                                                              を閉じることができます。
                                                                                  Re:Kayo-System Co.,Ltd.

Wednesday, March 7, 2012
プログラムの実行

    クリック




                                 呼び出すとどんどん数字
                                    が増える。



                                   Re:Kayo-System Co.,Ltd.

Wednesday, March 7, 2012
戻り値の取得
                 呼び出したアプリから戻り値を取得する場
                     合もIntentを使います。
                 また戻り値を取得する場合は専用のメソッ
                 ドで呼び出し、かつ、専用のメソッドで受
                     け取る必要があります。




                                Re:Kayo-System Co.,Ltd.

Wednesday, March 7, 2012
戻り値付きの呼び出し
              void startActivityForResult(Intent, <リクエストID>)
                           リクエストIDはInt型の数値です。値を取得する際
                           に誰に呼び出されたかを判断する際に使います。




                  例
                   startActivityForResult(intent, 0);


                                          リクエストIDを0で呼び出す


                                    ※その場で結果が取得できないところがポイントです。

                                                        Re:Kayo-System Co.,Ltd.

Wednesday, March 7, 2012
戻り値の設定
                               戻り値はActivityが終了剃る前に専用
                                  のメソッド設定します。

                     void setResult(<戻り値のID>、Intent)
                                              Activityに準備されている成功時に使う定数。この
                                                  他にもRESULT_CANCELDなどがある。
                                              第三者のアプリからも呼ばれることを考える場合、
                           例                        デフォルトの定数を使うのが望ましい

                           Intent intent = new Intent();
                           intent.putExtra("result", textview.getText());
                           setResult(RESULT_OK, intent);


                                                                    Re:Kayo-System Co.,Ltd.

Wednesday, March 7, 2012
戻り値の取得
                           ActivityのもつonActivityResultに結
                           果が帰ってくるので、このメソッドを
                            Overrideして結果を取得します。
             protected void onActivityResult (int requestCode, int resultCode, Intent data)


                  例          呼び出すときに設定した値

              @Override
              protected void onActivityResult(int requestCode, int resultCode, Intent data) {
                  super.onActivityResult(requestCode, resultCode, data);
                  if(requestCode == 100){
                        //処理
                     }
                                                                                 戻ってきた値
              }

                                                                           Re:Kayo-System Co.,Ltd.

Wednesday, March 7, 2012
呼び出し側の実装
                       package ykmjuku.android.sample007.app;
                       <省略>
                       public class Ykmjuku007Activity extends Activity {
                           private final int REQUEST_ID = 0;
                           private int mCount=0;

                           /** Called when the activity is first created. */
                           @Override
                           public void onCreate(Bundle savedInstanceState) {
                               super.onCreate(savedInstanceState);
                                                                                                                 追加
                               setContentView(R.layout.main);

                               Button btn = (Button)findViewById(R.id.button1);
                               btn.setOnClickListener(new OnClickListener() {
                                   public void onClick(View v) {
                                       Intent intent = new Intent(Ykmjuku007Activity.this, SubMain.class);
                                       intent.putExtra("label", "Ykmjuku007が呼び出した数:"+(++mCount));
                                         startActivityForResult(intent, REQUEST_ID);
                                     }

                           }
                               });
                                                                                                               変更
                           @Override
                           protected void onActivityResult(int requestCode, int resultCode, Intent data) {
                               super.onActivityResult(requestCode, resultCode, data);
                               if(requestCode == REQUEST_ID){
                                   Button btn = (Button)findViewById(R.id.button2);
                                   if(resultCode == RESULT_OK){
                                       btn.setText("OK:"+data.getStringExtra("result"));
                                   }
                                   else{
                                       btn.setText("ERROR:"+data.getStringExtra("result"));
                                   }
                               }
                           }
                       }

                                                                                                             Re:Kayo-System Co.,Ltd.

Wednesday, March 7, 2012
呼び出された側の実装
                           package ykmjuku.android.sample007.app;

                           <省略>


                           public class SubMain extends Activity {

                               @Override
                               protected void onCreate(Bundle savedInstanceState) {
                                   // TODO Auto-generated method stub
                                   super.onCreate(savedInstanceState);
                                   setContentView(R.layout.submain);

                                   TextView textview = (TextView)findViewById(R.id.textView1);
                                   textview.setText(getIntent().getStringExtra("label"));

                                   Button btn = (Button)findViewById(R.id.button1);
                                   btn.setOnClickListener(new OnClickListener() {

                                         public void onClick(View v) {
                                                                                                              追加
                                             TextView textview = (TextView)findViewById(R.id.textView1);
                                             Intent intent = new Intent();
                                             intent.putExtra("result", textview.getText());
                                             setResult(RESULT_OK, intent);

                                             finish();
                                         }
                                   });
                               }

                           }




                                                                                                           Re:Kayo-System Co.,Ltd.

Wednesday, March 7, 2012
ここまでのコードの
                       サンプル
                           プロジェクト名:ykmjuku007
                             http://bit.ly/zJfDY0




                                                    Re:Kayo-System Co.,Ltd.

Wednesday, March 7, 2012
中級向け 問題
                           これまで作った電卓プログラムと
                           新しい画面を連携させてみよう。
                                               前回作った電卓


                              計算
                                      1    1   1

                                      1    1   1

                                      1    1   1

                                      1    1   1
                     計算結果を返し、テキストボッ               ykmjuku008
                        クスに設定する
                                          http://bit.ly/x4rOm5
                                                   Re:Kayo-System Co.,Ltd.

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



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

Wednesday, March 7, 2012

More Related Content

Viewers also liked

夜子まま塾講義5(実機を接続する)
夜子まま塾講義5(実機を接続する)夜子まま塾講義5(実機を接続する)
夜子まま塾講義5(実機を接続する)Masafumi Terazono
 
Minecraftと連携するSlackちゃんという会話Botを作った話
Minecraftと連携するSlackちゃんという会話Botを作った話Minecraftと連携するSlackちゃんという会話Botを作った話
Minecraftと連携するSlackちゃんという会話Botを作った話Masafumi Terazono
 
Examen practico # 2 transporte de sedimentos resuelto
Examen practico # 2 transporte de sedimentos resueltoExamen practico # 2 transporte de sedimentos resuelto
Examen practico # 2 transporte de sedimentos resueltoYSAIAS CHOQUEGONZA HUIRACOCHA
 
AndroidからWebサービスを使う
AndroidからWebサービスを使うAndroidからWebサービスを使う
AndroidからWebサービスを使うMasafumi Terazono
 
Opengl4 quick reference card
Opengl4 quick reference cardOpengl4 quick reference card
Opengl4 quick reference cardAdrien Wattez
 
夜子まま塾講義1(Javaでhello world)
夜子まま塾講義1(Javaでhello world)夜子まま塾講義1(Javaでhello world)
夜子まま塾講義1(Javaでhello world)Masafumi Terazono
 
夜子まま塾講義4(アプリを動かす)
夜子まま塾講義4(アプリを動かす)夜子まま塾講義4(アプリを動かす)
夜子まま塾講義4(アプリを動かす)Masafumi Terazono
 
初心者〜中級者 Android StudioによるAndroid勉強会資料(スライド)
初心者〜中級者 Android StudioによるAndroid勉強会資料(スライド)初心者〜中級者 Android StudioによるAndroid勉強会資料(スライド)
初心者〜中級者 Android StudioによるAndroid勉強会資料(スライド)Masafumi Terazono
 
An introduction to thrust CUDA
An introduction to thrust CUDAAn introduction to thrust CUDA
An introduction to thrust CUDAAdrien Wattez
 

Viewers also liked (15)

夜子まま塾Ecc
夜子まま塾Ecc夜子まま塾Ecc
夜子まま塾Ecc
 
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
 
HIDROLOGIA ESTOCASTICA
HIDROLOGIA ESTOCASTICAHIDROLOGIA ESTOCASTICA
HIDROLOGIA ESTOCASTICA
 
夜子まま塾講義5(実機を接続する)
夜子まま塾講義5(実機を接続する)夜子まま塾講義5(実機を接続する)
夜子まま塾講義5(実機を接続する)
 
Minecraftと連携するSlackちゃんという会話Botを作った話
Minecraftと連携するSlackちゃんという会話Botを作った話Minecraftと連携するSlackちゃんという会話Botを作った話
Minecraftと連携するSlackちゃんという会話Botを作った話
 
Examen practico # 2 transporte de sedimentos resuelto
Examen practico # 2 transporte de sedimentos resueltoExamen practico # 2 transporte de sedimentos resuelto
Examen practico # 2 transporte de sedimentos resuelto
 
夜子まま塾@鹿児島
夜子まま塾@鹿児島夜子まま塾@鹿児島
夜子まま塾@鹿児島
 
AndroidからWebサービスを使う
AndroidからWebサービスを使うAndroidからWebサービスを使う
AndroidからWebサービスを使う
 
夜子まま塾さくら
夜子まま塾さくら夜子まま塾さくら
夜子まま塾さくら
 
Opengl4 quick reference card
Opengl4 quick reference cardOpengl4 quick reference card
Opengl4 quick reference card
 
夜子まま塾講義1(Javaでhello world)
夜子まま塾講義1(Javaでhello world)夜子まま塾講義1(Javaでhello world)
夜子まま塾講義1(Javaでhello world)
 
夜子まま塾講義4(アプリを動かす)
夜子まま塾講義4(アプリを動かす)夜子まま塾講義4(アプリを動かす)
夜子まま塾講義4(アプリを動かす)
 
Exame parcial transporte de sedimentos resuelto
Exame parcial transporte de sedimentos resueltoExame parcial transporte de sedimentos resuelto
Exame parcial transporte de sedimentos resuelto
 
初心者〜中級者 Android StudioによるAndroid勉強会資料(スライド)
初心者〜中級者 Android StudioによるAndroid勉強会資料(スライド)初心者〜中級者 Android StudioによるAndroid勉強会資料(スライド)
初心者〜中級者 Android StudioによるAndroid勉強会資料(スライド)
 
An introduction to thrust CUDA
An introduction to thrust CUDAAn introduction to thrust CUDA
An introduction to thrust CUDA
 

Similar to 夜子まま塾講義10(画面の呼び出し)

夜子まま塾講義9(androidの画面デザイン)
夜子まま塾講義9(androidの画面デザイン)夜子まま塾講義9(androidの画面デザイン)
夜子まま塾講義9(androidの画面デザイン)Masafumi Terazono
 
夜子まま塾講義8(androidの画面デザイン2)
夜子まま塾講義8(androidの画面デザイン2)夜子まま塾講義8(androidの画面デザイン2)
夜子まま塾講義8(androidの画面デザイン2)Masafumi Terazono
 
夜子まま塾講義11(暗黙的intent)
夜子まま塾講義11(暗黙的intent)夜子まま塾講義11(暗黙的intent)
夜子まま塾講義11(暗黙的intent)Masafumi Terazono
 
日本Androidの会 中国支部資料
日本Androidの会 中国支部資料日本Androidの会 中国支部資料
日本Androidの会 中国支部資料Masafumi Terazono
 
Head First XML Layout on Android
Head First XML Layout on AndroidHead First XML Layout on Android
Head First XML Layout on AndroidYuki Anzai
 
OSC2011 Androidハンズオン
OSC2011 AndroidハンズオンOSC2011 Androidハンズオン
OSC2011 AndroidハンズオンKatsumi Honda
 
Using the Fragments(Android)
Using the Fragments(Android)Using the Fragments(Android)
Using the Fragments(Android)Teruaki Kinoshita
 
夜子まま塾講義7(androidの画面デザイン1)
夜子まま塾講義7(androidの画面デザイン1)夜子まま塾講義7(androidの画面デザイン1)
夜子まま塾講義7(androidの画面デザイン1)Masafumi Terazono
 
Xamarin de:code セッション:Windows Phone / iOS / Android アプリ同時開発のススメ
Xamarin de:code セッション:Windows Phone / iOS / Android アプリ同時開発のススメXamarin de:code セッション:Windows Phone / iOS / Android アプリ同時開発のススメ
Xamarin de:code セッション:Windows Phone / iOS / Android アプリ同時開発のススメYoshito Tabuchi
 
XPagesでRESTを使ってみたら、こんなんだった
XPagesでRESTを使ってみたら、こんなんだったXPagesでRESTを使ってみたら、こんなんだった
XPagesでRESTを使ってみたら、こんなんだったMasahiko Miyo
 
#cmdevio2016 (レポート: F-2) iOS × Android 並行開発についてのトピック
#cmdevio2016 (レポート: F-2) iOS × Android 並行開発についてのトピック#cmdevio2016 (レポート: F-2) iOS × Android 並行開発についてのトピック
#cmdevio2016 (レポート: F-2) iOS × Android 並行開発についてのトピックcm_saito
 
Windows phone & windows 8で見えてくるメトロの世界
Windows phone & windows 8で見えてくるメトロの世界Windows phone & windows 8で見えてくるメトロの世界
Windows phone & windows 8で見えてくるメトロの世界Makoto Nishimura
 
冬だからAndroid再入門
冬だからAndroid再入門冬だからAndroid再入門
冬だからAndroid再入門Katsumi Honda
 
学生向けAndroid勉強会(入門編)
学生向けAndroid勉強会(入門編)学生向けAndroid勉強会(入門編)
学生向けAndroid勉強会(入門編)Itsuki Kuroda
 
アプリ開発・端末毎の解像度の違いを吸収する方法 Android Bazaar and Conference 2011 Summer
アプリ開発・端末毎の解像度の違いを吸収する方法 Android Bazaar and Conference 2011 Summer アプリ開発・端末毎の解像度の違いを吸収する方法 Android Bazaar and Conference 2011 Summer
アプリ開発・端末毎の解像度の違いを吸収する方法 Android Bazaar and Conference 2011 Summer Kunimasa Noda
 
20111031 MobileWeb at TDC
20111031 MobileWeb at TDC20111031 MobileWeb at TDC
20111031 MobileWeb at TDCNobuhiro Sue
 
Android4.2徹底解剖!
Android4.2徹底解剖!Android4.2徹底解剖!
Android4.2徹底解剖!leverages_event
 
Sdk無しでアドネットワーク凛 for androidアプリ_設置マニュアル
Sdk無しでアドネットワーク凛 for androidアプリ_設置マニュアルSdk無しでアドネットワーク凛 for androidアプリ_設置マニュアル
Sdk無しでアドネットワーク凛 for androidアプリ_設置マニュアルHarumasa Matsushita
 

Similar to 夜子まま塾講義10(画面の呼び出し) (20)

夜子まま塾講義9(androidの画面デザイン)
夜子まま塾講義9(androidの画面デザイン)夜子まま塾講義9(androidの画面デザイン)
夜子まま塾講義9(androidの画面デザイン)
 
夜子まま塾講義8(androidの画面デザイン2)
夜子まま塾講義8(androidの画面デザイン2)夜子まま塾講義8(androidの画面デザイン2)
夜子まま塾講義8(androidの画面デザイン2)
 
夜子まま塾講義11(暗黙的intent)
夜子まま塾講義11(暗黙的intent)夜子まま塾講義11(暗黙的intent)
夜子まま塾講義11(暗黙的intent)
 
日本Androidの会 中国支部資料
日本Androidの会 中国支部資料日本Androidの会 中国支部資料
日本Androidの会 中国支部資料
 
Head First XML Layout on Android
Head First XML Layout on AndroidHead First XML Layout on Android
Head First XML Layout on Android
 
OSC2011 Androidハンズオン
OSC2011 AndroidハンズオンOSC2011 Androidハンズオン
OSC2011 Androidハンズオン
 
Using the Fragments(Android)
Using the Fragments(Android)Using the Fragments(Android)
Using the Fragments(Android)
 
ScalaMatsuri 2016
ScalaMatsuri 2016ScalaMatsuri 2016
ScalaMatsuri 2016
 
夜子まま塾講義7(androidの画面デザイン1)
夜子まま塾講義7(androidの画面デザイン1)夜子まま塾講義7(androidの画面デザイン1)
夜子まま塾講義7(androidの画面デザイン1)
 
Xamarin de:code セッション:Windows Phone / iOS / Android アプリ同時開発のススメ
Xamarin de:code セッション:Windows Phone / iOS / Android アプリ同時開発のススメXamarin de:code セッション:Windows Phone / iOS / Android アプリ同時開発のススメ
Xamarin de:code セッション:Windows Phone / iOS / Android アプリ同時開発のススメ
 
XPagesでRESTを使ってみたら、こんなんだった
XPagesでRESTを使ってみたら、こんなんだったXPagesでRESTを使ってみたら、こんなんだった
XPagesでRESTを使ってみたら、こんなんだった
 
Flashup 11
Flashup 11Flashup 11
Flashup 11
 
#cmdevio2016 (レポート: F-2) iOS × Android 並行開発についてのトピック
#cmdevio2016 (レポート: F-2) iOS × Android 並行開発についてのトピック#cmdevio2016 (レポート: F-2) iOS × Android 並行開発についてのトピック
#cmdevio2016 (レポート: F-2) iOS × Android 並行開発についてのトピック
 
Windows phone & windows 8で見えてくるメトロの世界
Windows phone & windows 8で見えてくるメトロの世界Windows phone & windows 8で見えてくるメトロの世界
Windows phone & windows 8で見えてくるメトロの世界
 
冬だからAndroid再入門
冬だからAndroid再入門冬だからAndroid再入門
冬だからAndroid再入門
 
学生向けAndroid勉強会(入門編)
学生向けAndroid勉強会(入門編)学生向けAndroid勉強会(入門編)
学生向けAndroid勉強会(入門編)
 
アプリ開発・端末毎の解像度の違いを吸収する方法 Android Bazaar and Conference 2011 Summer
アプリ開発・端末毎の解像度の違いを吸収する方法 Android Bazaar and Conference 2011 Summer アプリ開発・端末毎の解像度の違いを吸収する方法 Android Bazaar and Conference 2011 Summer
アプリ開発・端末毎の解像度の違いを吸収する方法 Android Bazaar and Conference 2011 Summer
 
20111031 MobileWeb at TDC
20111031 MobileWeb at TDC20111031 MobileWeb at TDC
20111031 MobileWeb at TDC
 
Android4.2徹底解剖!
Android4.2徹底解剖!Android4.2徹底解剖!
Android4.2徹底解剖!
 
Sdk無しでアドネットワーク凛 for androidアプリ_設置マニュアル
Sdk無しでアドネットワーク凛 for androidアプリ_設置マニュアルSdk無しでアドネットワーク凛 for androidアプリ_設置マニュアル
Sdk無しでアドネットワーク凛 for androidアプリ_設置マニュアル
 

More from Masafumi Terazono

Kobe.py 勉強会 minecraft piスライド
Kobe.py 勉強会 minecraft piスライドKobe.py 勉強会 minecraft piスライド
Kobe.py 勉強会 minecraft piスライド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+NFC 日本Androidの会神戸支部 勉強会
Android+NFC 日本Androidの会神戸支部 勉強会Android+NFC 日本Androidの会神戸支部 勉強会
Android+NFC 日本Androidの会神戸支部 勉強会Masafumi Terazono
 
関西支部Android勉強会(ロボットxnfc)
関西支部Android勉強会(ロボットxnfc)関西支部Android勉強会(ロボットxnfc)
関西支部Android勉強会(ロボットxnfc)Masafumi Terazono
 
夜子まま塾講義3(androidで電卓アプリを作る)
夜子まま塾講義3(androidで電卓アプリを作る)夜子まま塾講義3(androidで電卓アプリを作る)
夜子まま塾講義3(androidで電卓アプリを作る)Masafumi Terazono
 
夜子まま塾講義2(javaのクラスとメソッド)
夜子まま塾講義2(javaのクラスとメソッド)夜子まま塾講義2(javaのクラスとメソッド)
夜子まま塾講義2(javaのクラスとメソッド)Masafumi Terazono
 

More from Masafumi Terazono (16)

初心者向け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スライド
 
夜子まま塾 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+NFC 日本Androidの会神戸支部 勉強会
Android+NFC 日本Androidの会神戸支部 勉強会Android+NFC 日本Androidの会神戸支部 勉強会
Android+NFC 日本Androidの会神戸支部 勉強会
 
関西支部Android勉強会(ロボットxnfc)
関西支部Android勉強会(ロボットxnfc)関西支部Android勉強会(ロボットxnfc)
関西支部Android勉強会(ロボットxnfc)
 
関西Unity勉強会
関西Unity勉強会関西Unity勉強会
関西Unity勉強会
 
夜子まま塾講義3(androidで電卓アプリを作る)
夜子まま塾講義3(androidで電卓アプリを作る)夜子まま塾講義3(androidで電卓アプリを作る)
夜子まま塾講義3(androidで電卓アプリを作る)
 
夜子まま塾講義2(javaのクラスとメソッド)
夜子まま塾講義2(javaのクラスとメソッド)夜子まま塾講義2(javaのクラスとメソッド)
夜子まま塾講義2(javaのクラスとメソッド)
 

Recently uploaded

SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
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
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 

Recently uploaded (10)

SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
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
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 

夜子まま塾講義10(画面の呼び出し)

  • 1. Now Loading. Please Wait ... Twitter @yokmama Androidの別の画面の呼び出し① 夜子まま塾 講義10(画面連携 Intentによる呼び出し) Re:Kayo-System Co.,Ltd. Wednesday, March 7, 2012
  • 2. 自己紹介 氏名   :寺園聖文(てらぞの まさふみ) 肩書   :株式会社Re:Kayo-System 代表取締役社長 活動拠点 :神戸近郊∼日本→海外行きたい 著書   :「10日でおぼえるAndroidアプリ開発入門教室」著(翔泳社)       「HTML5によるAndroidアプリ開発入門」監修(日経BP) アプリ  :「JUST PLAYER」「Skip Memo」「ふりがなオートマチック」等 好きなもの:アニメ、決して萌えじゃない、見てるけど、あくまで研究の一環 嫌いなもの:とくになし 最近のテーマ:電子工作、運動すること、英語 Re:Kayo-System Co.,Ltd. Wednesday, March 7, 2012
  • 3. 新しい画面を作る ここまでは、HelloWorldで自動的に生成さ れた画面を修正してきましたが。 ここでは新規に画面を作成する手順を紹介 します。 Re:Kayo-System Co.,Ltd. Wednesday, March 7, 2012
  • 4. 新規レイアウト作成 File→Android XML File layoutのフォルダ上で右クリックメニュー からでも同じ事ができます。 Re:Kayo-System Co.,Ltd. Wednesday, March 7, 2012
  • 5. レイアウト情報入力 ① Resouce TypeでLayoutを選択 ② File名に submain.xmlを入力 ③ RelativeLayoutを選択 ④ 最後にFinishをクリック Re:Kayo-System Co.,Ltd. Wednesday, March 7, 2012
  • 6. 作成されたレイアウト Graphical Layout XML <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/ android" android:layout_width="match_parent" android:layout_height="match_parent" > </RelativeLayout> このレイアウトにボタンとテキストを配置します。 Re:Kayo-System Co.,Ltd. Wednesday, March 7, 2012
  • 7. レイアウトを編集 <?xml version="1.0" encoding="utf-8"?> ② 縦横がmatch_parentに <RelativeLayout なっていることを確認 xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:id="@+id/textView1" ③android_centerInParentに android:layout_width="wrap_content" android:layout_height="wrap_content" true を設定 android:text="Medium Text" android:layout_centerInParent="true" android:textAppearance="?android:attr/textAppearanceMedium" /> <Button ④幅をfill_parentにする android:id="@+id/button1" android:layout_width="fill_parent" android:layout_height="wrap_content" ⑤android:layout_margin android:layout_margin="5dip" android:layout_alignParentBottom="true" に5dipを設定 android:text="Back" /> </RelativeLayout> ⑥android:layout_alignParentBottom ①MediumTextとButtonを追加 にtrueを設定 ⑦android:text属に Back を設定 ※余計な属性が設定されている場合は削除してください。 Re:Kayo-System Co.,Ltd. Wednesday, March 7, 2012
  • 8. 画面の説明 前の画面からもらった 文字列を表示 前の画面に戻るボタン Re:Kayo-System Co.,Ltd. Wednesday, March 7, 2012
  • 9. 新規Javaクラス作成 File→Android XML File ykmjuku.android.sample007.appのパッケージ上 で右クリックメニューからでも同じ事ができます。 Re:Kayo-System Co.,Ltd. Wednesday, March 7, 2012
  • 10. クラス情報入力 ①NameにSubMainと入力 ②Browseボタンをクリック ③Activityを入力 ④OKボタンをクリック ⑤最後にFinishをクリック Re:Kayo-System Co.,Ltd. Wednesday, March 7, 2012
  • 11. 作成されたクラス package ykmjuku.android.sample007.app; import android.app.Activity; public class SubMain extends Activity { } このクラスに作成したレイアウトを表示する ように実装します。 Re:Kayo-System Co.,Ltd. Wednesday, March 7, 2012
  • 12. Overrideメソッドの追加 ActivityのonCreateを Overrideします。 ①コードを挿入したい箇所に カーソルを移動し、右クリッ クメニューを呼び出す。 ②メニューからSource→Override/ Implement Methodsを選択 Re:Kayo-System Co.,Ltd. Wednesday, March 7, 2012
  • 13. OnCreateメソッドの追加 package ykmjuku.android.sample007.app; import android.app.Activity; import android.os.Bundle; public class SubMain extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); } } ①ListからonCreateを選択する ② 追加を確認しCtrl+Sで保存する Re:Kayo-System Co.,Ltd. Wednesday, March 7, 2012
  • 14. レイアウトの設定 ②setContentView(int layoutResID): void - Activityを選択 ①super.onCreateの下の行でsetまで 入力しctrl+spaceで入力補完を行う Re:Kayo-System Co.,Ltd. Wednesday, March 7, 2012
  • 15. レイアウトの設定 ③同様にR.layoutまで入力し入力補 完ダイアログを表示する ④submain: int - R.layoutを選択 完成! Re:Kayo-System Co.,Ltd. Wednesday, March 7, 2012
  • 16. 現在の状況 SubMain package ykmjuku.android.sample007.app; import android.app.Activity; import android.os.Bundle; public class SubMain extends Activity { @Override Android  ? protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.submain); } Framwork } 存在を知らない Re:Kayo-System Co.,Ltd. Wednesday, March 7, 2012
  • 17. AndroidManifest.xmlを 開く ダブルクリック <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="ykmjuku.android.sample007.app" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="4" /> <application android:icon="@drawable/ic_launcher" android:label="@string/app_name" > <activity android:name=".Ykmjuku007Activity" 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> </manifest> AndroidManifest.xmlタブを選択 Re:Kayo-System Co.,Ltd. Wednesday, March 7, 2012
  • 18. Activityの宣言を追加 <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="ykmjuku.android.sample007.app" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="4" /> <application android:icon="@drawable/ic_launcher" android:label="@string/app_name" > <activity android:name=".Ykmjuku007Activity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name=".SubMain" 追加 android:label="@string/app_name"> </activity> </application> </manifest> Re:Kayo-System Co.,Ltd. Wednesday, March 7, 2012
  • 19. AndroidManifest.xmlに ついて AndroidManifest.xmlはAndroidアプリを作る上で必ず 一つ必要で、プロジェクトのトップ階層に置かなければ なりません。 このファイルには、ActivityやServiceといったアプリ内 の各画面やサービスの宣言や、動作可能なOSのバージョ ン、ハードウェアの種類、必要なパーミッションなどを 記述しています。 Re:Kayo-System Co.,Ltd. Wednesday, March 7, 2012
  • 20. HelloWorldに見る AndroidManifest.xml ①必須タグです。またルートタ <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" グになります。アプリのバー package="ykmjuku.android.helloworld.app" android:versionCode="1" ジョンやパッケージを記述しま android:versionName="1.0" > す。 <uses-sdk android:minSdkVersion="14" /> <application ②動作可能なOSのバージョンで android:icon="@drawable/ic_launcher" android:label="@string/app_name" > す <activity android:name=".Ykmjuku003Activity" android:label="@string/app_name" > ③必須タグです。アプリ内に含 <intent-filter> <action android:name="android.intent.action.MAIN" /> まれるActivityやServiceなどを <category android:name="android.intent.category.LAUNCHER" 定義します。 /> </intent-filter> </activity> </application> ④作成したActivityクラスの宣 </manifest> 言です Re:Kayo-System Co.,Ltd. Wednesday, March 7, 2012
  • 21. activity要素 android:name 実装されたJavaクラス名です。 manifestで指定したpackageからの相対パスあるいは絶対パスで指定します。 packageの直下のクラスの場合頭に . を付けなければなりません。 android:label Activityの名称です。タイトルバーに表示されます。 intent-filter 他のアプリとの連携の設定です。 後で説明します。 Re:Kayo-System Co.,Ltd. Wednesday, March 7, 2012
  • 22. 追加したactivity要素 <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="ykmjuku.android.sample007.app" android:versionCode="1" android:versionName="1.0" > <省略> <activity android:name=".SubMain" android:label="@string/app_name"> </activity> package指定から ykmjuku.android.sample007.app.SubMain を指しています。 Re:Kayo-System Co.,Ltd. Wednesday, March 7, 2012
  • 23. Activityの呼び出し 呼び出すクラスの情報をIntentに設定し、 startActivityを使って呼び出します。 Intentのコンストラクタ Intent(Context packageContext, Class<?> cls) 使用例 Intent intent = new Intent(this, SubMain.class); startActivity(intent); Re:Kayo-System Co.,Ltd. Wednesday, March 7, 2012
  • 24. 呼び出しボタン追加 shift+ctrl+Rから、main.xmlを入力し同ファイルを開く <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <TextView ボタンを追加 android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/hello" /> <Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Button" /> </LinearLayout> Re:Kayo-System Co.,Ltd. Wednesday, March 7, 2012
  • 25. 呼び出し処理を実装 shift+ctrl+Tから、Ykmujuku007Activityを入力し同ファイルファイルを開く package ykmjuku.android.sample007.app; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; public class Ykmjuku007Activity extends Activity { 追加 /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Button btn = (Button)findViewById(R.id.button1); btn.setOnClickListener(new OnClickListener() { public void onClick(View v) { Intent intent = new Intent(Ykmjuku007Activity.this, SubMain.class); startActivity(intent); } }); } } Re:Kayo-System Co.,Ltd. Wednesday, March 7, 2012
  • 26. プログラムを実行 クリック Re:Kayo-System Co.,Ltd. Wednesday, March 7, 2012
  • 27. Intentとは Intentはアプリの情報を記述したクラスです。 設定されたIntentを使ってアプリを起動した り、アプリにメッセージを送ったりすること ができます。 Re:Kayo-System Co.,Ltd. Wednesday, March 7, 2012
  • 28. パラメータを渡す Intentには、アプリの情報の他にパラメータ も設定できます。設定されたパラメータは、 呼び出された側で取得することができます。 Re:Kayo-System Co.,Ltd. Wednesday, March 7, 2012
  • 29. Intentに設定 Intent putExtra(<キーの名前>, <設定する値>) でIntentに値を設定できます。 例) Intent intent = new Intent(Ykmjuku007Activity.this, SubMain.class); intent.putExtra("name", "夜子まま"); startActivity(intent); nameというキーで 夜子まま という値を設定している。 Re:Kayo-System Co.,Ltd. Wednesday, March 7, 2012
  • 30. 呼び出し側の実装 package ykmjuku.android.sample007.app; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; public class Ykmjuku007Activity extends Activity { private int mCount=0; 追加 /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Button btn = (Button)findViewById(R.id.button1); btn.setOnClickListener(new OnClickListener() { public void onClick(View v) { Intent intent = new Intent(Ykmjuku007Activity.this, SubMain.class); intent.putExtra("label", "Ykmjuku007が呼び出した数:"+(++mCount)); startActivity(intent); } }); } } Re:Kayo-System Co.,Ltd. Wednesday, March 7, 2012
  • 31. パラメータの取得 Intentに設定されたパラメータを取得す るにはActivityのもつgetIntentという メソッドを使って、呼び出しに使われた Intentを取得し設定されたパラメータを 取得することができます。 Re:Kayo-System Co.,Ltd. Wednesday, March 7, 2012
  • 32. Intentから取得 String intent.getStringExtra(<キーの名前>) 取得する値に型によって変わる、int型 の場合は getIntExtraを使う 例 Intent intent = getIntent(); String name = intent.getStringExtra("name") nameというキーで設定された値を取得 Re:Kayo-System Co.,Ltd. Wednesday, March 7, 2012
  • 33. 取得処理の実装 package ykmjuku.android.sample007.app; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.TextView; public class SubMain extends Activity { labelで設定された値を取得し @Override TextView1に設定 protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.submain); TextView textview = (TextView)findViewById(R.id.textView1); textview.setText(getIntent().getStringExtra("label")); Button btn = (Button)findViewById(R.id.button1); btn.setOnClickListener(new OnClickListener() { public void onClick(View v) { finish(); } おまけ、 }); } 戻るボタンの実装 finishでアプリ } を閉じることができます。 Re:Kayo-System Co.,Ltd. Wednesday, March 7, 2012
  • 34. プログラムの実行 クリック 呼び出すとどんどん数字 が増える。 Re:Kayo-System Co.,Ltd. Wednesday, March 7, 2012
  • 35. 戻り値の取得 呼び出したアプリから戻り値を取得する場 合もIntentを使います。 また戻り値を取得する場合は専用のメソッ ドで呼び出し、かつ、専用のメソッドで受 け取る必要があります。 Re:Kayo-System Co.,Ltd. Wednesday, March 7, 2012
  • 36. 戻り値付きの呼び出し void startActivityForResult(Intent, <リクエストID>) リクエストIDはInt型の数値です。値を取得する際 に誰に呼び出されたかを判断する際に使います。 例 startActivityForResult(intent, 0); リクエストIDを0で呼び出す ※その場で結果が取得できないところがポイントです。 Re:Kayo-System Co.,Ltd. Wednesday, March 7, 2012
  • 37. 戻り値の設定 戻り値はActivityが終了剃る前に専用 のメソッド設定します。 void setResult(<戻り値のID>、Intent) Activityに準備されている成功時に使う定数。この 他にもRESULT_CANCELDなどがある。 第三者のアプリからも呼ばれることを考える場合、 例 デフォルトの定数を使うのが望ましい Intent intent = new Intent(); intent.putExtra("result", textview.getText()); setResult(RESULT_OK, intent); Re:Kayo-System Co.,Ltd. Wednesday, March 7, 2012
  • 38. 戻り値の取得 ActivityのもつonActivityResultに結 果が帰ってくるので、このメソッドを Overrideして結果を取得します。 protected void onActivityResult (int requestCode, int resultCode, Intent data) 例 呼び出すときに設定した値 @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if(requestCode == 100){ //処理 } 戻ってきた値 } Re:Kayo-System Co.,Ltd. Wednesday, March 7, 2012
  • 39. 呼び出し側の実装 package ykmjuku.android.sample007.app; <省略> public class Ykmjuku007Activity extends Activity { private final int REQUEST_ID = 0; private int mCount=0; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); 追加 setContentView(R.layout.main); Button btn = (Button)findViewById(R.id.button1); btn.setOnClickListener(new OnClickListener() { public void onClick(View v) { Intent intent = new Intent(Ykmjuku007Activity.this, SubMain.class); intent.putExtra("label", "Ykmjuku007が呼び出した数:"+(++mCount)); startActivityForResult(intent, REQUEST_ID); } } }); 変更 @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if(requestCode == REQUEST_ID){ Button btn = (Button)findViewById(R.id.button2); if(resultCode == RESULT_OK){ btn.setText("OK:"+data.getStringExtra("result")); } else{ btn.setText("ERROR:"+data.getStringExtra("result")); } } } } Re:Kayo-System Co.,Ltd. Wednesday, March 7, 2012
  • 40. 呼び出された側の実装 package ykmjuku.android.sample007.app; <省略> public class SubMain extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.submain); TextView textview = (TextView)findViewById(R.id.textView1); textview.setText(getIntent().getStringExtra("label")); Button btn = (Button)findViewById(R.id.button1); btn.setOnClickListener(new OnClickListener() { public void onClick(View v) { 追加 TextView textview = (TextView)findViewById(R.id.textView1); Intent intent = new Intent(); intent.putExtra("result", textview.getText()); setResult(RESULT_OK, intent); finish(); } }); } } Re:Kayo-System Co.,Ltd. Wednesday, March 7, 2012
  • 41. ここまでのコードの サンプル プロジェクト名:ykmjuku007 http://bit.ly/zJfDY0 Re:Kayo-System Co.,Ltd. Wednesday, March 7, 2012
  • 42. 中級向け 問題 これまで作った電卓プログラムと 新しい画面を連携させてみよう。 前回作った電卓 計算 1 1 1 1 1 1 1 1 1 1 1 1 計算結果を返し、テキストボッ ykmjuku008 クスに設定する http://bit.ly/x4rOm5 Re:Kayo-System Co.,Ltd. Wednesday, March 7, 2012
  • 43. ダイアログは? 続きは夜子まま塾オンライン(無料)にて 毎週水曜日夜10:30∼11:00 (都合によりない場合もあります) 夜子まま塾 http://bit.ly/wTjjix GoogleID:101190223376062765723 上記アカウントをサークルに追加していると、 ハングアウトのお誘いが届きます。 是非ご参加ください。 Re:Kayo-System Co.,Ltd. Wednesday, March 7, 2012