android手机时钟、闹钟、计时器、秒表app源码

news/2024/11/7 16:47:58/

简 介
此多功能闹钟界面采用TabHost框架,头部包含分别用LinearLayout水平布局显示四个标签闹钟,时钟,计时器和秒表,FrameLayout框架内部采用LinearLayout垂直布局。功能事件的基本实现分别有AlarmView类,AlarmReceiver类,PlayAlarmAty类, TimeView类和StopWatch类完成。

文件:url80.ctfile.com/f/25127180-743590078-de4c7b?p=551685 (访问密码: 551685)

主 要 技 术

此多功能闹钟界面采用TabHost 框架,头部包含分别用LinearLayout水平布局显示四个标签闹钟,时钟,计时器和秒表,FrameLayout框架内部采用LinearLayout垂直布局。功能事件的基本实现分别有AlarmView类,AlarmReceiver类,PlayAlarmAty类, TimeView类和StopWatch类完成。


global聚合是全局聚合,是对所有的文档进行聚合,而不受查询条件的限制。

global 聚合器只能作为顶级聚合器,因为将一个 global 聚合器嵌入另一个桶聚合器是没有意义的。

比如: 我们有50个文档,通过查询条件筛选之后存在10个文档,此时我想统计总共有多少个文档。是50个,因为global统计不受查询条件的限制。

2、filters
定义一个多桶聚合,其中每个桶都与一个过滤器相关联。每个桶都会收集与其关联的过滤器匹配的所有文档。

比如: 我们总共有50个文档,通过查询条件筛选之后存在10个文档,此时我想统计 这10个文档中,出现info词语的文档有多少个,出现warn词语的文档有多少个。

3、cardinality
类似于 SQL中的 COUNT(DISTINCT(字段)),不过这个是近似统计,是基于 HyperLogLog++ 来实现的。

3、需求
我们有一组日志,每条日志都存在id和message2个字段。此时根据message字段过滤出存在info warn的日志,然后进行统计:

