java、android開発初心者です。アラームの音を鳴らすにはどんなコードを追加すればいいのでしょうか。

406 views
Skip to first unread message

ktr

unread,
Oct 12, 2011, 5:44:03 AM10/12/11
to 日本Androidの会
ド初心者です。

音を鳴らすのにはmediaplayerなどを使うというのは調べて分かったのですが
具体的にはどこにどうやって記述すればいいのかがわかりません。
さらにいうと、アラームでセットした時間にその音を再生するようにするところは
調べてもそれらしいものが見つからずお手上げ状態です・・・。
どなたか、お教えいただけますでしょうか?><

P.S 曜日を取得するようなコードを入れてみましたが、テキストで表示ができません。
   それについても教えていただけると非常に助かります!

↓↓↓↓↓↓以下、現状のソースコードです↓↓↓↓↓↓


package test.ki;

import java.util.Calendar;
import java.util.GregorianCalendar;
import test.ki.R.id;
import android.app.Activity;
import android.app.AlarmManager;
import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.Gravity;
import android.view.View;
import android.widget.Button;
import android.widget.DatePicker;
import android.widget.TimePicker;
import android.widget.DatePicker.OnDateChangedListener;
import android.widget.TimePicker.OnTimeChangedListener;
import android.widget.TextView;
import android.widget.Toast;
import java.applet.*;


public class TestActivity extends Activity
implements OnDateChangedListener, OnTimeChangedListener {

protectedstaticfinalintREQUEST_CODE_RINGTONE_PICKER = 0;

//アラームマネージャ
private AlarmManager mManager;

// Calendarクラスのインスタンスを取得する
Calendar cal = Calendar.getInstance();
int week = cal.get(Calendar.DAY_OF_WEEK);

//設定日時
private GregorianCalendar mCalendar;

//日にち設定クラス
private DatePicker mDate;

//時刻設定クラス
private TimePicker mTime;

public void onCreate1(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mManager = (AlarmManager)
getSystemService(Context.ALARM_SERVICE);


//現在時刻を取得
mCalendar = new GregorianCalendar(2001, 2, 1);
Log.i("TestActivity",mCalendar.getTime().toString());

  switch (mCalendar.get(Calendar.DAY_OF_WEEK)){



// 取得した曜日フィールドの値と各曜日を表す値を比較して曜日を得ます。

case Calendar.SUNDAY:
System.out.println("日曜日です。");
break;
case Calendar.MONDAY:
System.out.println("月曜日です。");
break;
  case Calendar.TUESDAY:
System.out.println("火曜日です。");
break;
case Calendar.WEDNESDAY:
System.out.println("水曜日です。");
break;
case Calendar.THURSDAY:
System.out.println("木曜日です。");
break;
case Calendar.FRIDAY:
System.out.println("金曜日です。");
break;
case Calendar.SATURDAY:
System.out.println("土曜日です。");
break;
}

//セットボタン、リセットボタンのリスナーを登録
setContentView(R.layout.main);
Button b = (Button)findViewById(R.id.set);
b.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
setAlarm();

}

});


b = (Button)findViewById(R.id.reset);
b.setOnClickListener(new View.OnClickListener() {

public void onClick(View v) {
resetAlarm();

}

});

//日時設定クラスに現在時刻を設定

mDate = (DatePicker)findViewById(R.id.date_picker);
mDate.init(
mCalendar.get(Calendar.MONTH+1),
mCalendar.get(Calendar.DAY_OF_MONTH),
mCalendar.get(Calendar.DAY_OF_WEEK),
this);

mTime = (TimePicker)findViewById(R.id.time_picker);

mTime.setCurrentHour(mCalendar.get(Calendar.HOUR_OF_DAY));

mTime.setCurrentMinute(mCalendar.get(Calendar.MINUTE));

mTime.setOnTimeChangedListener(this);

}


//アラームの設定

private void setAlarm() {
mManager.set(AlarmManager.RTC_WAKEUP,
mCalendar.getTimeInMillis(),
pendingIntent());

Log.i("TestActivity",mCalendar.getTime().toString());

}

//アラームの解除

private void resetAlarm() {
mManager.cancel(pendingIntent());

}


//アラームの設定時刻に発生するインテントの作成

private PendingIntent pendingIntent() {
Intent i = new Intent(getApplicationContext(),

TestActivity.class);

PendingIntent pi =
PendingIntent.getActivity(this, 0, i, 0);

return pi;

}



//日にち設定クラスの状態変化リスナー

public void onDateChanged1(
DatePicker view, int year, int monthOfYear, int dayOfMonth) {
mCalendar.set(year, monthOfYear, dayOfMonth,
mTime.getCurrentHour(),
mTime.getCurrentMinute());
Log.i("TestActivity",mCalendar.getTime().toString());

}

//時刻設定クラスの状態変化リスナー

public void onTimeChanged(
TimePicker view, int hourOfDay, int minute) {
mCalendar.set(
mDate.getYear(),mDate.getMonth(),mDate.getDayOfMonth(),
hourOfDay, minute);
Log.i("TestActivity",mCalendar.getTime().toString());

}



/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

TextView textView = (TextView) findViewById(id.textView2);

}


public void showHelloDoroid(View view) {
Toast myToast = Toast.makeText(
this, "アラームをセットしました。", Toast.LENGTH_LONG);
myToast.setGravity(Gravity.CENTER, 0, 0);
myToast.show();

}

public void onClick(View v) {

}

public void onDateChanged(DatePicker view, int year, int monthOfYear,

int dayOfMonth) {

}

}
Reply all
Reply to author
Forward
0 new messages