5
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【Android Java】いまさら聞けないActivityとは?

Posted at

はじめに

Android Javaって何?という初学者向けの記事になります。
アンドロイド特有のActivityについての内容です。

仕事でAndroid Javaを使って修正、開発をしています。
業務に携わってから約半年が経ちました。

Android Javaを使うにあたって、学んだことをアプトプットしようと思い記事にしました。

エンジニアになって1年の未熟者なので暖かい目で見ていただけると助かります。

あなたは誰?

現職:SESエンジニア(歴1年)
前職:営業
年齢:27歳
使用言語:Java, Android Java, C++
工程:テスト、実装(設計もやってみたい…)
好きなこと:サウナ/登山/ダーツ/ピアノ/酒/運動全般
もくもく会主催:新宿もくもく会

Acyivityとは

簡単に言うとActivityとは、スマホでいう一つの画面全体のことを言います。

皆さんスマホは持っていると思うので、いつもActivityを起動しているってことになりますね。

いろんなアプリが画面の中にはっていますね。
今見えている画面全体がActivityになります。

多くのアプリでは画面は1つではなく複数の画面から成り立っていることが多いので、その場合にはActivityも複数になります。

画像でイメージしてみよう

下の画像ではActivityが3つあって、Activityが切り替わると画面も切り替わるようなイメージでOKです。

次の画像も同じようなイメージです。
「MOVE」と「RETURN」というボタンがありますね。
このボタンを押すと別のアクティビティ(画面)に切り替わるように処理が作られています。

レイアウトと機能

1つのActivityを構成しているのが以下の2つです。
・activity_main.xml → レイアウト
・MainActivity.java → 機能

例えば以下の画面を表示するには次のような2つのソースが必要になります。

activity_main.xml

⇓まずこちらのソースで画面のレイアウトを表示しています。
どんな画像を表示するか(android:src="@drawable/main")
 ・画面のどの位置に表示するか(android:scaleType="fitXY")
どんなボタンを表示するか
 ・画面のどこに表示するか(android:layout_centerInParent="true")
 ・ボタンのテキストはどうするか(android:text="スタート")

Activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.test.rpggame.MainActivity">
 
    <ImageView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:scaleType="fitXY"
        android:src="@drawable/main" />
 
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:onClick="onButton1"
        android:text="スタート"
        android:textSize="30sp" />
</RelativeLayout>

MainActivity.java

⇓そしてこっちでボタンを押した時にどういう動きをするかという機能を付けています。
onButton1というボタンを押した時に、PlayActivityのアクティビティ(画面)に遷移する

MainActivity.java
package com.test.rpggame;

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }

    public void onButton1(View v) {
        Intent intent = new Intent(this, PlayActivity.class);
        startActivity(intent);
    }
}


まとめ

  • Activityとは画面全体のこと。
  • 画面が切り替わるごとにActivityも切り替わる。
    ※Fragmentだけ切り替えてActivityはそのままにする方法もある。
  • 画面はxmlファイルとActivityファイルの2つで構成される。

参考資料

Androidアプリ開発の教科書 第2版
【Androidアプリ開発】アクティビティとライフサイクルの重要性
アクティビティの概要
Androidアプリ作成の基本“Activity”とは何か?
Android開発のためのJava入門 第4回「Android Studioの使い方とActivityについて」
Android プログラミング【 アクティビティ⑥ 】 ~ ゲームの画面移行 ~

おわりに

今回はかなりざっくりとActivityについて解説してみました。
次はもう少し踏み込んだ説明ができるような記事を書けるように精進致します!

Fragmentライフサイクルintentについてはまた別の記事で解説していきます。

最後まで読んでいただきありがとうございました。
良かったらLGTM, ストックを押していただけると学習の励みになります。
また、記事の内容に間違いなどありましたら、コメントいただけると非常に勉強になります。

週末に新宿でもくもく会を開催しています。
興味ある方は見ていただけると嬉しいです。
https://shinjuku-realize0707.connpass.com/

5
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?