Android 实用闹钟开发过程记

taiyuanwuyin 2012-01-04

题外话:写Android手机闹钟的想法有一个月的时间了但一直都没有开始。一方面没时间(主要是懒惰啊),另一方面觉得闹钟没什么好写的。但是当我某一天(记不得是多少号了)睡觉时突然想到这个想法想想流程想想要做确实很多还有一个重要的原因是对我这个魅族M9自带的闹钟是又爱又恨,界面很漂亮而且功能也很多。但是也有很多不好的地方,用户体验不是很好至少对我而言。

比如:当我没有手动关闭闹钟时,它响了3分钟后就不会再响了,虽然我设了再响时间(明显是个BUG);还有就是当我在同一天设置很多闹钟时无法一键全关闭很烦人;再有就是在锁屏状态下点关闭闹钟后就取消了锁屏等等问题。促使我去写一个小闹钟一个适合自己的闹钟。

要做一个真正的闹钟肯定不能只有一个要可以随心所欲地加--只要你愿意,你可以加到天荒地老哈哈。所以一定会用到数据库。下面介绍一下我建的数据库:代码如下

public class alarmsql extends SQLiteOpenHelper{
 
String createtable="create table " + toolutil.tablename + " (" +toolutil.id + " INTEGER PRIMARY KEY " +
", "+ toolutil.hour +" INTEGER ," + toolutil.minute +" INTEGER ," + toolutil.lasttime + " INTEGER ," + toolutil.week + " TEXT , " +toolutil.state
 +" INTEGER ," + toolutil.music + " TEXT " + ")";
 public alarmsql(Context context, String name, CursorFactory factory,
   int version) {
  super(context, name, factory, version);
 
 }
 public void onCreate(SQLiteDatabase db) {
  db.execSQL(createtable);
 }

 public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
 
 
 }

}

toolutils:toolutils代码如下:

public class toolutil {
 public static final String id="_id";
 public static final String week="WEEK";
 public static final String state="STATE";
 public static final String music="MUSIC";
 public static final String lasttime="CONTINUE";
 public static final String hour="HOUR";
 public static final String minute="MINUTE";
 public static final String tablename="DATA";

}

 

通过继承SQLiteOpenHelper来创建数据库。怎么用的就不说了。下面说一下建表意图:id字段不用说了(android建表必须的字段名字必须为_id否则会报错),week字段是存储一周重复的星期参数我传入七位的0、1字符串意图不言而喻(0代表没选),state是否关闭闹钟标识位,music是存入的铃声名字,lasttime是闹钟重复的时间,余下两个字段看名字就明白了。

相关推荐