Android之实现简单小闹钟

Android实战—闹钟的简单实现 package com.example.lenovo.clock2; import android.app.AlarmManager; import android.app.PendingIntent; import android.app.TimePickerDialog; import android.content.Context; import android.content.Dialo 阅读详情

小闹钟程序开发中的要点就是:

      1、时间选择对话框(TimePicker)

      2、获取闹钟管理器并对其进行设置

      3、注册广播接收器

布局文件(一次性闹钟)

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_main"
    android:layout_width="match_parent" android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.pxd.alarmandnotice.MainActivity">
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="设置一次性闹钟"
        android:onClick="alarmOne"
        />
</LinearLayout>
MainActivity.java
package com.pxd.alarmandnotice;

import android.app.AlarmManager;
import android.app.PendingIntent;
import android.app.TimePickerDialog;
import android.content.Context;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.TimePicker;
import java.util.Calendar;

public class MainActivity extends AppCompatActivity {
    private AlarmManager alarmManager;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //获取闹钟的管理者
        alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
    }
    public  void  alarmOne(View view){
        //获取当前系统的时间
        Calendar calendar=Calendar.getInstance();
        int hour=calendar.get(Calendar.HOUR_OF_DAY);
        int minute=calendar.get(Calendar.MINUTE);
        //弹出时间对话框
        TimePickerDialog timePickerDialog=new TimePickerDialog(this, new TimePickerDialog.OnTimeSetListener() {
            @Override
            public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
                Calendar c=Calendar.getInstance();
                c.set(Calendar.HOUR_OF_DAY,hourOfDay);
                c.set(Calendar.MINUTE,minute);
                //时间一到,发送广播(闹钟响了)
                Intent intent=new Intent();
                intent.setAction("com.pxd.alarmandnotice.RING");
                //将来时态的跳转
                PendingIntent pendingIntent=PendingIntent.getBroadcast(MainActivity.this,0x101,intent,0);
              //设置闹钟
                alarmManager.set(AlarmManager.RTC_WAKEUP,c.getTimeInMillis(),pendingIntent);
       }
        },hour,minute,true);
        timePickerDialog.show();
    }
}

广播接受者:RingReceived
package com.pxd.alarmandnotice;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.util.Log;
public class RingReceived extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        if("com.pxd.alarmandnotice.RING".equals(intent.getAction())){
            Log.i("test","闹钟响了");
            //跳转到Activity n //广播接受者中(跳转Activity)
            Intent intent1=new Intent(context,RingActivity.class);
            //给Intent设置标志位
            intent1.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            context.startActivity(intent1);
        }
    }
}

要跳转的Activity,RingActivity播放音乐
package com.pxd.alarmandnotice;
import android.media.MediaPlayer;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;

public class RingActivity extends AppCompatActivity {
    private MediaPlayer mediaPlayer;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_ring);
      //时间一到跳转Activity,在这个Activity中播放音乐
        mediaPlayer = MediaPlayer.create(this, R.raw.one);
        mediaPlayer.start();
    }
    public void stop(View view){
        mediaPlayer.stop();
        finish();
    }

}

响铃闹钟布局,activity_ring.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
  >
    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="起床了!!!"
        android:textSize="30sp"
        />
    <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="停止"
        android:onClick="stop"
        />
</LinearLayout>

实现周期性闹钟只需把
 //设置闹钟
 alarmManager.set(AlarmManager.RTC_WAKEUP,c.getTimeInMillis(),pendingIntent)
改为:我这里设置的是5秒响一次
 //设置周期闹钟(5秒)
  alarmManager.setRepeating(AlarmManager.RTC_WAKEUP,c.getTimeInMillis(),5000, pendingIntent);
       
//停止闹钟
public void cancelMany(View view){
    alarmManager.cancel(pendingIntent);
}
这样一个简单的小闹钟就可以实现了。







