編輯:關於Android編程
本實例通過TimePickerDialog時間選擇對話框讓用戶設置鬧鐘,並通過AlarmManager全局定時器在指定的時間啟動鬧鐘Activity 。
程序運行效果圖:
實例代碼:
<喎?/kf/ware/vc/" target="_blank" class="keylink">vcD4KPHByZSBjbGFzcz0="brush:java;">package com.jph.alarm.test;
import java.util.Calendar;
import android.app.Activity;
import android.app.AlarmManager;
import android.app.PendingIntent;
import android.app.Service;
import android.app.TimePickerDialog;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TimePicker;
import android.widget.Toast;
/**
* Describe:
* 簡單鬧鐘提醒
* 本實例通過TimePickerDialog時間選擇對話框
* 讓用戶設置鬧鐘並通過AlarmManager全局定時器
* 在指定的時間啟動鬧鐘Activity
* @author jph
* Date:2014.07.29
* */
public class AlarmTest extends Activity
{
Button setTime;
AlarmManager aManager;
Calendar currentTime = Calendar.getInstance();
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// 獲取程序界面的按鈕
setTime = (Button) findViewById(R.id.setTime);
// 獲取AlarmManager對象
aManager = (AlarmManager) getSystemService(
Service.ALARM_SERVICE);
// 為“設置鬧鈴”按鈕綁定監聽器。
setTime.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View source)
{
Calendar currentTime = Calendar.getInstance();
// 創建一個TimePickerDialog實例,並把它顯示出來。
new TimePickerDialog(AlarmTest.this, 0, // 綁定監聽器
new TimePickerDialog.OnTimeSetListener()
{
@Override
public void onTimeSet(TimePicker tp,
int hourOfDay, int minute)
{
// 指定啟動AlarmActivity組件
Intent intent = new Intent();
intent.setAction("com.jph.alarm.test.ACTION");
// 創建PendingIntent對象
PendingIntent pi = PendingIntent.getActivity(
AlarmTest.this, 0, intent, 0);
Calendar c = Calendar.getInstance();
// 根據用戶選擇時間來設置Calendar對象
c.set(Calendar.HOUR_OF_DAY, hourOfDay);
c.set(Calendar.MINUTE, minute);
// 設置AlarmManager將在Calendar對應的時間啟動指定組件
aManager.set(AlarmManager.RTC_WAKEUP,
c.getTimeInMillis(), pi);
// 顯示鬧鈴設置成功的提示信息
Toast.makeText(AlarmTest.this, "鬧鈴設置成功啦"
, Toast.LENGTH_SHORT).show();
}
}, currentTime.get(Calendar.HOUR_OF_DAY), currentTime
.get(Calendar.MINUTE), false).show();
}
});
}
}
package com.jph.alarm.test; import java.util.Calendar; import android.app.Activity; import android.app.AlarmManager; import android.app.PendingIntent; import android.app.Service; import android.app.TimePickerDialog; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.TimePicker; import android.widget.Toast; /** * Describe: * 簡單鬧鐘提醒 * 本實例通過TimePickerDialog時間選擇對話框 * 讓用戶設置鬧鐘並通過AlarmManager全局定時器 * 在指定的時間啟動鬧鐘Activity * @author jph * Date:2014.07.29 * */ public class AlarmTest extends Activity { Button setTime; AlarmManager aManager; Calendar currentTime = Calendar.getInstance(); @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); // 獲取程序界面的按鈕 setTime = (Button) findViewById(R.id.setTime); // 獲取AlarmManager對象 aManager = (AlarmManager) getSystemService( Service.ALARM_SERVICE); // 為“設置鬧鈴”按鈕綁定監聽器。 setTime.setOnClickListener(new OnClickListener() { @Override public void onClick(View source) { Calendar currentTime = Calendar.getInstance(); // 創建一個TimePickerDialog實例,並把它顯示出來。 new TimePickerDialog(AlarmTest.this, 0, // 綁定監聽器 new TimePickerDialog.OnTimeSetListener() { @Override public void onTimeSet(TimePicker tp, int hourOfDay, int minute) { // 指定啟動AlarmActivity組件 Intent intent = new Intent(); intent.setAction("com.jph.alarm.test.ACTION"); // 創建PendingIntent對象 PendingIntent pi = PendingIntent.getActivity( AlarmTest.this, 0, intent, 0); Calendar c = Calendar.getInstance(); // 根據用戶選擇時間來設置Calendar對象 c.set(Calendar.HOUR_OF_DAY, hourOfDay); c.set(Calendar.MINUTE, minute); // 設置AlarmManager將在Calendar對應的時間啟動指定組件 aManager.set(AlarmManager.RTC_WAKEUP, c.getTimeInMillis(), pi); // 顯示鬧鈴設置成功的提示信息 Toast.makeText(AlarmTest.this, "鬧鈴設置成功啦" , Toast.LENGTH_SHORT).show(); } }, currentTime.get(Calendar.HOUR_OF_DAY), currentTime .get(Calendar.MINUTE), false).show(); } }); } }
寫在前面:幾個月之前在做項目的布局優化時,使用 Hierarchy Viewer 查看項目的層級結構,然後發現頂層的布局並不是在XML中我寫的根布局,而是嵌套了多層 La
你是qq火炬手嗎?在這個騰訊QQ為巴西裡約奧運會推出的火炬傳遞活動中你是第幾位火炬手了呢?QQ火炬好友火炬排行榜怎麼看?下面小編就來教教你!QQ火炬好友火炬
先看效果圖: 寫一個超連接支持的對象: /**作為超連接顯示的對象*/ public class LinkInfo implements Comparable{
好的APP應當具備良好的交互, 最好能貼心的滿足用戶的需求. 而人性化的提醒就是其中之一. 某些APP中經常會看到這樣的場景, 當加載內容失敗, 或者獲取內容失敗時, 界