蹉跎莫遣韶光老,人生唯有读书好。这篇文章主要讲述Android自定义可标记日历相关的知识,希望能为你提供帮助。
1.前几天某某人要求我记住她什么时候洗的头发,
然后记得提醒她,
这么复杂的事情,
我只好想着做个什么东西帮我,
然后就这样了
2.先直接看看效果吧 初始情况
文章图片
点击一个作为标记
文章图片
再次点击后删除
文章图片
3.这里还要感谢前辈的代码作为参考, 毕竟以前也没有写过关于日历方面的东西, 别人确实写得不错, 我在原基础上加入了数据库操作等补充, 以完成自己实际需求, 作为尊重首先给出原作者的连接 就是这里–> http://blog.csdn.net/airsaid/article/details/52139045
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, 水平有限, 如有需要, 欢迎留言讨论 【Android自定义可标记日历】这是我的github位置–https://github.com/xugongming38/EditCalendar
推荐阅读
- Android ORMLite ForeignCollection关联外部集合
- android中TextView内容竖向显示
- Dapper EF 等orm Mysql不支持事务解决办法
- kotlin, 一种新的android平台一级开发语言
- IntelliJ IDEA 与 Android
- Android代码内存优化建议-Android官方篇
- Android——在活动中创建menu
- 赵雅智_Android的getResources()资源引用
- Android 应用内多语言切换