Android自定义可标记日历效果
程序员文章站
2023-12-10 19:43:40
先直接看看效果吧
初始情况
点击一个作为标记
再次点击后删除
3.这里还要感谢前辈的代码作为参考,毕竟以前也没有写过关于日历方面的东西...
先直接看看效果吧
初始情况
点击一个作为标记
再次点击后删除
3.这里还要感谢前辈的代码作为参考,毕竟以前也没有写过关于日历方面的东西,别人确实写得不错,我在原基础上加入了数据库操作等补充,以完成自己实际需求,作为尊重首先给出原作者的连接
就是这里–>android自定义控件实现可多选课程日历calendarview
4.然后贴出来关于数据库操作的代码,给大家作为参考
databasehelper .java 这是关于简单数据库操作的部分
package com.xugongming38.editcalendar.utils; import android.content.context; import android.database.sqlite.sqlitedatabase; import android.database.sqlite.sqliteopenhelper; /** * created by dell on 2017/5/18. */ public class databasehelper extends sqliteopenhelper { public static final string create_diary = "create table hair(" + "id integer primary key autoincrement, " + "content text)"; private context mcontext; public databasehelper(context context, string name, sqlitedatabase.cursorfactory factory, int version){ super(context, name, factory, version); mcontext = context; } @override public void oncreate(sqlitedatabase db) { db.execsql(create_diary); } @override public void onupgrade(sqlitedatabase db, int oldversion, int newversion) { db.execsql("drop table if exists hair"); oncreate(db); } }
datahelper .java 简化数据操作接口,避免直接操作数据库,做了再一层的封装,建议读者也这样做,可以让代码更清晰,更容易复用
package com.xugongming38.editcalendar.utils; import android.content.contentvalues; import android.content.context; import android.database.cursor; import android.database.sqlite.sqlitedatabase; import java.util.arraylist; import java.util.list; /** * created by dell on 2017/5/18. */ public class datahelper { public static databasehelper mhelper; public static void deletedata2list(string content) { sqlitedatabase dbdelete = mhelper.getwritabledatabase(); dbdelete.delete("hair", "content = ?", new string[]{content}); } public static void adddata2list(string content) { sqlitedatabase db = mhelper.getwritabledatabase(); contentvalues values = new contentvalues(); values.put("content", content); db.insert("hair", null, values); values.clear(); } public static list<string> getdatalist(context context) { if(mhelper==null){ mhelper = new databasehelper(context, "hair.db", null, 1); } list<string> datalist = new arraylist<>(); sqlitedatabase sqlitedatabase = mhelper.getwritabledatabase(); cursor cursor = sqlitedatabase.query("hair", null, null, null, null, null, null); if (cursor.movetofirst()) { do { string content = cursor.getstring(cursor.getcolumnindex("content")); datalist.add(content); } while (cursor.movetonext()); } cursor.close(); return datalist; } }
5.代码完整部分下面给出github地址,欢迎star,水平有限,如有需要,欢迎留言讨论
这是我的github位置–https://github.com/xugongming38/editcalendar
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。