Warning: PDO::query(): SQLSTATE[HY000]: General error: 1 near "update": syntax error in /home/users/2/boo.jp-designer/web/mcbechtel.com/lib/lib_general.php on line 39

Warning: PDO::query(): SQLSTATE[HY000]: General error: 1 near "update": syntax error in /home/users/2/boo.jp-designer/web/mcbechtel.com/lib/lib_general.php on line 39

Warning: PDO::query(): SQLSTATE[HY000]: General error: 1 near "update": syntax error in /home/users/2/boo.jp-designer/web/mcbechtel.com/lib/lib_general.php on line 39

Warning: PDO::query(): SQLSTATE[HY000]: General error: 1 near "all": syntax error in /home/users/2/boo.jp-designer/web/mcbechtel.com/lib/lib_general.php on line 39
ページ遷移(1) ( intent インテント) | Android開発初心者の開発入門 | McBechtel
1:基本編
1-1:LayoutXMLをいじる
2:Widget(ウィジェット)
1-1:ボタン
3:実践編
3-1:遷移動作
5:Surface View
5-1:Surface Viewの基礎

Android開発初心者の開発入門


ページ遷移(1) ( intent インテント)


アプリ内で違う画面(ページ)に移動する簡単な方法が2つあります。

 1:違うActivity(JAVAファイル)に移動する【intent インテント】
 2:違うlayoutのxmlを読み込む


まずは1つ目の違うActivityに移動する方法からご紹介します。


異なるActivityへの移動はintentという形式で連携しながら遷移します。

1:新規クラス≒アクティビティを追加



名前: 任意の名前
スーパークラス: android.app.Activity



2:新しいActivityでのレイアウト定義XMLを作成



今回はこんな感じにしました
test2.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
	xmlns:android="http://schemas.android.com/apk/res/android"
	android:orientation="vertical"
	android:layout_width="match_parent"
	android:layout_height="match_parent">
	
	<TextView
		android:layout_height="wrap_content"
 		android:text="ページ移動しました"
 		android:textAppearance="?android:attr/textAppearanceLarge"
 		android:id="@+id/textView1"
 		android:layout_width="wrap_content">
	</TextView>
 
</LinearLayout>


3:新しいAcitivtyのレイアウトを2で作ったtest2.xmlにする

package com.McBechtel.test; 
 
import android.app.Activity;
import android.os.Bundle;
 
public class TestActivity2 extends Activity {
 
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.test2);
    }
}
setContentView(R.layout.test2);
の部分ですね。


4:マニフェストファイルを編集
マニフェストと聞くと、最近の政治を思い浮かべてしまいますが
マニフェストファイルとはActivityを管理するファイルです。

全Activityリストや、最初に起動するActivityは何?などの情報が記載されています。
Activityを追加した場合はこのマニフェストファイルに記載が必要です。
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.McBechtel.test"
    android:versionCode="1"
    android:versionName="1.0">
    
    <uses-sdk android:minSdkVersion="8" />
 
    <application android:icon="@drawable/icon" android:label="@string/app_name">
        <activity android:name=".TestActivity"
            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=".TestActivity2"
            android:label="@string/app_name">
        </activity>
 
    </application>
</manifest>


<activity android:name=".TestActivity2"
	android:label="@string/app_name">
</activity>
 
が追加した部分です。

1個目の<activity>タグ内の<intent-filter>部分
アプリ起動時に呼ばれるActivityに関する記述です。


5:ページ遷移するボタンを最初のActivityに追加

<Button
    android:text="移動"
    android:id="@+id/button2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content">
</Button>


6:ページ遷移動作を記述
ボタンクリック時の動作部分に追加

Intent intent = new Intent(this, TestActivity2.class);
startActivityForResult(intent, 0);
これが移動させるためのコードになります。 これをボタンを押したら呼ばれるonClick内に記載すればOKです!


public class TestActivity extends Activity implements OnClickListener {
    /** Called when the activity is first created. */ 
 
    private Button button1,button2;         //ボタン用変数(1)
    private TextView text1;            //テキスト用変数(2)
    private int clickcount=0;        //ガァ~表示用 カウンター
 
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
 
        //(1)で作成した変数と、XMLで作ったボタン(button1)を紐付け
        button1=(Button)findViewById(R.id.button1);        
        //button1のクリックを通知する機能を実装
        button1.setOnClickListener(this);
 
        //(1)で作成した変数と、XMLで作ったボタン(button1)を紐付け
        button2=(Button)findViewById(R.id.button2);
        //button1のクリックを通知する機能を実装
        button2.setOnClickListener(this);
 
        //(2)で作成した変数と、XMLで作ったテキストを紐付け
        text1  =(TextView)findViewById(R.id.textView1);
 
    }
 
    //---------------------------
    //ボタンがクリックされたら呼ばれる関数
    //---------------------------
    public void onClick(View v) {
        // TODO 自動生成されたメソッド・スタブ
 
        if(v==button1){        //ボタン1の場合
        if(clickcount%2==0){
                text1.setText("gaa");        //text1をがぁ~に
        }else{
                text1.setText(" ");            //text1を消す
        }
        clickcount++;
        }else if(v==button2){
            Intent intent = new Intent(this, TestActivity2.class);
            startActivityForResult(intent, 0);
        }
 
    }
 
}
 

First Priority

お客様の利益を最大化することが我々の最優先事項です。 WEBを最大限活用し、御社のビジネス拡大をお手伝いさせていただきます

Business Experience

WEB黎明期から数多くのWEBサイト立ち上げ、理論に加えて、体で覚えたノウハウを徹底的に注ぎ込み成功への近道をご案内いたします。

Marketing Reserch

マーケティングリサーチの専門家が絶えず市場のトレンドを調査。 まず作る。ではなくまず分析ありきでのサービス構築が需要です。

 
 

Latest News

View All

Tweet by president

Twitterボタン

Recruiting Information

ただいま募集しておりません
募集を実施する場合は、当ホームページでご連絡いたします。

Contact Information

McBechtel JAPAN

mail