笔记58 | Android闹钟的简单实现 调度重复的闹钟闹钟(基于AlarmManager类)给予你一种在应用使用期之外执行与时间相关的操作的方法。你可以使用闹钟初始化一个长时间的操作,例如每天开启一次后台服务,下载当日的天气预报。闹钟具有如下特性: 允许你通过预设时间或者设定某个时间间隔,来触发Intent; 你可以将它与BroadcastReceiver相结合,来启动服务并执行其他操作; 可在应用范围之外执行,所以你可以在你的应用没有运 阅读详情

相关推荐

【Android】开发一个简单时钟应用每天看时间起床

有没有想过,家里闲置不用的旧手机可以当时钟闹钟来用,觉得这个想法可以吧,把闲置手机充分利用起来了呢,接下来给大家讲一下如何实现,功能简单,可以当作编程入门课。

4743

Android实现简易闹钟(附带源码)

Android实现简易闹钟(附带源码)

欢迎来到我的博客!这里是一个专注于计算机技术的分享平台,涵盖编程开发、算法研究、系统架构、软件工程等多个领域。无论你是初学者还是资深开发者,都能在这里找到有价值的内容。 1580

Android一个小闹钟例子

一个Android实现的小闹钟例子,非常简单,详细请看:http://blog.youkuaiyun.com/dawanganban/article/details/19967445

android简易小闹钟

实现效果:点击主活动上的按钮,弹出一个带有时间选择器的对话框(TimePickerDialog),设置时间后Toast"设置成功"。到设置的时间后在AlarmActivity弹出显示时间到的对话框。   实现原理:使用AlarmManager类向系统请求一个定时任务,到时间时系统会发送一个广播,接受这个广播并做相应的操作即可。    1.主活动代码import android.

zhang___yong的博客 1789

android简单闹钟小程序

安卓的简单闹钟,但是增加了关闭闹钟的多种选择方式,比如答题解锁,摇一摇解锁

基于安卓的闹钟APP

使用Android开发的闹钟APP,可以实现设定震动,选择闹铃,设置重复时间等功能。

Android Studio多功能闹钟[android源码]

Android Studio多功能闹钟[android源码]多功能闹钟App简 介主 要 技 术界面截图主要代码源码链接作者信息 多功能闹钟App 简 介 此多功能闹钟界面采用TabHost框架,头部包含分别用LinearLayout水平布局显示四个标签闹钟,时钟,计时器和秒表,FrameLayout框架内部采用LinearLayout垂直布局。功能事件的基本实现分别有AlarmView...

CodeRain的博客 1万+

Android闹钟开发

一个比较简单的闹钟小程序,只有设置闹钟和删除闹钟两个功能,但是用线程解决了了安卓系统目前存在的自己开发的闹钟响铃时间不准确的问题

android 实现系统闹钟

Android 实现系统闹钟的简单示例 在如今快节奏的生活中,闹钟作为时间管理的一个重要工具,备受人们的青睐。Android 提供了多种方式来实现闹钟功能。本文将介绍如何在 Android 应用中实现简单的闹钟功能,并附上相应的代码示例。 1. 创建闹钟应用所需的准备工作 首先,你需要在你的 Android 项目的 And...

weixin_41370210的博客 1060

Android实现闹钟的所有功能(Android studio)

闹钟是基于Android studio开发的一款打扰睡觉的app,功能实现闹铃、添加、删除

PX4实战指南:通过遥控器通道映射实现多舵机PWM精准控制

本文详细介绍了通过PX4飞控的AUX PWM接口实现遥控器通道映射控制多舵机的实战指南。内容包括硬件选型与连接、软件参数配置、通道映射方法以及常见问题排查,帮助开发者精准实现无人机舵机PWM控制,适用于云台、机械臂等扩展功能开发。

ee345的博客 304

Android开发学习之闹钟功能的简单实现

