プログラミング未経験者対象の【 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(); // 本来なら再開処理が必要 } ~ 以下略 ~