fc2ブログ

趣味の記録とか

趣味記録用ブログ

02月 « 2024年03月 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31  » 04月

Android 画面遷移

2014年 01月31日 01:29 (金)

Androidのアプリ開発をちょっとずつ進めてますが、
忘れないようにちょっとずつメモ的なものを残して行こうと思います。
私自身やり始めたばっかりなので色々間違ってるかもしれません。

■画面遷移について
大抵のアプリは1画面に収まらないと思うので、まずはココからといった感じですね。

流れとしては、
①xmlで画面を作る
②新しい画面用のアクティビティクラスを作る
③AndroidManifest.xmlにアクティビティクラスを登録
④遷移前の画面で②のクラスからインスタンス生成
⑤インスタンスで次画面を起動
みたいな感じになります。


画面上のボタンをタップすると画面遷移する感じのものを書いておきます。
(長くなるので色々省きます)

①xmlで画面を作る

【遷移前の画面】
画面用のxmlに以下の通り記述してボタンを配置します。
xmlファイルの名前はactivity_mainとします。

<Button
android:id="@+id/button"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:text="ボタン" />

最初なので簡単に説明すると上から、
クラスのほうでの扱うための識別用のIDはbuttonというのを設定
幅は100dpのサイズを設定
文字サイズに応じた高さを設定
ボタンという文字を表示
といった感じに書いてボタンを作ります。

画面遷移後の画面も、xmlファイルを適当に作って用意しておきます。
仮に名前はnext.xmlとかにしときます。

②新しい画面用のクラスを作る
public class NextScreen extends Activity{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.next);
}

最初にonCreateというメソッドが実行されるので、
そこに画面表示とか色々処理を書きます。
Activityクラスを継承し、onCreateをオーバーライドする形になります。
setContentViewが画面表示のメソッドです。
遷移後の画面にnext.xmlというのを作ったので、R.layout.nextを指定しています。

③AndroidManifest.xmlにアクティビティクラスを登録
画面を呼び出すためにはAndroidManifest.xmlに作ったアクティビティクラスを登録しとく必要があります。
以下のように書きます。
<activity
android:name="NextScreen"
android:label="@string/app_name" />


④⑤画面遷移前のほうに新しい画面呼び出すように書く
画面遷移前のコードはこんな感じ。

public class MainActivity extends Activity {
private Button button; ←ボタンクラスのフィールド変数を宣言

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); ←ここの処理で最初の画面を表示してます。

button=(Button)findViewById(R.id.button); ←xml上のid:buttonを探してきて、buttonフィールドに代入しています。

button.setOnClickListener(new View.OnClickListener() { ←タップしたとき動く
@Override
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this, NextScreen.class); ←★
startActivity(intent);
}
});
}

★の部分で新しい画面に遷移するための処理を書いています。
②で作ったクラスをから、インテントという画面遷移するためのものを生成し、
startActivityでそれを起動する、といった感じです。



という風に書いてみたけど心が折れました。
これまとめるのすごい大変ですね。
まとめてる時間あまり無いから中途半端で見にくいし。
FC2ブログの関係でxmlソース書きにくいし。
・・・まぁ後で自分が見返したときに分かればいいかな
ァ '`,、'`,、('∀`) '`,、'`,、


まぁせっかく勉強のために始めたことなので、ちょこちょこ書いていくかもです。
これ、いざ書こうとしてみると、分からないことが明確化して、それを調べるものだから色々知識が身につくね。
もう5年間ほぼコーディングしてなかったからもう全然分からなくて0からのスタート状態です。
とにかくやらないとだめだこれ。
スポンサーサイト