Alarm就是我们通常说的闹钟,其实,在Android中实现一个简单的闹钟功能并不是很难,原理就是在特定的事件广播一个Intent,然后系统收到这个广播以后,做出一个反应( Receive)。在Android中提供了四种类型的闹钟,分别是ELAPSED_REALTIME(在指定的延时后广播通知,不唤醒设备)、ELAPSED_REALTIME_WAKEUP(在指定的延时后广播通知,唤醒设备)、 RT

素履独行 | 元培的个人博客 9017

RAD Studio 12安装全攻略:从下载到破解InterBase的完整流程(附KeyPatch使用技巧)

本文提供RAD Studio 12的完整安装指南,包括系统要求、安装步骤及InterBase数据库的高效配置方法。详细介绍了如何使用KeyPatch工具进行许可证处理,并分享了IDE优化和开发技巧,帮助开发者快速上手这一强大的跨平台开发工具。

q6r7s8t9的博客 951

简单实现Android闹钟功能,Android实现简易闹钟功能

本文实例为大家分享了Android通过广播来实现闹钟的具体代码,供大家参考,具体内容如下1.创建广播接收RepeatingAlarm.javaimport android.content.BroadcastReceiver;import android.content.Context;import android.content.Intent;import android.util.Log;pub...

weixin_32667011的博客 2841

薛定谔虚拟筛选实战:如何用PDB文件快速构建受体格点(避坑指南)

本文提供了薛定谔虚拟筛选实战指南,聚焦于如何从PDB文件快速、精准地构建受体格点。文章详细解析了可变残基的理性处理策略、基于配体尺寸的盒子量化设置方法,并分享了高级约束与排除体积的实战技巧,旨在帮助用户避开常见陷阱,提升虚拟筛选的成功率与效率。

weixin_28419039的博客 254

SWD下载调试接口原理深度剖析

作为ARM嵌入式工程师,下载调试器都应该知道,但你真正了解SWD如何下载调试的么?ARM 芯片通过什么物理接口和什么方式连接完全取决于芯片Debug子系统的架构如何?

zhuwade的博客 1万+

基于android系统的闹钟,基于Alarmmanager实现简单闹钟功能

本文实例为大家分享了Alarmmanager实现简单闹钟功能的具体代码,供大家参考,具体内容如下代码:activity_main.xmlandroid:layout_width="match_parent"android:layout_height="match_parent">android:layout_width="wrap_content"android:layout_height=...

weixin_35833704的博客 393

微信小程序 - 实现仿小红书轮播图组件功能,类似小红书笔记页面图片展示播放效果,微信小程序仿小红书幻灯片轮播支持视频播放、图片预览,自动适应图片或视频大小可左右滑动切换(小程序精美轮播图,丝滑切换)

微信小程序,轮播图组件,微信小程序仿小红书轮播图,小红书轮播图仿造,微信小程序轮播图,微信小程序幻灯片,微信小程序高仿小红书轮播图实现,小程序实现类似小红书一样的轮播图组件,轮播图插件,精致轮播图,精美丝滑流畅切换的轮播图,轮播图组件,小红薯轮播图,关于小红书的小程序不同数量的轮播图,展示不一样的轮播指示点的实现,微信小程序仿小红书图片轮播,开发微信小程序模仿小红书,高仿小红书Banner的指示器,小红书小程序笔记详情轮播图指示点的随图片数量的变化动态变化,微信小程序swiper轮播图,js轮播图,html

✅ 精选推荐文章 6931

简单实现 Android 闹钟

Android 闹钟 比如:一次闹钟响过之后开关变为关的状态;直接点击开关不能实现开关闹钟的作用,需要在点击item的菜单中进行更改;未知原因闹钟不准时,不能及时响应,求大神讲解 话不多说,看代码 MainActivity import android.app.Activity; import android.app.AlarmManager; import android.app.Alert...

weixin_43858255的博客 669

