Android自定义可标记日历效果

发布时间 - 2026-01-11 01:12:14    点击率:

先直接看看效果吧

初始情况

点击一个作为标记

再次点击后删除

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

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


# Android自定义可标记日历  # Android可标记日历  # Android日历  # Android实现可滑动的自定义日历控件  # Android实现带签到赢积分功能的日历  # Android可签到日历控件的实现方法  # Android自定义日历滑动控件  # 基于Android week view仿小米和iphone日历效果  # Android自定义控件实现可多选课程日历CalendarView  # Android 一个日历控件的实现代码  # Android实现自定义日历  # android 开发教程之日历项目实践(一)  # Android自定义日历效果  # 这是  # 我在  # 如有  # 基础上  # 这样做  # 给大家  # 自定义  # 更容易  # 写得  # 贴出  # 写过  # 大家多多  # 多选  # 复用  # 更清晰  # 欢迎留言  # public  # SQLiteOpenHelper  # dell  # extends 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 如何快速生成ASP一键建站模板并优化安全性?  ChatGPT怎么生成Excel公式_ChatGPT公式生成方法【指南】  常州企业网站制作公司,全国继续教育网怎么登录?  手机怎么制作网站教程步骤,手机怎么做自己的网页链接?  北京专业网站制作设计师招聘,北京白云观官方网站?  最好的网站制作公司,网购哪个网站口碑最好,推荐几个?谢谢?  Laravel 419 page expired怎么解决_Laravel CSRF令牌过期处理  Laravel怎么处理异常_Laravel自定义异常处理与错误页面教程  高性价比服务器租赁——企业级配置与24小时运维服务  制作无缝贴图网站有哪些,3dmax无缝贴图怎么调?  如何用AI一键生成爆款短视频文案?小红书AI文案写作指令【教程】  Laravel如何实现模型的全局作用域?(Global Scope示例)  开心动漫网站制作软件下载,十分开心动画为何停播?  Internet Explorer官网直接进入 IE浏览器在线体验版网址  如何用腾讯建站主机快速创建免费网站?  如何快速配置高效服务器建站软件?  怎么制作网站设计模板图片,有电商商品详情页面的免费模板素材网站推荐吗?  猎豹浏览器开发者工具怎么打开 猎豹浏览器F12调试工具使用【前端必备】  免费制作统计图的网站有哪些,如何看待现如今年轻人买房难的情况?  EditPlus中的正则表达式实战(6)  Laravel如何正确地在控制器和模型之间分配逻辑_Laravel代码职责分离与架构建议  如何用VPS主机快速搭建个人网站?  北京网站制作公司哪家好一点,北京租房网站有哪些?  Linux系统命令中screen命令详解  如何快速登录WAP自助建站平台?  Laravel怎么为数据库表字段添加索引以优化查询  免费视频制作网站,更新又快又好的免费电影网站?  Laravel模型事件有哪些_Laravel Model Event生命周期详解  如何在 Telegram Web View(iOS)中防止键盘遮挡底部输入框  香港网站服务器数量如何影响SEO优化效果?  制作企业网站建设方案,怎样建设一个公司网站?  香港服务器WordPress建站指南:SEO优化与高效部署策略  宙斯浏览器视频悬浮窗怎么开启 边看视频边操作其他应用教程  活动邀请函制作网站有哪些,活动邀请函文案?  Laravel如何实现API速率限制?(Rate Limiting教程)  如何快速使用云服务器搭建个人网站?  Laravel广播系统如何实现实时通信_Laravel Reverb与WebSockets实战教程  Laravel如何使用Laravel Vite编译前端_Laravel10以上版本前端静态资源管理【教程】  Laravel Seeder填充数据教程_Laravel模型工厂Factory使用  linux写shell需要注意的问题(必看)  如何用好域名打造高点击率的自主建站?  网页设计与网站制作内容,怎样注册网站?  微信h5制作网站有哪些,免费微信H5页面制作工具?  网站建设要注意的标准 促进网站用户好感度!  Laravel如何实现全文搜索功能?(Scout和Algolia示例)  黑客如何通过漏洞一步步攻陷网站服务器?  详解免费开源的.NET多类型文件解压缩组件SharpZipLib(.NET组件介绍之七)  如何在云虚拟主机上快速搭建个人网站?  微信公众帐号开发教程之图文消息全攻略  米侠浏览器网页图片不显示怎么办 米侠图片加载修复