Android自定义可标记日历效果

所属分类: 软件编程 / Android 阅读数: 2059
收藏 0 赞 0 分享

先直接看看效果吧

初始情况

点击一个作为标记

再次点击后删除

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手机中很常见的一个实用功能,需要的朋友可以参考下
收藏 0 赞 0 分享

Android实现Activity界面切换添加动画特效的方法

这篇文章主要介绍了Android实现Activity界面切换添加动画特效的方法,非常实用的技巧,需要的朋友可以参考下
收藏 0 赞 0 分享

Android中Dialog去黑边的方法

这篇文章主要介绍了Android中Dialog去黑边的方法,需要的朋友可以参考下
收藏 0 赞 0 分享

Qt for Android开发实例教程

这篇文章主要介绍了Qt for Android开发的方法,具有一定的参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

Android开发之时间日期操作实例

这篇文章主要介绍了Android开发之时间日期操作,是Android程序开发中常见的一个功能,需要的朋友可以参考下
收藏 0 赞 0 分享

Android开发之时间日期组件用法实例

这篇文章主要介绍了Android开发之时间日期组件用法,主要介绍了TimePicker和DatePicker组件,对于Android程序开发有不错的借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

Android开发之获取网络链接状态

这篇文章主要介绍了Android获取网络链接状态的方法,主要是通过ConnectivityManager类来完成的,需要的朋友可以参考下
收藏 0 赞 0 分享

Android开发之广播机制浅析

这篇文章主要介绍了Android开发之广播机制浅析,主要包括了发布、接收及配置广播的实例,需要的朋友可以参考下
收藏 0 赞 0 分享

Android开发之登录验证实例教程

这篇文章主要介绍了Android开发之登录验证实现方法,包括发送数据、服务器端验证、配置文件等,需要的朋友可以参考下
收藏 0 赞 0 分享

Android开发之注册登录方法示例

这篇文章主要介绍了Android开发的注册登录方法,是针对Android程序设计中版本兼容性的进一步完善,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多