闹钟

Android闹钟 AlarmManager的使用

岁酱吖の 提交于 2019-12-22 05:50:46
Android闹钟 AlarmManager的使用 AlarmManager介绍    AlarmManager 这个类提供对系统闹钟服务的访问接口。   你可以为你的应用设定一个在未来某个时间唤醒的功能。   当闹钟响起,实际上是 系统发出了为这个闹钟注册的广播 ,会自动开启目标应用。   注册的闹钟在设备睡眠的时候仍然会保留,可以选择性地设置是否唤醒设备,但是 当设备关机和重启后,闹钟将会被清除 。   在alarm的receiver的 onReceive() 方法被执行的时候,Alarm Manager持有一个 CPU唤醒锁 ,这样就保证了设备在处理完广播之前不会sleep。   一旦onReceive()方法返回,Alarm Manager就会释放这个锁,表明一些情况下可能onReceive()方法一执行完设备就会sleep。   如果你的alarm receiver中调用了 Context.startService() ,那么很可能service还没起来设备就sleep了。   为了阻止这种情况,你的BroadcastReceiver和Service需要实现不同的唤醒锁机制,来确保设备持续运行到service可用为止。    注意 :Alarm Manager主要是用来在特定时刻运行你的代码,即便是你的应用在那个特定时刻没有跑的情况。    对于常规的计时操作(ticks

AlarmManager实现闹钟功能

本秂侑毒 提交于 2019-12-22 05:50:32
一:AlarmManager简介 1、AlarmManager,顾名思义,就是“提醒”,是Android中常用的一种系统级别的提示服务,可以实现从指定时间开始,以一个固定的间隔时间执行某项操作,所以常常与广播(Broadcast)连用,实现闹钟等提示功能 2、AlarmManager的常用方法有三个: (1)set(int type,long startTime,PendingIntent pi); 该方法用于设置一次性闹钟,第一个参数表示闹钟类型,第二个参数表示闹钟执行时间,第三个参数表示闹钟响应动作。 (2)setRepeating(int type,long startTime,long intervalTime,PendingIntent pi); 该方法用于设置重复闹钟,第一个参数表示闹钟类型,第二个参数表示闹钟首次执行时间,第三个参数表示闹钟两次执行的间隔时间,第三个参数表示闹钟响应动作。 (3)setInexactRepeating(int type,long startTime,long intervalTime,PendingIntent pi); 该方法也用于设置重复闹钟,与第二个方法相似,不过其两个闹钟执行的间隔时间不是固定的而已。 3、三个方法各个参数详悉: (1)int type:闹钟的类型,常用的有5个值:AlarmManager.ELAPSED

20189210 移动平台开发第十二周作业

本秂侑毒 提交于 2019-12-20 04:07:56
第47章服务 服务(service)是一种Android组件。服务没有用户界面,并且在后台运行。它适用于长时间运行的操作。 服务和在其中声明服务的应用程序在相同的进程上运行,并且在应用程序的主线程上运行。 服务可以采取两种形式之一,它可以是启动的或绑定的。 如果一个组件启动了服务,它就是启动的。即便启动服务的组件已经不再接受服务或者被销毁了,该服务还可以在后台无限期地运行。 如果应用程序组件绑定到服务,该服务就是绑定的。绑定的服务就像是客户端-服务器关系中的一台服务器,接受来自其他应用程序组件的请求,并且返回结果。 术语可访问性(accessibility),表示一个服务可以是私有的或公有的。公有的服务器可以由任何的应用程序调用,私有的服务器只能够由服务声明所在的相同的应用程序之中的组件来访问。 服务必须在清单中的之下使用service元素来声明。 第48章广播接收器 Android系统总是会将在操作系统和应用程序运行期间发生的意图进行广播。此外,应用程序也可以广播用户定义的意图,可以通过在应用程序中编写广播接收器来利用这些广播。 广播接收器是一个应用程序组件,它监听一个特定意图广播,类似于监听事件的Java监听器。 基于时钟的广播接收器 第49章 闹钟服务 相关方法: set(int type,long startTime,PendingIntent pi):一次性闹钟

Android中的定时器AlarmManager

百般思念 提交于 2019-12-05 02:36:21
在Android上常用的定时器有两种,一种是Java.util.Timer,一种就是系统的AlarmService AlarmManager的作用文档中的解释是:在特定的时刻为我们广播一个指定的Intent。简单的说就是我们设定一个时间,然后在该时间到来时,AlarmManager为我们广播一个我们设定的Intent,常用方法有五个: (1)set(int type,long startTime,PendingIntent pi); 该方法用于设置一次性闹钟,第一个参数表示闹钟类型,第二个参数表示闹钟执行时间,第三个参数表示闹钟响应动作。 (2)setRepeating(int type,long startTime,long intervalTime,PendingIntent pi); 该方法用于设置重复闹钟,第一个参数表示闹钟类型,第二个参数表示闹钟首次执行时间,第三个参数表示闹钟两次执行的间隔时间,第四个参数表示闹钟响应动作。类似JAVA的Timer里面scheduleAtFixedRate(TimerTask task, long delay, long period):在反复执行一个task的计划时,每一次 执行这个task的计划执行时间在最初就被定下来了,也就是scheduledExecutionTime(第n次)=firstExecuteTime +n

Linux C alarm的使用

匿名 (未验证) 提交于 2019-12-02 21:59:42
头文件:#include <unistd.h> 参数:秒数 返回值:当前进程中上一个闹钟剩余的时间。 功能:程序中的闹钟函数。返回值是本进程中上一个闹钟的剩余时间数;若有多个闹钟,已最后一个闹钟时间为准,即会覆盖前面的时间,若只有一个闹钟,则返回0。 #include <stdio.h> #include <unistd.h> int main() { printf("alarm1:%d\n",alarm(2)); //printf("alarm2:%d\n",alarm(5)); while(1) { printf("Hello this is pompey\n"); sleep(1); } return 0; } #include <stdio.h> #include <unistd.h> int main() { printf("alarm1:%d\n",alarm(2)); printf("alarm2:%d\n",alarm(5)); while(1) { printf("Hello this is pompey\n"); sleep(1); } return 0; } 文章来源: Linux C alarm的使用

电脑也能设置闹钟

谁说我不能喝 提交于 2019-12-02 13:23:55
  我们平时都习惯用手机设置闹钟,其实电脑也可以设置闹钟哦。这个功能很多人都不知道。如果你需要在某个时间用电脑做某项工作的话,那么记得用电脑设置闹钟提醒哦,下面是具体的操作方法。   依次点击“开始——程序——附件——系统工具——任务计划程序”后打开“任务计划”,在弹出的右键菜单中选择创建任务选项,在常规选项中输入名称和描述,然后切换到触发器选项卡后点击新建。 在打开的“新建触发器”中勾选“每周”项,同时勾选星期一至星期五,并且设置好时间,最后点击确定就设置成功了。设置好之后,返回主界面,可以选中刚才新建的任务,点击运行来测试一下。 来源: https://www.cnblogs.com/2020n/p/11746467.html

对象和类的理解

半城伤御伤魂 提交于 2019-12-01 09:49:18
什么是对象 程序中的对象是对现实对象的抽象。 现实中的对象包括可感知的物体以及思维中的概念。 例如,天鹅、闹钟、飞机等各种物体可以看做一个个的对象,学校、公司、家庭等概念也可以看做一个个的对象。现实对象有一个特点,即它是具有属性和行为的整体。例如一个闹钟具有当前时间刻度、预定时间等“属性”,并具有指示时间、响铃等“行为”;而学校则具有学生、教师等“属性”,并具有招生、教育等“行为”。 在程序中,属性可以抽象成数据,而行为可以抽象成函数,一个数据和函数的集合就构成了一个对象。 提示 程序中的对象是一个整体,其属性和行为不可分离。要访问对象的属性(数据)和行为(函数)只能通过对象进行。例如要查看闹钟的“当前时间”或“预定时间”,只能通过闹钟这个对象进行,指示时间和响铃也只能通过闹钟进行。由此带来的一个好处是可以对相关的数据和函数按照需要分类管理,从而提高程序代码的可读性,以及软件的可维护性。 例如,在程序中表示一个闹钟对象,可以先定义一个表示时间的结构体Time(其成员可以是三个整数,分别表示时、分、秒),然后用Time的两个变量分别表示“当前时间”和“预定时间”属性。对于“指示时间”和“到时响铃”两种行为,可以分别用两个函数表示,如图12-1所示,左图是现实中的闹钟对象,右图是程序中的闹钟对象。 什么是类 无论是在现实世界中,还是在程序中,对象都是一个完整的个体

基于RT-thread低功耗远程NB-IOT开锁,实现NB-IOT+STM32L4待机功耗5uA。

不打扰是莪最后的温柔 提交于 2019-11-27 17:03:34
先上结果,实现了NB+STM32L4待机时的功耗为5uA。当然可以看到,我这只是MCU+NB的功耗。 项目整体简介: 整个项目基于RT-thread系统搭建,类似于共享单车的模式,是为共享锁,由微信小程序扫码然后远程开锁,并对锁的控制,需要有低功耗。 小程序界面 板子照片 MCU为STM32L431CCT6 ,NBIOT采用有人NB73,板子集成了电机驱动芯片(用来控制门锁驱动电机)蜂鸣器驱动,以及一个超低静态电流的LDO,以及低功耗的电压检测电路。 最终整个板子的功耗为30uA,MCU+NBIOT+LDO+电压检测电路。 低功耗实现 整个系统最重要的就是低功耗的实现,在这里除了特别选用了STM32L4的MCU,以及电路上其他器件的选型也特别重要,特别是稳压芯片的的静态电路不容忽视。 除此之外,也还要有软件上的控制,这里我使用的RT-thread的PM组件,进入了待机模式,并设置了两个唤醒按键以及RTC定时唤醒。 设置唤醒按键的HAL库函数如下 HAL_PWR_EnableWakeUpPin(PWR_WAKEUP_PIN1_HIGH|PWR_WAKEUP_PIN2_HIGH); 设置PIN1高电平唤醒以及PIN2高电平唤醒,在此之前,由于系统进入待机模式后,所有IO都处于复位状态,为了避免误动作,需要使用如下函数,来设置待机模式的引脚状态。 HAL_PWREx

JAVA可视化闹钟源码

て烟熏妆下的殇ゞ 提交于 2019-11-26 14:50:58
概述 一些同学的Java课设有这样一个问题,比较感兴趣就做了一下 功能介绍: 1、可增加闹钟 2、可删除闹钟 3、时间到了响铃 4、关闭闹钟不会丢失闹钟(因为闹钟存储在txt文件中,不会因程序关闭就终止) 缺点 1、没有使用多线程,闹钟响起时只能等待1分钟或者关闭程序 2、界面设计不够美观,后期有时间会进行修改,重新设计 3、没有闹钟修改的功能,虽然可以通过增删来达到修改的目的,但功能仍然属于空缺范围