Android自定義可標(biāo)記日歷效果
先直接看看效果吧
初始情況
點(diǎn)擊一個(gè)作為標(biāo)記
再次點(diǎn)擊后刪除
3.這里還要感謝前輩的代碼作為參考,畢竟以前也沒有寫過(guò)關(guān)于日歷方面的東西,別人確實(shí)寫得不錯(cuò),我在原基礎(chǔ)上加入了數(shù)據(jù)庫(kù)操作等補(bǔ)充,以完成自己實(shí)際需求,作為尊重首先給出原作者的連接
就是這里–>Android自定義控件實(shí)現(xiàn)可多選課程日歷CalendarView
4.然后貼出來(lái)關(guān)于數(shù)據(jù)庫(kù)操作的代碼,給大家作為參考
DatabaseHelper .java 這是關(guān)于簡(jiǎn)單數(shù)據(jù)庫(kù)操作的部分
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 簡(jiǎn)化數(shù)據(jù)操作接口,避免直接操作數(shù)據(jù)庫(kù),做了再一層的封裝,建議讀者也這樣做,可以讓代碼更清晰,更容易復(fù)用
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
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Android實(shí)現(xiàn)可滑動(dòng)的自定義日歷控件
- Android實(shí)現(xiàn)帶簽到贏積分功能的日歷
- Android可簽到日歷控件的實(shí)現(xiàn)方法
- Android自定義日歷滑動(dòng)控件
- 基于Android week view仿小米和iphone日歷效果
- Android自定義控件實(shí)現(xiàn)可多選課程日歷CalendarView
- Android 一個(gè)日歷控件的實(shí)現(xiàn)代碼
- Android實(shí)現(xiàn)自定義日歷
- android 開發(fā)教程之日歷項(xiàng)目實(shí)踐(一)
- Android自定義日歷效果
相關(guān)文章
Android中標(biāo)簽容器控件的實(shí)例詳解
在Android開發(fā)過(guò)程中,常常會(huì)遇到這樣的場(chǎng)景:我們展示一種物品或者為某一事物添加一些標(biāo)簽。比如說(shuō),我們買一件衣服,可以有以下幾種標(biāo)簽:杰克瓊斯,男士,運(yùn)動(dòng)等等。本文將實(shí)例介紹Android中標(biāo)簽容器控件的實(shí)現(xiàn)過(guò)程。2016-07-07Android Flutter實(shí)現(xiàn)上拉加載組件的示例代碼
既然列表有下拉刷新外當(dāng)然還有上拉加載更多操作了,本次就為大家詳細(xì)介紹如何利用Flutter實(shí)現(xiàn)為列表增加上拉加載更多的交互,感興趣的可以了解一下2022-08-08Android開發(fā)Jetpack組件Lifecycle原理篇
這一篇文章來(lái)介紹Android?Jetpack架構(gòu)組件的Lifecycle;?Lifecycle用于幫助開發(fā)者管理Activity和Fragment?的生命周期,?由于Lifecycle是LiveData和ViewModel的基礎(chǔ);所以需要先學(xué)習(xí)它2022-08-08Android SQLite數(shù)據(jù)庫(kù)徹底掌握數(shù)據(jù)存儲(chǔ)
這篇文章主要介紹了 Android SQLite數(shù)據(jù)庫(kù)的相關(guān)資料,這里對(duì)Android SQLlite做了詳細(xì)介紹,需要的朋友可以參考下2016-10-10Android開發(fā)教程之shape和selector的結(jié)合使用
shape和selector是Android UI設(shè)計(jì)中經(jīng)常用到的,比如我們要自定義一個(gè)圓角Button,點(diǎn)擊Button有些效果的變化,就要用到shape和selector,接下來(lái)通過(guò)本文給大家介紹Android開發(fā)教程之shape和selector的結(jié)合使用,感興趣的朋友一起學(xué)習(xí)吧2016-01-01android之計(jì)時(shí)器(Chronometer)的使用以及常用的方法
在Android的SDK中,為我們提供了一個(gè)計(jì)時(shí)器,這個(gè)計(jì)時(shí)器稱為Chronometer,我們可以成它為Android的一個(gè)組件,同時(shí)它也具備自己獨(dú)有的方法2013-01-01Android簡(jiǎn)單使用PopupWindow的方法
這篇文章主要為大家詳細(xì)介紹了Android簡(jiǎn)單使用PopupWindow的方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-03-03詳解androidstudio項(xiàng)目上傳到github方法以及步驟
在使用studio開發(fā)的項(xiàng)目過(guò)程中有時(shí)候我們想將項(xiàng)目發(fā)布到github上,studio其實(shí)是自帶這種功能的,那么如何使用呢,下面我們就一起來(lái)了解一下2019-01-01