Kotlin——简单的闹钟App
有一段时间没有碰过android开发了,这次趁着Kotlin的学习重温了android开发,断断续续用了周末两天时间使用Kotlin简单编写了一个闹钟app。不得不承认,Kotlin对android原生Java开发来说,代码量少的不仅仅是一个数量级,大大减轻了码农的工作量,有了更快的开发速度,更一致的开发体验;有JavaScript开发经验的朋友上手会更快,强烈推荐。
回到App上,该App延续了Material Design风格,实现最基础的闹钟功能,还有一些其他的铃声选择,重复日期选择以及标签功能。另外集成了Xutils 3.5.0框架,对其Http和Db模块进行了二次封装,后期考虑是否需要增加个云闹钟的功能。
github地址:https://github.com/liaozp9112/AlarmClock
顺便提一句Xutils3.5 DB模块没有提供初始数据表的操作,一定是在对表插入或者,更新或者删除操作后才会初始化相应表,如果在此之前进行数据查询时会报错,我仿造它建表的句在app初始化时就初始化所有表。
private fun createAllTables(){for (table in Tables.values()){val cl = Class.forName(table.tablepath);createTableIfNotExist(x.getDb(daoConfig).getTable(cl));}}@Throws(DbException::class)
protected fun createTableIfNotExist(table: TableEntity<*>) {if (!table.tableIsExist()) {synchronized(table.javaClass) {if (!table.tableIsExist()) {val sqlInfo = SqlInfoBuilder.buildCreateTableSqlInfo(table)x.getDb(daoConfig).execNonQuery(sqlInfo)val execAfterTableCreated = table.onCreatedif (!TextUtils.isEmpty(execAfterTableCreated)) {x.getDb(daoConfig).execNonQuery(execAfterTableCreated)}}}}}}enum class Tables(val tablepath:String){//闹钟表T_ALARM_CLOCK("cn.com.liaozp.alarmclock.xutils.db.T_ALARM_CLOCK");
}
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
