Android自定义可标记日历效果

作者:genius-x 时间:2022-09-06 04:11:22 

先直接看看效果吧

初始情况

Android自定义可标记日历效果

点击一个作为标记

Android自定义可标记日历效果

再次点击后删除

Android自定义可标记日历效果

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,日历
0
投稿

猜你喜欢

  • Java NIO实现聊天功能

    2022-06-12 08:31:31
  • Android自定义textview实现竖直滚动跑马灯效果

    2023-09-30 07:42:05
  • Java求解二叉树的最近公共祖先实例代码

    2023-09-14 18:24:56
  • SpringBoot 使用 FTP 操作文件的过程(删除、上传、下载文件)

    2021-07-26 10:40:05
  • C字符串操作函数的实现详细解析

    2022-10-26 16:28:37
  • MyBatis逆向工程的创建和使用

    2022-07-18 20:07:55
  • MyBatis中的properties配置(推荐)

    2023-06-04 20:47:58
  • SpringBoot集成vue的开发解决方案

    2023-11-24 20:58:10
  • C# ConfigHelper 辅助类介绍

    2023-11-20 21:53:09
  • Android实现背景可滑动登录界面 (不压缩背景弹出键盘)

    2023-11-14 11:09:07
  • Java基础学习之集合底层原理

    2023-09-30 22:16:40
  • 如何利用java实现生成PDF文件

    2023-03-31 16:25:36
  • android Launcher3设置默认桌面应用

    2022-07-20 20:18:42
  • Java的字符串中对子字符串的查找方法总结

    2022-12-16 17:16:31
  • ElasticSearch查询文档基本操作实例

    2023-11-24 14:20:02
  • 详解android 人脸检测你一定会遇到的坑

    2023-03-10 15:24:34
  • 基于OpenCv与JVM实现加载保存图像功能(JAVA 图像处理)

    2021-12-27 23:09:33
  • Android编程实现网络图片查看器和网页源码查看器实例

    2021-07-27 23:48:40
  • Android编程之自定义锁屏实例分析

    2022-02-02 04:01:50
  • IDEA 热部署设置(JRebel插件激活)

    2021-08-25 08:14:39
  • asp之家 软件编程 m.aspxhome.com