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クラス
The Android XML Visualizer(Udacityの教材)
ファイル処理
ファイルアクセスを許可するため、AndroidManifest.xmlに以下のタグを追加します。
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
画像処理
サウンド処理
その他