taiyuanwuyin 2012-01-04
比如:当我没有手动关闭闹钟时,它响了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是闹钟重复的时间,余下两个字段看名字就明白了。