当前位置:首页 > 代码 > 正文

实现安卓闹钟代码(android定时闹钟)

admin 发布:2022-12-19 19:38 165


本篇文章给大家谈谈实现安卓闹钟代码,以及android定时闹钟对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

Android里用AlarmManger实现设置闹钟 如何设置之前的时间

稍微判断一下,我最近刚做了一个定时任务的功能。代码如下

Calendar calendar = Calendar.getInstance();

calendar.set(Calendar.HOUR_OF_DAY, planOnOff.hour);

calendar.set(Calendar.MINUTE, planOnOff.minute);

if (System.currentTimeMillis()calendar.getTimeInMillis()) {

calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR)+1);

}

operation = PendingIntent.getBroadcast(mContext, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);

am.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), 3600*24*1000, operation);

如果觉得赞,给分吧少年!

android 闹钟设置的几种方法

vivo手机设置闹钟方法:

进入闹钟时钟 → 点击右上角“+”,编辑添加新的闹钟;

OriginOS系统可直接点击桌面闹钟组件语音图标或进入闹钟--右上角语音图标,可以语音创建闹钟;

贪睡小助手 (部分机型支持):进入闹钟时钟--点击需要设置的闹钟--贪睡,开启“贪睡小助手”功能,闹钟贪睡超过5次将自动发送信息给指定的联系人;

闹钟铃声:

OriginOS系统:进入闹钟时钟--点击单个闹钟--更多设置--提醒方式--设置铃声即可;

Funtouch OS/iQOO UI系统:进入闹钟时钟--点击需要设置的闹钟--铃声,选择自定义铃声或者系统备选铃声;

语音播报:进入闹钟时钟--点击需要设置的闹钟--开启“语音播报”,在手动关闭闹钟后,系统将自动为您语音播报当天的天气。

用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代码

?xml version="1.0" encoding="utf-8"?

LinearLayout xmlns: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

界面的效果如下:

3、修改Alarm.java这个activity,在该Activity中需要做这样几件事:

获取界面上的两个按钮组件,并给其绑定事件监听器

第一个时间按钮,点击后,显示时间选择对话框(TimePicker),供选择小时和分钟,并设置闹钟

第二个按钮,点击之后需要当前设定的闹钟

比较难写的代码就是闹钟设置:

//设置时间

Java代码  

timeBtn.setOnClickListener(new Button.OnClickListener(){

@Override

public void onClick(View arg0) {

Log.d(TAG, "click the time button to set time");

calendar.setTimeInMillis(System.currentTimeMillis());

new TimePickerDialog(Alarm.this,new TimePickerDialog.OnTimeSetListener() {

@Override

public void onTimeSet(TimePicker arg0, int h, int m) {

//更新按钮上的时间

timeBtn.setText(formatTime(h,m));

//设置日历的时间,主要是让日历的年月日和当前同步

calendar.setTimeInMillis(System.currentTimeMillis());

//设置日历的小时和分钟

calendar.set(Calendar.HOUR_OF_DAY, h);

calendar.set(Calendar.MINUTE, m);

//将秒和毫秒设置为0

calendar.set(Calendar.SECOND, 0);

calendar.set(Calendar.MILLISECOND, 0);

//建立Intent和PendingIntent来调用闹钟管理器

Intent intent = new Intent(Alarm.this,AlarmReceiver.class);

PendingIntent pendingIntent = PendingIntent.getBroadcast(Alarm.this, 0, intent, 0);

//获取闹钟管理器

AlarmManager alarmManager = (AlarmManager)getSystemService(ALARM_SERVICE);

//设置闹钟

alarmManager.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), pendingIntent);

alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), 10*1000, pendingIntent);

Toast.makeText(Alarm.this, "设置闹钟的时间为:"+String.valueOf(h)+":"+String.valueOf(m), Toast.LENGTH_SHORT).show();

Log.d(TAG, "set the time to "+formatTime(h,m));

}

},calendar.get(Calendar.HOUR_OF_DAY),calendar.get(Calendar.MINUTE),true).show();

}

});

代码里面有注释,这里就不多解释了,其中new TimePickerDialog为创建时间选择对话框。为了能够看到效果,我给闹钟添加了重复提醒:alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), 10*1000, pendingIntent);。

