プログラミング未経験者対象の【 Androidアプリ作成動画 】です。
この動画はアプリの画面作成の流れを動画にしてUPしたもで、あまり丁寧に解説してません。
開発バージョンの違いや、文字コード、設定等により、コピペしてもうまく機能しない時があります。
動作を保証する物で無く、未経験者の方の参考動画としてご覧ください。
【 動画内容 】
ゲーム等での「音楽の再生ボタンを設置する」を解説した動画です。
前回作成した「バックミュージックとアクティビティ」の続編としてご覧ください。
この動画は、予備知識としてアクティビティのライフサイクルとIFを理解していることが前提の動画です。
まだ、未学習の方は参考程度にしてください。( わからない箇所はご質問ください。 )
【 使用画像 (ご自由にお使いください) 】


【 レイアウト 】
fragment_main.xml か activity_main.xmlです。開発環境のバージョンで変わります。
<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”
android:paddingBottom=”@dimen/activity_vertical_margin”
android:paddingLeft=”@dimen/activity_horizontal_margin”
android:paddingRight=”@dimen/activity_horizontal_margin”
android:paddingTop=”@dimen/activity_vertical_margin”
tools:context=”com.example.sound0724.MainActivity$PlaceholderFragment” >
<ImageView
android:id=”@+id/soundButton”
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:layout_centerHorizontal=”true”
android:layout_centerVertical=”true”
android:onClick=”onSoundButton”
android:src=”@drawable/start” />
</RelativeLayout>
【 プログラム MainActivity.java 】
import android.support.v7.app.ActionBarActivity;
import android.support.v4.app.Fragment;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.ImageView;
public class MainActivity extends ActionBarActivity {
/****************************
* フィールド ( アプリ全体で使用する変数 )
***************************/
// 再生の準備
MediaPlayer p;
/*********************
* 初期化
********************/
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 音楽の読み込み
p = MediaPlayer.create(getApplicationContext(), R.raw.sound);
// 連続再生設定
p.setLooping(true);
if (savedInstanceState == null) {
getSupportFragmentManager().beginTransaction()
.add(R.id.container, new PlaceholderFragment()).commit();
}
}
/*********************
* ボタンでの再生と停止
********************/
public void onSoundButton(View v) {
// 表示内容の切替え
ImageView button = (ImageView) findViewById(R.id.soundButton);
// 再生中なら停止して、停止中なら再生する
if (p.isPlaying()) {
p.pause(); // 一時停止
button.setImageResource(R.drawable.start);
} else {
p.start(); // 再生
button.setImageResource(R.drawable.pause);
}
}
/*****************************
* 終了処理(メモリの解放)
*****************************/
@Override
protected void onDestroy() {
// TODO Auto-generated method stub
super.onDestroy();
p.release(); // メモリの解放
p = null; // 音楽プレーヤーを破棄
}
@Override
protected void onPause() {
super.onPause();
// 本来なら停止処理が必要
}
@Override
protected void onResume() {
super.onResume();
// 本来なら再開処理が必要
}
~ 以下略 ~
