Androidプログラミング(Java編) 

以下は、ページの内容が古く、Flutterに移行するのでこのページはほとんど更新されません。

Activityについて

Activityとは、Androidアプリにおける画面のことを指します。まずこれを操作できないと話になりません

Activityの作成


下記のようにActivityクラスを継承し、onCreateメソッドをオーバーライドしてください。

public class testActibity extends Activity {

@Override

public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);//Layoutファイルの呼び出し

}

}

AndroidManifest.xmlへの追加

上記クラスを作成しただけでは、Androidアプリで使うことはできません。マニュフェストにも宣言を書いておく必要があります。必要最低限の情報は以下のとおりです。デフォルトのActivityについてもここに記述されていますので、起動するActivityを変更したい場合はこのファイルを編集してください。

<application>

いろいろ書いてある

<activity android:name="testActibity"></activity>

</application>

レイアウト設定ファイルについて(layout/***.xml)

Androidでは、GUIのレイアウトについては

  • Javaファイル内で直接 newする

  • xmlファイルで定義する

の2種類の方法があります。近年の主流としては後者のxmlを利用して定義するのが一般的です。Androidのサンプルコードでもデフォルトのlayoutファイルが用意されておりそれを呼び出しています。

Activityの呼び出し方法

デフォルトのActivityから新たなActivityを表示するには、以下の3種類の方法があります。

【クラス名を指定する方法】

Intent intent= new Intent(this,testActibity.class);

startActivity(intent);

【パッケージ名で指定する方法】

(準備中)

【暗黙的呼び出し】

(準備中)

Activity間でのデータの授受

【親から子へ渡す】

intent.putExtra("属性","値");

【子供側から受け取る】

Intent intent getIntent();

result = intent.getXXXXExtra("属性");

ここでのXXXには受け取る側の型によってことなります。

【子のデータを親が受け取る】

子からのデータを親が受け取りたいときは、startActivityForResultメソッドでActivityを起動(呼び出し)しておきます。

呼び出した子Acivityの処理が終わり、自分の画面に戻ってくると、onAcrivityResultメソッドが呼ばれますので、そこで子から受け取ります。この持っているデータは、Intentに入ってます

//子アクティブティを起動する

startActivityForResult(intent, SUB_ACTIVITY);

@Override

protected void onActivityResult(int requestCode, int resultCode, Intent data) {

if(requestCode == SUB_ACTIVITY) {

if(resultCode == RESULT_OK) {

// 結果を取得して, 表示する.

text.setText(data.get********Extra("keyword"));

}

}

}

UIクラス

ファイル処理

ファイルアクセスを許可するため、AndroidManifest.xmlに以下のタグを追加します。

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

画像処理

サウンド処理

その他