系统中总共有多少条日志(global + cardinality)
info和warn级别的日志各有多少条(filters)
4、前置条件
4.1 创建mapping
PUT /index_api_log
{
“settings”: {
“number_of_shards”: 1
},
“mappings”: {
“properties”: {
“message”:{
“type”: “text”
},
“id”: {
“type”: “long”
}
}
}
}
4.2 准备数据
PUT /index_api_log/_bulk
{“index”:{“_id”:1}}
{“message”: “this is info message-01”,“id”:1}
{“index”:{“_id”:2}}
{“message”: “this is info message-02”,“id”:2}
{“index”:{“_id”:3}}
{“message”: “this is warn message-01”,“id”:3}
{“index”:{“_id”:4}}
{“message”: “this is error message”,“id”:4}
{“index”:{“_id”:5}}
{“message”: “this is info and warn message”,“id”:5}
5、实现3的需求
5.1 dsl
POST /index_api_log/_search
{
“size”: 0,
“query”: {
“bool”: {
“must”: [
{
“match”: {
“message”: “info warn”
}
}
]
}
},
“aggregations”: {
“agg_01”: {
“filters”: {
“filters”: {
“info”: {
“match”: {
“message”: “info”
}
},
“warn”: {
“match”: {
“message”: “warn”
}
}
},
“other_bucket”: true,
“other_bucket_key”: “other”
}
},
“agg_02”:{
“global”: {},
“aggs”: {
“total”: {
“cardinality”: {
“field”: “id”,
“precision_threshold”: 30000
}
}
}
}
}
}
5.2 java 代码
@Test
@DisplayName(“global and filters and cardinality 聚合”)
public void test01() throws IOException {
SearchRequest request = SearchRequest.of(searchRequest ->
searchRequest.index(“index_api_log”)
// 查询 message 中存在 info 和 warn 的日志
.query(query -> query.bool(bool -> bool.must(must -> must.match(match -> match.field(“message”).query(“info warn”)))))
// 查询的结果不返回
.size(0)
// 第一个聚合
.aggregations(“agg_01”, agg ->
agg.filters(filters ->
filters.filters(f ->
f.array(
Arrays.asList(
// 在上一步query的结果中,将 message中包含info的进行聚合
Query.of(q -> q.match(m -> m.field(“message”).query(“info”))),
// 在上一步query的结果中,将 message中包含warn的进行聚合
Query.of(q -> q.match(m -> m.field(“message”).query(“warn”)))
)
)
)
// 如果上一步的查询中,存在非 info 和 warn的则是否聚合到 other 桶中
.otherBucket(true)
// 给 other 桶取一个名字
.otherBucketKey(“other”)
)
)
// 第二个聚合
.aggregations(“agg_02”, agg ->

                        agg// 此处的 global 聚合只能放在顶部.global(global -> global)// 子聚合,数据来源于所有的文档,不受上一步query结果的限制.aggregations("total", subAgg ->// 类似于SQL中的 count(distinct(字段)),是一个近似统计subAgg.cardinality(cardinality ->// 统计的字段cardinality.field("id")// 精度,默认值是30000,最大值也是40000,不超过这个值的聚合近似准确值.precisionThreshold(30000))))
);
System.out.println("request: " + request);
SearchResponse<String> response = client.search(request, String.class);
System.out.println("response: " + response);

}


http://www.ppmy.cn/news/615615.html

相关文章

60秒倒计时器 秒表 c语言程序,用单片机设计一个两位LED显示的秒表,按下计时键时,进行60s倒计时显示...

满意答案 w86586tk3y 2017.09.25 采纳率&#xff1a;57% 等级&#xff1a;8 已帮助&#xff1a;214人 #include sbit P3_5 P3^5; unsigned char code dispcode[]{0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8, 0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E,0x00}; unsigned char …

verilog秒表计时器

本设计是使用verilog实现秒表计时器。 秒表指示的时间由nexys4 DDR开发板的8个数码管显示,从左到右数码管的前两个显示小时(范围0-24),第3-4个数码管显示分(范围0-59,计数到60,向小时位进1),第5-6个数码管显示秒(范围0-59,计数到60向分位进1),第7-8个数码管显示毫…

前端文件上传的几种交互造轮子

背景 前端文件上传本来是一个常规交互操作&#xff0c;没什么特殊性可言&#xff0c;但是最近在做文件上传&#xff0c;需要实现截图粘贴上传&#xff0c;去找了下有没有什么好用的组件&#xff0c;网上提供的方法有&#xff0c;但是没找完整的组件来支持 cv 上传&#xff0c;…

基于STM32的多功能秒表

基于STM32的多功能秒表 当上电运行后&#xff0c;按下KEY1,秒表开始正计时&#xff0c;再次按下KEY1秒表停止计时&#xff0c;按下KEY2秒表清零&#xff0c;按下KEY3&#xff0c;手动调节秒表时间递增&#xff0c;按下KEY4手动调节秒表时间递减&#xff0c;按下KEY5秒表倒计时…

stm32倒计时秒表proteus_倒计时秒表 单片机

目录 一、设计目的 ........................................................................................................ 1 二、设计任务及要求 ............................................................................................ 2 三、总体方案设计 …

MSP430 G2553 单片机 口袋板 日历 时钟 闹钟 万年历 电子时钟 秒表显示

一、实验目的本次实验使用 MSp430G2553 以及 GZ 扩展版的 LCO 显示、蜂鸣器、机械按键&#xff0c;实现具有多功能电子钟的设计。功能包括&#xff0c;按键切换工作界面、设置时间、秒表计时、闹钟的设定、闹钟的暂停与休眠。二、实验内容与设计思路电子钟功能综述本次电子表设…

Python 内置模块tkinter —— 秒表计时器

# 秒表计时器""" 思考&#xff1a;1、怎么创建一个最简单的窗口&#xff1f;2、怎么保持窗口一直运行&#xff1f;3、不用方法mainloop&#xff08;&#xff09;怎么实现窗口一直运行&#xff1f;4、请问窗口的宽度*高度默认值为多少个像素点&#xff1f;5、利用…

stm32倒计时秒表proteus_单片机课程设计倒计时秒表

精品文档 。 1 欢迎下载 一、设计目的 此次设计是我们更进一步了解基本电路的设计流程&#xff0c;提高自己的设计理念&#xff0c; 丰富自己的理论知识&#xff0c;巩固所学知识&#xff0c;使自己的动手动脑能力有更进一步提高&#xff0c; 为自己今后的学习和工作打好基础&a…