还要为取消闹钟按钮添加事件监听器:

Java代码  

//取消闹钟按钮事件监听

final Button cancelAlarmBtn = (Button)findViewById(R.id.cancelAlarmBtn);

cancelAlarmBtn.setOnClickListener(new Button.OnClickListener(){

@Override

public void onClick(View arg0) {

Intent intent = new Intent(Alarm.this,AlarmReceiver.class);

PendingIntent pendingIntent = PendingIntent.getBroadcast(Alarm.this, 0, intent, 0);

//获取闹钟管理器

AlarmManager alarmManager = (AlarmManager)getSystemService(ALARM_SERVICE);

alarmManager.cancel(pendingIntent);

Toast.makeText(Alarm.this, "闹钟已经取消!", Toast.LENGTH_SHORT).show();

}

});

在点击取消闹钟按钮时,取消之前设置的闹钟,核心代码就4行。

4、编写广播接收器,用来接收闹钟的广播事件,然后进行相关处理,

Java代码  

public class AlarmReceiver extends BroadcastReceiver {

/* (non-Javadoc)

* @see android.content.BroadcastReceiver#onReceive(android.content.Context, android.content.Intent)

*/

@Override

public void onReceive(Context arg0, Intent data) {

Log.d(Alarm.TAG, "the time is up,start the alarm...");

Toast.makeText(arg0, "闹钟时间到了!", Toast.LENGTH_SHORT).show();

}

}

这个代码就很简单了,主要是要继 承 BroadcastReceiver 这个类,然后重写onRecive方法。onRecive方法在闹钟的时间达到之后会执行,在这里我们可以做自己的事情,比如启动某个程序,或者播放铃声,我这里就是简单的提示一下,使用的是Toast。

5、在android的AndroidManifest.xml文件中注册广播接收器:

manifest xmlns:android=""

Xml代码

package="com.ql.activity"

android:versionCode="1"

android:versionName="1.0"

application android:icon="@drawable/icon" android:label="@string/app_name"

receiver android:name=".AlarmReceiver" android:process=":remote" /

activity android:name=".Alarm"

android:label="@string/app_name"

intent-filter

action android:name="android.intent.action.MAIN" /

category android:name="android.intent.category.LAUNCHER" /

/intent-filter

/activity

/application

uses-sdk android:minSdkVersion="8" /

/manifest

核心的配置为receiver android:name=".AlarmReceiver" android:process=":remote" /,这也是闹钟程序的关键,如果不做这个配置,那么时间到了之后,闹钟将不会提示。

接下来就是到模拟器上测试,运行截图如上图。程序源代码见附件。

安卓闹钟代码怎么设置周期问题 比如每周的星期几会响铃

可以设置啊,你点一下你设置的时间,会出现一排设置,其中有一个“重复”,你点它,然后就会出现星期一一直到星期七的日期,你想让它周几响,它就周几响

Android开发一个简单实用的闹铃APP

生活中我们会常常遇到需要闹钟提醒;不管是起床还是生活中的事件提醒。

那作为Android开发如何自己开发一个闹钟功能呢,是不是觉得很酷呢?接下来我们就实战一个闹钟。

本示例采用的是RecyclerView,其适配器类与常无二,其异在于继承一个代理类,为适配之后侧滑删除而准备

建立一个内部类ViewHolder实现控件定义申明

实现onCreateViewHolder方法载入子项布局文件

绑定实体类,实现onBindViewHolder获取数据

此处有三处状态,第一种状态:第一次进入程序,默认加载固定闹钟子项;第二种状态:进入添加子项页面,然后返回其主页面,并判断其switch是否为ture,如果为ture则添加子项;第三种状态:程序被系统回收或者用户停止程序,并再次进入程序,防止加载前一时刻闹钟子项;

添加依赖 实现侧滑主要依赖于一个第三方包,然后使用RecyclerView进行子项绑定 依赖如下:

并在目录build.gradle包下添加如下库

其实现侧滑删除主要的玄机在于布局文件当中,使用RelativeLayout布局,将删除按钮固定在布局右方,并使用其他布局将其覆盖,只有滑动时,才将其显示。掩盖侧滑删除按钮与暴露侧滑删除按钮效果对比图如下

