当前位置: 移动技术网 > 移动技术>移动开发>Android > Android自定义可标记日历效果

Android自定义可标记日历效果

2019年07月24日  | 移动技术网移动技术  | 我要评论

先直接看看效果吧

初始情况

点击一个作为标记

再次点击后删除

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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持移动技术网。

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网