用药提醒程序设计(原创)(定时、定时3次、按用户定时,前半小时2分钟提醒一次,后一个半小时10分钟提醒一次)

本文介绍了用药提醒程序的设计思路,包括将提醒时间存储在SQLite数据库中,设置定时闹钟,以及如何根据用户操作更新标志位。未来计划扩展数据库以支持多用户和多个提醒时间点。
摘要由CSDN通过智能技术生成

思路大致是这样的:

1.用户手动输入(模拟服务器发来的消息),将用药提醒时间存入SQLITE数据库,同时,每隔2分钟的间隔录入一个时间点,持续录入15个(即30分钟),每隔10分钟的间隔录入一个时间点,持续录入9个(即90分钟),共计2小时,24个标记位状态都列为0;

2.如果到了时间点,响起闹铃,用户取消,所有的标志位都重新置为1;

3.如果到了SQLITE录入时间点3小时以后的时间,所有的标志位重新置为0;

4.监听进程一直获取当前的时间,如果当前的时间到了数据库记录的时间点,并且标志位是0,则会响起闹铃。


将来的扩展:

1.数据库要增加用户字段,因为一个报警设备有多个用户,并且每个用户最多可以设置三个时间点,入库过程之中是这样的存储结构。

   id     time    user

   0     13:43   zzk

   1     13;45   tom

   2    20:00   tom

   3     21:00  tom

2.时间点存储如下所示,根据不同的用户,分别新建不一样的文件:

<?xml version='1.0' encoding='utf-8' standalone='yes' ?>
<map>
<string name="10:01">1</string>
<string name="10:03">1</string>
<string name="10:23">1</string>
<string name="09:53">1</string>
<string name="09:51">1</string>
<string name="10:13">1</string>
<string name="09:41">1</string>
<string name="11:13">1</string>
<string name="11:23">1</string>
<string name="11:33">1</string>
<string name="10:53">1</string>
<string name="11:03">1</string>
<string name="10:33">1</string>
<string name="10:43">1</string>
<string name="09:39">1</string>
<string name="09:37">1</string>
<string name="09:35">1</string>
<string name="09:33">1</string>
<string name="09:43">1</string>
<string name="09:57">1</string>
<string name="09:45">1</string>
<string name="09:55">1</string>
<string name="09:47">1</string>
<string name="09:49">1</string>
<string name="09:59">1</string>
</map>


3.以下贴代码:

DB工具包:

package com.zzk.util;

/* import相关class */
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;

public class DailyBgDB extends SQLiteOpenHelper
{
  /* 变量声明 */
  private final static String DATABASE_NAME = "dailyBG_db";
  private final static int DATABASE_VERSION = 1;
  private final static String TABLE_NAME = "dailySetting_table";
  public final static String FIELD1 = "DailyId";
  public final static String FIELD2 = "DailyTm";
  public SQLiteDatabase sdb;
  
  /* 构造符 */
  public DailyBgDB(Context context)
  {
    super(context, DATABASE_NAME, null, DATABASE_VERSI
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值