然后,在适配器类中,实现WeSwipeHelper.SwipeLayoutTypeCallBack接口,实现如下三个方法,第一个方法为获取侧滑删除按钮的宽度;第二个方法为需要滑动的视图,也就是覆盖侧滑删除按钮的布局;第三个方法为当视图正在滑动时,用户触发单击事件,自动还原滑动状态

最后,在需要添加子项的视图中绑定RecyclerView即可

通过监听子项滑动删除按钮点击事件,实现子项删除

跳转新增闹钟子项Acticity需要传输实体类对象,传输对象一般需要序列化改类,其操作如下

定义实体类,并实现序列化

然后通过Intent传输Bundle对象

实现时间选择主要使用系统集成的组件TimePicker,其使用方法如下 其有两种显示方式,第一种为spinner,就是下拉滑动式,第二种为clock,即显示一个时钟,通过滑动指针选择时间

在style.xml文件中申明如下样式

然后再指定Activcty申明即可

获取数据比较简单,实现对应接口即可

将获取的数据通过SharedPreferences存储起来,然后点击存储时,进行页面跳转,然后再该界面进行取出数据

存储数据

首先判断回调的switch数据是否为ture,如果为ture则保存该子项,然后再适配器类中进行数据添加

选中与默认两种状态效果图如下

创建thumb和track样式

创建一个选择器文件,有选中和默认两种状态

创新open_thumb.xml文件

创建shut_thumb.xml文件

同样创建一个选择器,并用于两种状态

其中AlarmManager为系统主要操作类,参数为提醒模式、提醒时间(long型)、PendingIntent对象 以下有三种时间传入,第一种,直接传入一个Long型时间用于测试,第二种,通过设置系统启动至今而设置时间,第三种,通过取出设置的时间,然后获取系统当前时间,将其差传入其中。

然后再清单文件中注册服务

使用Intent实现服务启动

杀死程序

本示例总共使用到了三个单例类:SP(SharedPreferences封装)、TimeFormat(时间数据格式封装)、KillProcess(杀死所有Activity)

SharedPreferences

KillProcess

文章带这里就完成了一个简单的闹钟;Android开发还有许多更加更多的知识学习。进一步学习Android技术,我这里推荐这份笔记方便学习,我就放在私信, 发送“核心笔记”或“手册”即可获取。朋友们可以免费领取!

求大神一句句翻译下代码,这是一个android里小闹钟的一段

public void setListener() { //定义一个不用返回值的方法setListener()

mSet.setOnClickListener(new View.OnClickListener() { //给mSet设置单击监听器,实例化一个单击监听器

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,//新建一个TimePickerDialog实例

new TimePickerDialog.OnTimeSetListener() {//新建一个TimePickerDialog实例的设置时间的监听器

public void onTimeSet(TimePicker view,

int hourOfDay, int minute) {//实现监听器类的设置时间的方法

mCalendar.setTimeInMillis(System

.currentTimeMillis());//将mCalendar的时间设置为系统当前时间的毫秒

mCalendar.set(Calendar.HOUR_OF_DAY, hourOfDay);//将mCalendar的小时设置为通过timePicker设置的小时值

mCalendar.set(Calendar.MINUTE, minute);//将mCalendar的分钟设置为通过timePicker设置的分钟值

mCalendar.set(Calendar.SECOND, 0);//将mCalendar的秒设置为0

mCalendar.set(Calendar.MILLISECOND, 0);//将mCalendar的毫秒设置为0

ObjectPool.mAlarmHelper.openAlarm(32, "ddd",

"ffff", mCalendar.getTimeInMillis()); //设置闹钟

}

}, mHour, mMinute, true).show();//显示闹钟

}

});

}

你给的这段代码不完整

实现安卓闹钟代码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于android定时闹钟、实现安卓闹钟代码的信息别忘了在本站进行查找喔。

版权说明:如非注明,本站文章均为 AH站长 原创,转载请注明出处和附带本文链接;

本文地址:http://ahzz.com.cn/post/20903.html


取消回复欢迎 发表评论:

分享到

温馨提示

下载成功了么?或者链接失效了?

联系我们反馈

立即下载