- 浏览: 1205240 次
- 性别:
- 来自: 荆州
文章分类
- 全部博客 (396)
- Android 基础 (72)
- Java 基础 (42)
- Android(动画效果) (26)
- Android(自定义组件) (13)
- Android(手机服务) (38)
- Android(网络相关) (27)
- Android(多媒体) (12)
- Android(小技巧) (30)
- Android(用户界面) (39)
- 基础概念 (24)
- Android组件学习 (21)
- Android数据库相关 (11)
- 生活杂谈 (10)
- 调试技巧部分 (8)
- Sql Server相关 (1)
- Android(xml相关) (2)
- Android 开发 (12)
- 韩语学习 (4)
- Mac添加环境变量的三种方法 (1)
- iPhone开发 (1)
- Android Studio (1)
最新评论
-
ppfbsar:
下载网络文件到SD卡上 -
851228082:
好文!彻底理解单类型导入与按需导入的区别了。还有一点可以通过 ...
谈java的导入(import) -
麦田的设计者:
老乡啊
sqlite 数据库保存图片 -
sf_dream:
我要是读写list、map之类的集合呢
ObjectOutputStream和ObjectInputStream类的学习 -
xfyunyun:
博主,请问webview加载html字符串时怎么进行缓存处理呢 ...
WebView使用总结2(加载HTML内容形式的String)
这个应用实现了简单的闹钟功能,关闭程序的状态中也可以进行闹钟的提醒.
遗留了一个问题:
如果我通过应用本身关闭程序,是可以实现我上述所说的功能,但是如果我在手机进程管理中实现应用程序的关闭操作,这个提醒就不起作用了,我很疑惑的是,我通过应用程序本身关闭了后,在进程中也是查看不到这个应用了的.所以哪位知道的帮留个言指点下,谢谢!!!!
ClockDemo.java:
AlarmHelper.java:
CallAlarm.java:
AlarmAlert.java:
ObjectPool.java:
main.xml:
最后贴个配置文件:
看了那么多,估计某些人又嫌烦了,我只贴上代码的目的是希望大家能看代码,而不是电脑上下了一个又一个的源文件,只知道用而不关心其中的技术点,这样就不能举一番三了,O(∩_∩)O哈哈~
为了不同的同学,我还是贴上源文件吧在.....
遗留了一个问题:
如果我通过应用本身关闭程序,是可以实现我上述所说的功能,但是如果我在手机进程管理中实现应用程序的关闭操作,这个提醒就不起作用了,我很疑惑的是,我通过应用程序本身关闭了后,在进程中也是查看不到这个应用了的.所以哪位知道的帮留个言指点下,谢谢!!!!
ClockDemo.java:
package com.example.clock; import java.util.Calendar; import android.app.Activity; import android.app.AlertDialog; import android.app.TimePickerDialog; import android.content.DialogInterface; import android.os.Bundle; import android.view.KeyEvent; import android.view.View; import android.widget.Button; import android.widget.TimePicker; public class ClockDemo extends Activity { private Button mSet; Calendar mCalendar = Calendar.getInstance(); /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); ObjectPool.mAlarmHelper = new AlarmHelper(this); mSet = (Button) findViewById(R.id.mSet); setListener(); } public void setListener() { mSet.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { mCalendar.setTimeInMillis(System.currentTimeMillis()); int mHour = mCalendar.get(Calendar.HOUR_OF_DAY); int mMinute = mCalendar.get(Calendar.MINUTE); new TimePickerDialog(ClockDemo.this, new TimePickerDialog.OnTimeSetListener() { public void onTimeSet(TimePicker view, int hourOfDay, int minute) { mCalendar.setTimeInMillis(System .currentTimeMillis()); mCalendar.set(Calendar.HOUR_OF_DAY, hourOfDay); mCalendar.set(Calendar.MINUTE, minute); mCalendar.set(Calendar.SECOND, 0); mCalendar.set(Calendar.MILLISECOND, 0); ObjectPool.mAlarmHelper.openAlarm(32, "ddd", "ffff", mCalendar.getTimeInMillis()); } }, mHour, mMinute, true).show(); } }); } @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) { showBackDialog(); return true; } return super.onKeyDown(keyCode, event); } /** Give the tip when exit the application. */ public void showBackDialog() { final AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setTitle("提示") .setIcon(R.drawable.icon) .setMessage("是否退出?") .setPositiveButton("sure", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { System.exit(0); android.os.Process .killProcess(android.os.Process .myPid()); dialog.dismiss(); } }) .setNegativeButton("cancel", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); } }); AlertDialog ad = builder.create(); ad.show(); } }
AlarmHelper.java:
package com.example.clock; import android.app.AlarmManager; import android.app.PendingIntent; import android.content.Context; import android.content.Intent; public class AlarmHelper { private Context c; private AlarmManager mAlarmManager; public AlarmHelper(Context c) { this.c = c; mAlarmManager = (AlarmManager) c .getSystemService(Context.ALARM_SERVICE); } public void openAlarm(int id, String title, String content, long time) { Intent intent = new Intent(); intent.putExtra("_id", id); intent.putExtra("title", title); intent.putExtra("content", content); intent.setClass(c, CallAlarm.class); PendingIntent pi = PendingIntent.getBroadcast(c, id, intent, PendingIntent.FLAG_UPDATE_CURRENT); mAlarmManager.set(AlarmManager.RTC_WAKEUP, time, pi); } public void closeAlarm(int id, String title, String content) { Intent intent = new Intent(); intent.putExtra("_id", id); intent.putExtra("title", title); intent.putExtra("content", content); intent.setClass(c, CallAlarm.class); PendingIntent pi = PendingIntent.getBroadcast(c, id, intent, 0); mAlarmManager.cancel(pi); } }
CallAlarm.java:
package com.example.clock; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; public class CallAlarm extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { intent.setClass(context, AlarmAlert.class); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(intent); } }
AlarmAlert.java:
package com.example.clock; import android.app.Activity; import android.app.AlertDialog; import android.content.DialogInterface; import android.os.Bundle; public class AlarmAlert extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); new AlertDialog.Builder(AlarmAlert.this) .setIcon(R.drawable.clock) .setTitle("ddd") .setMessage("fff") .setPositiveButton("ddd", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) { System.exit(0); android.os.Process .killProcess(android.os.Process .myPid()); } }).show(); } }
ObjectPool.java:
public class ObjectPool { /** The alarm object. */ public static AlarmHelper mAlarmHelper; }
main.xml:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <DigitalClock android:id="@+id/dClock" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="40sp" android:textColor="@drawable/blue" /> <Button android:id="@+id/mSet" android:layout_width="100dp" android:layout_height="wrap_content" android:text="@string/str_button1" android:textColor="@drawable/red" android:textSize="18sp" /> </LinearLayout>
最后贴个配置文件:
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.clock" android:versionCode="1" android:versionName="1.0"> <uses-sdk android:minSdkVersion="7" /> <application android:icon="@drawable/icon" android:label="@string/app_name"> <activity android:name=".ClockDemo" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <receiver android:name=".CallAlarm" /> <activity android:name=".AlarmAlert" android:label="@string/app_name" /> </application> </manifest>
看了那么多,估计某些人又嫌烦了,我只贴上代码的目的是希望大家能看代码,而不是电脑上下了一个又一个的源文件,只知道用而不关心其中的技术点,这样就不能举一番三了,O(∩_∩)O哈哈~
为了不同的同学,我还是贴上源文件吧在.....
- ClockDemo.rar (63.5 KB)
- 下载次数: 22
发表评论
-
Android Studio一些使用快捷键
2016-12-17 10:17 67931.command+delete 删除一行代码 2.co ... -
Freeline快速集成
2016-11-11 16:30 78301. Freeline是什么? Freelin ... -
android:installLocation简析
2016-10-08 16:42 6550在Froyo(android 2.2,API Level:8) ... -
防止Service被系统轻易回收
2013-11-09 17:14 7583最近在使用android 4.1系统的时候,发现在手机休眠一段 ... -
手机浏览器打开应用或应用市场
2013-10-17 14:54 2042当在项目中出现下列情形: 应用开发商想对手机注册用 ... -
ListView显示不同布局(模拟ExpandListView)
2013-09-12 15:05 5944public class MainActivity ext ... -
多点触控之MotionEvent.ACTION_MASK作用
2013-07-23 14:49 2025ACTION_MASK在Android中是应用于多点触摸操作, ... -
Using Ant to Automate Building Android Applications
2013-05-23 13:32 2078Using Ant to Automate Building ... -
Android Bitmap getByteCount和getRowBytes
2013-05-03 11:16 2407Bitmap关于内存占用的API 1、getRowB ... -
音频功能实现
2013-04-25 14:49 11421.音频PCM转SPX格式:http://blog.csdn. ... -
MAC下Android的Eclipse开发环境的搭建
2013-04-20 09:42 1107一.Eclipse的下载 ... -
屏幕点亮和关闭广播监听
2013-04-07 21:49 2584private void registerScreenActi ... -
mac上配置adb
2013-04-06 17:50 1295问:为什么要配置ADB ? 答:不配置的话,每次用到ADB都要 ... -
Notification用法复习(3.0以后版本)
2012-11-04 11:33 3131使用Notification的示例代码: public c ... -
Android应用icon图标
2012-07-07 15:02 1537对于Android平台来说,不同分辨率下Icon的大小设计有着 ... -
Android软键盘控制
2012-05-12 17:08 9235整个输入法框架(IMF)结构的核心API,应用程序之间进行调度 ... -
键盘自动弹出
2012-04-25 17:28 1016Timer timer = new Timer(); ... -
Eclipse 默认打开Android xml 布局
2012-04-21 17:02 2052今天新装了Android开发环境后,新建一个工程,打开xml发 ... -
苹果开发android 第一步
2012-04-14 22:50 1161今天开始,准备使用mac来进行android开发,将开发中遇到 ... -
SpannableStringBuilder的简单用法
2012-02-29 14:29 2346一段代码,贴了自己以后看: TextView mText ...
相关推荐
闹钟程序
这是我在学习Timer控件的时候写的一个简单闹钟程序,采用Timer控件来进行闹钟时间提示,利用xml来存储闹钟列表,程序上限制可以设置最大50个闹钟,时间到点后,会在屏幕正中央震动显示一个闹钟窗口,VS2008下编译通过
这个小程序主要知识点是对配置文件的读写,简单实现了闹钟的基本功能和播放音乐的功能
这是一款简单的c# 闹钟程序,大家可以借鉴模仿学习,适合初学者!
本文实例讲述了C#使用timer实现的简单闹钟程序。分享给大家供大家参考。具体如下: 当我在电脑上工作,我经常会被一些东西吸引,比如某宝,结果三个小时过去了我都完全没有注意到。所以我通过C#做了一个简单闹钟程序...
开着电脑睡觉的人有福利了,打开这个网页,设置下闹铃时间,安心睡去吧。时间到后或超过设定的时间铃声自动响起。
安卓小程序,可以运行但不完善,计时时间到了有提示
安卓的简单闹钟,但是增加了关闭闹钟的多种选择方式,比如答题解锁,摇一摇解锁
android闹钟源码安卓时钟闹钟程序源码合集(16例),可以做为你学习设计参考。
android 闹钟程序android 闹钟程序android 闹钟程序
用java做的闹钟程序 这只是比较简单的,能力没达到能做得很精巧的程度
在家无聊时写的闹钟程序,用的WIN-TC,可以实现简单的定时提醒功能,写的很烂,自己没怎么用。
一个简单的闹钟程序。主要逻辑是映射ontimer()函数,设置的临时变量时间 与系统时间相同,响闹铃
一个简单实用的MFC闹钟程序,可无限设置闹钟个数,最小化到托盘。 闹钟界面按ESC键最小化到托盘。 从文件加载图片,方便添加更换背景图片功能。 以前练手用的,可供新手学习使用。 老鸟就别来凑热闹了^_^
自己写的一个单片机时钟,附加闹钟,程序比较简单,但很实用
刚学完winforms桌面应用开发 利用c#写了个闹钟程序 可以供winforms初学人员参考 功能:定时定日期 时间到期自动播放声音并弹出对话框(提示当前时间、当前日期及播放音乐、事先设置的事项)
可以通过这个程序对单片机进行烧写,能有效地实现程序进行计时和闹钟的功能