『壹』 用android studio做一個可以運行的小程序,鬧鍾也行,然後可以連到手機,感謝大神。
環境搭建就不講了,直接說開發。
小鬧鍾程序開發中的要點就是:
1、時間選擇對話框(TimePicker)
2、獲取鬧鍾管理器並對其進行設置
3、注冊廣播接收器
掌握了這兩點,寫程序就很簡單了。
1、新建android項目:Alarm,sdk版本選擇2.2,Package name:com.lql.activity,Main Activity:Alarm
2、編寫界面:直接修改layout中的main.xml文件,代碼如下:
Xml代碼
<?xmlversion="1.0"encoding="utf-8"?>
<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center_vertical"
>
<Button
android:id="@+id/timeBtn"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/time"
android:textSize="20sp"
/>
<Button
android:id="@+id/cancelAlarmBtn"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/cancelAlarm"
/>
</LinearLayout>
界面的效果如下:
{
/*(non-javadoc)
*@seeandroid.content.BroadcastReceiver#onReceive(android.content.Context,android.content.Intent)
*/
@Override
publicvoidonReceive(Contextarg0,Intentdata){
Log.d(Alarm.TAG,"thetimeisup,startthealarm...");
Toast.makeText(arg0,"鬧鍾時間到了!",Toast.LENGTH_SHORT).show();
}
}
這個代碼就很簡單了,主要是要繼 承BroadcastReceiver 這個類,然後重寫onRecive方法。onRecive方法在鬧鍾的時間達到之後會執行,在這里我們可以做自己的事情,比如啟動某個程序,或者播放鈴聲,我這里就是簡單的提示一下,使用的是Toast。
5、在android的AndroidManifest.xml文件中注冊廣播接收器:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
Xml代碼
package="com.ql.activity"
android:versionCode="1"
android:versionName="1.0">
<applicationandroid:icon="@drawable/icon"android:label="@string/app_name">
<receiverandroid:name=".AlarmReceiver"android:process=":remote"/>
<activityandroid:name=".Alarm"
android:label="@string/app_name">
<intent-filter>
<actionandroid:name="android.intent.action.MAIN"/>
<categoryandroid:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
</application>
<uses-sdkandroid:minSdkVersion="8"/>
</manifest>
核心的配置為<receiver android:name=".AlarmReceiver" android:process=":remote" />,這也是鬧鍾程序的關鍵,如果不做這個配置,那麼時間到了之後,鬧鍾將不會提示。
接下來就是到模擬器上測試,運行截圖如上圖。程序源代碼見附件。
『貳』 android鬧鍾響起事件可以監聽到嗎,應該怎麼
設置鬧鍾與獲得當前時間,下面代碼中都用 import java_text); btn_set = (Button) findViewById(R.id.btn_set); btn_close = (Button) findViewById(R.id.btn_close); calendar = Calendar.getInstance(); /**設置鬧鍾*/ btn_set.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { //設置當前時間 calendar.setTimeInMillis(System.currentTimeMillis()); //獲取小時 int hour = calendar.get(Calendar.HOUR_OF_DAY); //獲取分鍾 int minute = calendar.get(Calendar.MINUTE); /**時間對話框*/ new TimePickerDialog(MainActivity.this, new OnTimeSetListener() { @Override public void onTimeSet(TimePicker view, int hourOfDay, int minute) { //設置當前時間 calendar.setTimeInMillis(System.currentTimeMillis()); calendar.set(Calendar.HOUR_OF_DAY, hourOfDay);//設置小時 calendar.set(Calendar.MINUTE, minute); //設置分鍾 calendar.set(Calendar.SECOND, 0); //設置秒數 calendar.set(Calendar.MILLISECOND, 0); //設置毫秒 /**建立Intent和PendingIntent,來調用目標組件*/ Intent intent = new Intent(MainActivity.this, MyReceiver.class); PendingIntent pendingIntent = PendingIntent.getBroadcast(MainActivity.this, 0, intent, 0); /**獲取鬧鍾管理的實例*/ AlarmManager am = (AlarmManager) getSystemService(ALARM_SERVICE); /**設置鬧鍾*/ am.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), pendingIntent); /**設置周期鬧鍾*/ am.setRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis()+(10*1000), (24*60*60*1000), pendingIntent); String tmps = "設置鬧鍾時間為"+format(hourOfDay)+":"+format(minute); tv_text.setText(tmps); } }, hour, minute, true).show(); } }); /**取消鬧鍾*/ btn_close.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(MainActivity.this, MyReceiver.class); PendingIntent pendingIntent = PendingIntent.getBroadcast(MainActivity.this, 0, intent, 0); AlarmManager am = (AlarmManager) getSystemService(ALARM_SERVICE); am.cancel(pendingIntent); tv_text.setText("鬧鍾已取消..."); } }); } /**格式轉換:7:3--->07:03 */ private String format(int x){ String s=""+x; if(s.length() ==1){ s="0"+s; } return s; } }
『叄』 android手機鬧鍾鈴聲是怎麼設置的
一般Android手機具有四種鈴聲可以設置,分別為:來電、簡訊、鬧鍾、系統等種類鈴聲,具體的設置編制為:
1:先打開Android手機的內存卡盤,在裡面成立個「media」文件夾,然後打開後成立個「audio」文件夾。
2:打開「audio」文件夾後,在裡面非別成立「ringtones」(來電)、「notifications」(簡訊)、「alarms」(鬧鍾)、 「ui」(系統提示)。
3:然後遵循本身的需要將鈴聲存放到這幾個文件夾中。
4:打開Android手機,在「菜單」-「設置」-「聲音」這里便可以自行進行選擇了。
【首要提示:把文件夾設置好,在把要設置的鈴聲放進指定文件夾後重啟手機後,在進進設置里往設置,便可以選擇剛才放進的鈴聲了〔簡訊鈴聲設置編制—進進簡訊內—按菜單鍵—進進設置里便可以設置簡訊鈴聲了〕
『肆』 基於android的鬧鍾如何添加和刪除
一、本課題要求:設計一個基於Android的鬧鍾的軟體。
實現的功能有:能通過界面設置鬧鍾的啟動條件建立後台服務進程,當滿足觸發條件時,鬧鍾響應相應事件。
二、需求分析
該課題實現在手機操作系統Android鬧鍾提醒功能,攜帶方便,使用起來靈活、快捷、省心,是一款實用的手機軟體。「手機鬧鍾」可以在後台運行,且能和普通鬧鍾一樣設置多個位置鬧鈴,有良好的人機交互界面,可對其編輯、啟用或禁用,關鍵在於可以自定義設置取消鬧鍾的操作。
(1)系統體系結構包括:添加鬧鈴、設置時間、重復等,鬧鈴提醒方式,返回首頁。
(2)用戶界面設計
解除鬧鈴代碼
(2)代碼分析
開發手機鬧鍾主要用到了AlarmManager類,AlarmManager類提供了訪問系統定時服務的途徑,開發人員可以在程序中設置某個應用程序在未來的某個時刻被執行。當AlarmManager定時時間到了之後,當初注冊的Intent對象將會被系統廣播,進而啟動目標程序。注冊的鬧鍾在設備睡眠的時候仍然會保留,可以選擇性地設置是否喚醒設備,但是當設備關機和重啟後,鬧鍾將會被清除。
在程序運行時當需要使用AlarmManager類時,可以通過Context對象的getSystemService(Context.ALARM_SERVICE)方法來獲得AlarmManager對象。
鬧鍾使用的Demo:com.example.android.apis.app.AlarmController其中設定了兩種鬧鍾,一種是一次性的,一種是重復的。
四、總結
在這個過程中,我學會了很多知識,比如Android環境的搭建和配置問題、Android的構架和基本組建等,同時我學會的最重要的一點是,要利用現有的資源去解決問題,在圖書館、在網路上尋找答案,也可以請教老師或與同學相互討論。雖然,這個軟體目前運行良好,但是我認為代碼的健壯還很差,在整個工程的構思方面也不足,用戶操作界面還不夠靈活,這些問題還需要今後逐一解決。與此同時,這個軟體還可以進一步擴展,例如通過Android Api獲取位置信息,並在指定地點設置鬧鍾提醒等,使功能更加強大,帶給用戶更好的體驗與便捷的生活服務。