比如:當我沒有手動關閉鬧鐘時,它響了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是鬧鐘重復的時間,余下兩個字段看名字就明白了。