融合Retinex理论与Transformer的YOLOv8低光照目标检测增强方法【YOLOv8】

图像分解:将输入图像分解为光照成分和反射成分。光照估计:估计光照图以消除暗光区域。图像重建:将光照增强后的反射图像重建成最终图像。Retinexformer通过在Transformer中引入Retinex的图像增强思路,使得低光照图像的细节能够得到充分保留。本文提出了一种基于Retinexformer的低光照增强方法,用于改进YOLOv8模型在夜间和低光照环境下的目标检测性能。

博客 1929

深度学习在传感器数据分析中的创新应用

传感器是物理世界与数字世界的“接口”,其生成的高维、时序、多源数据蕴含着设备状态、环境变化、用户行为等关键信息。传统传感器数据分析依赖手工特征工程与简单机器学习模型,难以应对复杂场景下的非线性、长程依赖与实时性需求。深度学习通过自动特征提取非线性建模与端到端学习,成为传感器数据处理的革命性工具。本文从概念基础理论框架架构设计实现机制到实际应用,系统拆解深度学习与传感器数据的融合逻辑,结合工业预测维护医疗健康监测智能交通等场景,揭示其技术边界与未来演化方向。

大数据洞察的博客 568

Android通过AlarmManager类实现最简单的闹钟

Android通过AlarmManager类实现闹钟简介   闹钟是生活中最常用的功能了,很多App都可以加入该功能,提醒用户某个时刻要做的事情。在Android系统中可以通过AlarmManager类实现闹钟,AlarmManager类是专门用来设定在某个指定的时间去完成指定的事件。AlarmManager提供了访问系统警报的服务,只要在程序中设置了警报服务,AlarmManager就会通过o

清风丶徐来的博客 2708

【Proteus仿真】点亮小灯系列仿真——小灯闪烁/流水灯/交通灯

本文介绍了基于AT89C51单片机的LED控制案例,共包含5个实例:1)单个LED闪烁;2)共阳极流水灯;3)共阴极流水灯;4)花样流水灯;5)交通灯模拟。每个案例详细说明了电路原理图、接线方式和控制程序实现,其中重点讲解了PWM调光原理及其在LED控制中的应用。案例由简至繁,从基础I/O控制到复杂花样显示,最后实现交通灯逻辑控制,展示了单片机在LED控制中的典型应用方法。文中提供了完整的源代码,便于读者理解和实践。

XU157303764的博客 1883

PHP做闹钟APP,Android_简单实现Android闹钟程序 附源码,这个应用实现了简单的闹钟功 - phpStudy...

简单实现Android闹钟程序 附源码这个应用实现了简单的闹钟功能,关闭程序的状态中也可以进行闹钟的提醒。这里遗留了一个问题:如果我通过应用本身关闭程序,是可以实现我上述所说的功能,但是如果我在手机进程管理中实现应用程序的关闭操作,这个提醒就不起作用了,我很疑惑的是,我通过应用程序本身关闭了后,在进程中也是查看不到这个应用了的。所以哪位知道的帮留个言指点下,谢谢。ClockDemo.javapac...

weixin_33509600的博客 153

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

jquery实现app开发闹钟功能_简单实现Android闹钟程序 附源码

这个应用实现了简单的闹钟功能,关闭程序的状态中也可以进行闹钟的提醒。这里遗留了一个问题:如果我通过应用本身关闭程序,是可以实现我上述所说的功能,但是如果我在手机进程管理中实现应用程序的关闭操作,这个提醒就不起作用了,我很疑惑的是,我通过应用程序本身关闭了后,在进程中也是查看不到这个应用了的。所以哪位知道的帮留个言指点下,谢谢。ClockDemo.javapackage com.example.cl...

weixin_39725154的博客 233

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

上一篇: Android录像和拍照功能实例
下一篇: Android解析XML的三种方式
d_shadow
博客等级 码龄10年 42粉丝 10原创
评论 6
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值