そのため、timePicker について学習し、Java と Android SDK を使用して時間を処理しようとしているため、このプロジェクトに終日取り組んでいます。だから今、私は次の設定をしています:
package com.dicamillo.alarm;
import java.util.Calendar;
import android.app.Activity;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.DigitalClock;
import android.widget.TextView;
import android.widget.TimePicker;
public class AlarmlockActivity extends Activity implements OnClickListener {
/** Called when the activity is first created. */
TimePicker tp;
Button set;
int hour;
int minuet;
DigitalClock dc;
Calendar calendar = Calendar.getInstance();
TextView complete;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
tp = (TimePicker) findViewById(R.id.tpAlarmTime);
set = (Button) findViewById(R.id.bSet);
dc = (DigitalClock) findViewById(R.id.digitalClock1);
hour = calendar.get(Calendar.HOUR);
minuet = calendar.get(Calendar.MINUTE);
complete = (TextView) findViewById(R.id.tvTest);
set.setOnClickListener(this);
}
public void onClick(View v) {
// TODO Auto-generated method stub
switch (v.getId()) {
case R.id.bSet:
Thread alarmstart = new Thread() {
public void run() {
while (tp.getCurrentHour().intValue() != hour
&& tp.getCurrentMinute().intValue() != minuet) {
tp.getCurrentHour().intValue();
tp.getCurrentMinute().intValue();
if (tp.getCurrentHour().intValue() == hour
&& tp.getCurrentMinute().intValue() == minuet) {
MediaPlayer mp = MediaPlayer.create(
AlarmlockActivity.this, R.raw.alarm);
mp.start();
complete.setText("COmpleted!");
}
}
}
};
alarmstart.start();
break;
}
}
選択された時間が現在の時間に達すると、想定どおりに何も起こりません。スレッドに何か不足していますか? または、私はこれを完全に間違っています。どんなヘルプ作業も素晴らしいです。今日、私は多くの助けを求めてきたことを知っていますが、私がしたいのは学ぶことだけです. =)