Events Calendar is a user-friendly library that helps you achieve a cool Calendar UI with events mapping. You can customise every pixel of the calendar as per your wish and still achieve in implementing all the functionalities of the native android calendar in addition with adding dots to the calendar which represents the presence of an event on the respective dates. It can be done easily, you are just a few steps away from implementing your own badass looking Calendar for your very own project!

Overview

Events Calendar

License

Single Selection Mode Range Selection Mode Multiple Selection Mode
Single Selection Mode Range Selection Mode Multiple Selection Mode

What is Events Calendar?

Events Calendar is a user-friendly library that helps you achieve a cool Calendar UI with events mapping. You can customise every pixel of the calendar as per your wish and still achieve in implementing all the functionalities of the native android calendar in addition with adding dots to the calendar which represents the presence of an event on the respective dates. Events Calendar also has multi-lingual support. You are just a few steps away from implementing your own badass looking Calendar for your very own project!

Implementation

[1] In your app module gradle file

dependencies {
    implementation 'com.github.tizisdeepan:eventscalendar:1.6.1'
}

[2] In your project level gradle file

allprojects {
    repositories {
        maven { url 'https://jitpack.io' }
    }
}

[3] Use EventsCalendar in your layout.xml

<com.events.calendar.views.EventsCalendar
    android:id="@+id/eventsCalendar"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="#000000"
    android:overScrollMode="never"
    app:datesTextSize="16sp"
    app:eventDotColor="#ff0000"
    app:isBoldTextOnSelectionEnabled="true"
    app:monthTitleColor="#ffffff"
    app:monthTitleTextSize="16sp"
    app:primaryTextColor="#c4c4c4"
    app:secondaryTextColor="#666666"
    app:selectedTextColor="#000000"
    app:selectionColor="#ffe600"
    app:weekHeaderColor="#c6c6c6"
    app:rangeSelectionColor="#ffe600"
    app:rangeSelectionStartColor="#c1ae01"
    app:rangeSelectionEndColor="#c1ae01"
    app:weekHeaderTextSize="16sp" />

[4] Implement EventCalendar.Callback on your Activity/ Fragment

class MainActivity : AppCompatActivity(), EventsCalendar.Callback {
    ...
    override fun onDayLongPressed(selectedDate: Calendar?) {
        Log.e("LONG", "CLICKED")
    }
    
    override fun onMonthChanged(monthStartDate: Calendar?) {
        Log.e("MON", "CHANGED")
    }

    override fun onDaySelected(selectedDate: Calendar?) {
        Log.e("SHORT", "CLICKED")
    }
}

[5] Create instances and set default values for the EventsCalendar in your Activity/ Fragment

eventsCalendar.setSelectionMode(eventsCalendar.MULTIPLE_SELECTION) //set mode of Calendar
              .setToday(today) //set today's date [today: Calendar]
              .setMonthRange(start, end) //set starting month [start: Calendar] and ending month [end: Calendar]
              .setWeekStartDay(Calendar.SUNDAY, false) //set start day of the week as you wish [startday: Int, doReset: Boolean]
              .setCurrentSelectedDate(today) //set current date and scrolls the calendar to the corresponding month of the selected date [today: Calendar]
              .setDatesTypeface(typeface) //set font for dates
              .setDateTextFontSize(16f) //set font size for dates
              .setMonthTitleTypeface(typeface) //set font for title of the calendar
              .setMonthTitleFontSize(16f) //set font size for title of the calendar
              .setWeekHeaderTypeface(typeface) //set font for week names
              .setWeekHeaderFontSize(16f) //set font size for week names
              .setCallback(this) //set the callback for EventsCalendar
              .addEvent(c) //set events on the EventsCalendar [c: Calendar]
              .disableDate(dc) //disable a specific day on the EventsCalendar [c: Calendar]
              .disableDaysInWeek(Calendar.SATURDAY, Calendar.SUNDAY) //disable days in a week on the whole EventsCalendar [varargs days: Int]
              .build()

[6] You can change selection mode of the calendar as you wish

eventsCalendar.setSelectionMode(eventsCalendar.SINGLE_SELECTION)

Available Selection modes are,

  1. SINGLE_SELECTION -> can select single day at a time
  2. RANGE_SELECTION -> can select range of days at a time
  3. MULTIPLE_SELECTION -> can select multiple days at a time (not necessary that the selected days be consequtive)

Documentation

XML Kotlin/Java Description
app:primaryTextColor setPrimaryTextColor(color: Int) Primary Text color of the calendar (selectable dates)
app:secondaryTextColor setSecondaryTextColor(color: Int) Secondary Text color of the calendar (disabled dates)
app:selectedTextColor setSelectedTextColor(color: Int) Text color of the Selected date
app:selectionColor setSelectionColor(color: Int) Color for the Selection Circle
app:rangeSelectionColor setRangeSelectionColor(color: Int) Color for the Selection Background
app:rangeSelectionStartColor setRangeSelectionStartColor(color: Int) Color for the Range Start Selection Background
app:rangeSelectionEndColor setRangeSelectionEndColor(color: Int) Color for the Range End Selection Background
app:weekHeaderColor setWeekHeaderColor(color: Int) Text color for the Week Header labels
app:weekHeaderTextSize setWeekHeaderFontSize(size: Float) Text size for the Week Header labels
app:datesTextSize setDateTextFontSize(size: Float) Text size for the Date labels
app:monthTitleColor setMonthTitleColor(color: Int) Text color for the Month Title in the calendar view
app:monthTitleTextSize setMonthTitleFontSize(size: Float) Text size for the Month Title in the calendar view
app:eventDotColor setEventDotColor(color: Int) Color for the Event Dots marked in the calendar view
app:isBoldTextOnSelectionEnabled setIsBoldTextOnSelectionEnabled(isEnabled: Boolean) Sets whether the dates should be highlighted or not

Voila! You have implemented an awesome Events Calendar for your Android Project now!

Developed By

Follow me on Twitter Add me to Linkedin
Comments
  • In fragment its not working properly

    In fragment its not working properly

    Seems like in fragment its not working properly, whenever I subtract year in calendar for DateRange its show unexpected result, I don't know why its shows 2039 or previous month July 2019

    val start = DateTimeUtils.CalendarInstance()
    start.add(Calendar.YEAR, -10)
    
    val end = DateTimeUtils.CalendarInstance()
    end.add(Calendar.YEAR, 20)
    
    eventsCalendar.setMonthRange(start, end)
    

    but its work in activity. I am using Jetpack Navigation component, and when calendar fragment is start fragment then its work, but when I put directions or navigate() to calendar fragment from other fragment then the behavior is unpredictable.

    opened by DastanIqbal 5
  • Unable to Add Events

    Unable to Add Events

    Describe the bug Adding events not working. eventsCalendar.getDotsForMonth(c) return null

    To Reproduce val c = Calendar.getInstance() c.add(Calendar.DAY_OF_MONTH, 3) eventsCalendar.addEvent(c)

    Expected behavior show event on calender

    opened by nicemak 3
  • Show selected dates

    Show selected dates

    Can i show multiple dates selected like i opened calendar class and i want to show multiple dates selected and also on click that dates i want to deselect that dates.

    Thank you

    opened by gaganAriel 3
  • Single selection bug

    Single selection bug

    When on single selection the selection does not highlight automatically

    To Reproduce Steps to reproduce the behavior:

    1. eventsCalendar.setSelectionMode(eventsCalendar.SINGLE_SELECTION)
    2. Run the app and select a date

    Expected behavior Ideally, the selected date should be highlighted automatically.

    Additional context I went through the EventsCalendar.kt and on 'setCurrentSelectedDate' function the 'SINGLE_SELECTION' option is missing the reset() and refreshTodayDate() functions

    opened by kelvinkioko 2
  • Using add event calendar from background will lead to not showing the red dots

    Using add event calendar from background will lead to not showing the red dots

    I am using your library within an API call that returns all of my events during a specific month.

    The API call takes place in the background and if I add the events there red dots will not show, even if use runOnUIThread{}.

    Here is a peace of my code to show my issue.

    getEventsPromise(month) success {
                try {
    
                    activity?.runOnUiThread {
                        setCalendarEvents(
                            2019,
                            9,
                            2019
                        )
                    }
                } catch (e: Exception) {
                    
                }
            } fail {
                
            }
    
     private fun setCalendarEvents(year: Int, month: Int, day: Int) {
            val currentDateCalendar = Calendar.getInstance()
    
            val calendarInstance = Calendar.getInstance()
            calendarInstance.set(year, month, day)
    
            val timeDifference =
                calendarInstance.get(Calendar.DAY_OF_MONTH) - currentDateCalendar.get(Calendar.DAY_OF_MONTH)
    
            val eventCalendar = Calendar.getInstance()
            eventCalendar.add(Calendar.DAY_OF_MONTH, timeDifference)
    
            //calendarLib is the reference of EventsCalendar
            calendarLib.addEvent(eventCalendar)
        }
    

    These are the code I am trying to use with no success. I try "setCalendarEvents" this function outside the API call functions and it works fine the dots is shows as it should be. Please assist. And thank you in advance.

    opened by ma7moudAziz 2
  • How to add events using array of string

    How to add events using array of string

    hiii, i like the way you design the calendar, we have a array of string containing dates. how to add in your calendar the array of strings.. appreciate your help in advance

    opened by zshadabm 2
  • How to call dot by selected event?

    How to call dot by selected event?

    Hi guys. I am trying to create a point while holding or simply clicking on a date by putting eventsCalendar.addEvents (Calendar.getInstance ()) inside onDaySelected. But this returns the wrong points and only in 1 month. Please, tell me that's wrong. Which code do you use?

    opened by RedRainbowGuy 1
  • SINGLE_SELECTION' has private access in 'com.events.calendar.views.EventsCalendar

    SINGLE_SELECTION' has private access in 'com.events.calendar.views.EventsCalendar

    Set SINGLE SELECTION shows 'SINGLE_SELECTION' has private access in 'com.events.calendar.views.EventsCalendar' as error. Is there anything wrong with the code below.

    Also, if I remove this line ' .setSelectionMode(EventsCalendar.SINGLE_SELECTION)', the '.addEvent(cal)' prevents the Calender from building.

    Can you please explain this

    eventsCalendar.setCallback(this) .setToday(Calendar.getInstance()) .setMonthRange(minMonth, maxMonth) .setCurrentSelectedDate(Calendar.getInstance()) .setSelectionMode(EventsCalendar.SINGLE_SELECTION) .addEvent(cal) .build();

    opened by deLTreeTech 1
  •   kotlin.UninitializedPropertyAccessException: lateinit property mDotsMap has not been initialized

    kotlin.UninitializedPropertyAccessException: lateinit property mDotsMap has not been initialized

    kotlin.UninitializedPropertyAccessException: lateinit property mDotsMap has not been initialized

    Just copy pasted xml code to my layout

    <com.events.calendar.views.EventsCalendar
            android:id="@+id/calendarView"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="#000000"
            android:overScrollMode="never"
            app:eventDotColor="#ff0000"
            app:isBoldTextOnSelectionEnabled="true"
            app:monthTitleColor="#ffffff"
            app:primaryTextColor="#c4c4c4"
            app:secondaryTextColor="#666666"
            app:selectedTextColor="#000000"
            app:selectionColor="#ffe600"
            app:weekHeaderColor="#c6c6c6"
            app:rangeSelectionColor="#ffe600"
            app:rangeSelectionStartColor="#c1ae01"
            app:rangeSelectionEndColor="#c1ae01" />
    

    kotlin.UninitializedPropertyAccessException: lateinit property mDotsMap has not been initialized at com.events.calendar.utils.Events.getDotsForMonth(Events.kt:60) at com.events.calendar.utils.Events.getDotsForMonth(Events.kt:58) at com.events.calendar.views.DatesGridLayout.getDotsData(DatesGridLayout.kt:130) at com.events.calendar.views.DatesGridLayout.init(DatesGridLayout.kt:97) at com.events.calendar.views.DatesGridLayout.(DatesGridLayout.kt:83) at com.events.calendar.views.MonthView.setMonthGridLayout(MonthView.kt:141) at com.events.calendar.views.MonthView.init(MonthView.kt:91) at com.events.calendar.views.MonthView.(MonthView.kt:79) at com.events.calendar.adapters.MonthsAdapter.instantiateItem(MonthsAdapter.kt:34) at androidx.viewpager.widget.ViewPager.addNewItem(ViewPager.java:1010) at androidx.viewpager.widget.ViewPager.populate(ViewPager.java:1158) at androidx.viewpager.widget.ViewPager.populate(ViewPager.java:1092) at androidx.viewpager.widget.ViewPager.onMeasure(ViewPager.java:1622) at com.events.calendar.views.EventsCalendar.onMeasure(EventsCalendar.kt:111) at android.view.View.measure(View.java:22071) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6602) at android.widget.FrameLayout.onMeasure(FrameLayout.java:185) at android.view.View.measure(View.java:22071) at androidx.recyclerview.widget.RecyclerView$LayoutManager.measureChildWithMargins(RecyclerView.java:9119) at androidx.recyclerview.widget.LinearLayoutManager.layoutChunk(LinearLayoutManager.java:1583) at androidx.recyclerview.widget.LinearLayoutManager.fill(LinearLayoutManager.java:1517) at androidx.recyclerview.widget.LinearLayoutManager.onLayoutChildren(LinearLayoutManager.java:612) at androidx.recyclerview.widget.RecyclerView.dispatchLayoutStep2(RecyclerView.java:3924) at androidx.recyclerview.widget.RecyclerView.dispatchLayout(RecyclerView.java:3641) at androidx.recyclerview.widget.RecyclerView.onLayout(RecyclerView.java:4194) at android.view.View.layout(View.java:19659) at android.view.ViewGroup.layout(ViewGroup.java:6075) at androidx.swiperefreshlayout.widget.SwipeRefreshLayout.onLayout(SwipeRefreshLayout.java:625) at android.view.View.layout(View.java:19659) at android.view.ViewGroup.layout(ViewGroup.java:6075) at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1791) at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1635) at android.widget.LinearLayout.onLayout(LinearLayout.java:1544) at android.view.View.layout(View.java:19659) at android.view.ViewGroup.layout(ViewGroup.java:6075) at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323) at android.widget.FrameLayout.onLayout(FrameLayout.java:261) at android.view.View.layout(View.java:19659) at android.view.ViewGroup.layout(ViewGroup.java:6075) at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1791) at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1635) at android.widget.LinearLayout.onLayout(LinearLayout.java:1544) at android.view.View.layout(View.java:19659) at android.view.ViewGroup.layout(ViewGroup.java:6075) at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323) at android.widget.FrameLayout.onLayout(FrameLayout.java:261) at android.view.View.layout(View.java:19659) at android.view.ViewGroup.layout(ViewGroup.java:6075) at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1791) at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1635) at android.widget.LinearLayout.onLayout(LinearLayout.java:1544) at android.view.View.layout(View.java:19659) at android.view.ViewGroup.layout(ViewGroup.java:6075) at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323) at android.widget.FrameLayout.onLayout(FrameLayout.java:261) at android.view.View.layout(View.java:19659) at android.view.ViewGroup.layout(ViewGroup.java:6075) E: at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1791) at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1635) at android.widget.LinearLayout.onLayout(LinearLayout.java:1544) at android.view.View.layout(View.java:19659) at android.view.ViewGroup.layout(ViewGroup.java:6075) at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323) at android.widget.FrameLayout.onLayout(FrameLayout.java:261) at com.android.internal.policy.DecorView.onLayout(DecorView.java:761) at android.view.View.layout(View.java:19659) at android.view.ViewGroup.layout(ViewGroup.java:6075) at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:2496) at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2212) at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1392) at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6752) at android.view.Choreographer$CallbackRecord.run(Choreographer.java:911) at android.view.Choreographer.doCallbacks(Choreographer.java:723) at android.view.Choreographer.doFrame(Choreographer.java:658) at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:897) at android.os.Handler.handleCallback(Handler.java:790) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:164) at android.app.ActivityThread.main(ActivityThread.java:6494) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)

    Steps to reproduce the behavior:

    1. Go to '...'
    2. Click on '....'
    3. Scroll down to '....'
    4. See error

    Expected behavior A clear and concise description of what you expected to happen.

    Screenshots If applicable, add screenshots to help explain your problem.

    Desktop (please complete the following information):

    • OS: [e.g. iOS]
    • Browser [e.g. chrome, safari]
    • Version [e.g. 22]

    Smartphone (please complete the following information):

    • android emulator
    • OS: Android 8.1.0
    • Browser [e.g. stock browser, safari]
    • Version [e.g. 22]

    Additional context Add any other context about the problem here.

    opened by nurjan84 1
  • Can we Disable Multiple Date at once.

    Can we Disable Multiple Date at once.

    We can select only one date using disableDate(), here last date which we pass is disable, but not the previous one.

    example: for (Calendar date :AVAILABLE_DATE_LIST) { eventsCalendar.disableDate(date); }
    here only last date is disable not all date from list.

    Question : How can we disable all the date from the list "AVAILABLE_DATE_LIST" ?

    opened by kamleshAvion 1
  • Different event colors possible?

    Different event colors possible?

    I'm looking for a way to display different event points in different colors.

    For example: 06/28/2022 -> Green dot 06/29/2022 -> Red dot

    I wish I could show a different color for each service, like in this example:

      for (service in services!!)
      {
                      val parser = SimpleDateFormat("dd.MM.yyyy hh:mm")
                      val dayFormatter = SimpleDateFormat("d")
                      val monthFormatter = SimpleDateFormat("M")
                      val yearFormatter = SimpleDateFormat("yyyy")
                      val day = dayFormatter.format(parser.parse(service.from)).toInt()
                      val month = monthFormatter.format(parser.parse(service.from)).toInt() - 1
                      val year = yearFormatter.format(parser.parse(service.from)).toInt()
                      val color = Color.parseColor("#" + service.shift!!.shiftColor)
      
                      val c = Calendar.getInstance()
                      c.set(Calendar.MONTH, month)
                      c.set(Calendar.DAY_OF_MONTH, day)
                      c.set(Calendar.YEAR, year)
      
                      calendarView.setEventDotColor(color = color)
                      calendarView.addEvent(c)
      }
    

    However, I have only found out that the event color can be set for the entire calendar.

    opened by cr0wfir3 0
  • Different event dot colors possible?

    Different event dot colors possible?

    I'm looking for a way to display different event points in different colors.

    For example: 06/28/2022 -> Green dot 06/29/2022 -> Red dot

    I wish I could show a different color for each service, like in this example:

    for (service in services!!) { val parser = SimpleDateFormat("dd.MM.yyyy hh:mm") val dayFormatter = SimpleDateFormat("d") val monthFormatter = SimpleDateFormat("M") val yearFormatter = SimpleDateFormat("yyyy") val day = dayFormatter.format(parser.parse(service.from)).toInt() val month = monthFormatter.format(parser.parse(service.from)).toInt() - 1 val year = yearFormatter.format(parser.parse(service.from)).toInt() val color = Color.parseColor("#" + service.shift!!.shiftColor)

                val c = Calendar.getInstance()
                c.set(Calendar.MONTH, month)
                c.set(Calendar.DAY_OF_MONTH, day)
                c.set(Calendar.YEAR, year)
    
                calendarView.setEventDotColor(color = color)
                calendarView.addEvent(c)
    

    }

    However, I have only found out that the event color can be set for the entire calendar.

    opened by cr0wfir3 0
  • app:eventDotColor, app:eventDotColor doesnt work on Android 11

    app:eventDotColor, app:eventDotColor doesnt work on Android 11

    Describe the bug A clear and concise description of what the bug is.

    To Reproduce Steps to reproduce the behavior:

    1. Go to '...'
    2. Click on '....'
    3. Scroll down to '....'
    4. See error

    Expected behavior A clear and concise description of what you expected to happen.

    Screenshots If applicable, add screenshots to help explain your problem.

    Desktop (please complete the following information):

    • OS: [e.g. iOS]
    • Browser [e.g. chrome, safari]
    • Version [e.g. 22]

    Smartphone (please complete the following information):

    • Device: [e.g. iPhone6]
    • OS: [e.g. iOS8.1]
    • Browser [e.g. stock browser, safari]
    • Version [e.g. 22]

    Additional context Add any other context about the problem here.

    opened by charlyge 0
  • Selected date disable after click

    Selected date disable after click

    When I click on a date and go to next view after I came back the selected date become disable and event dot becomes white. how can I solve this problem. Anyone can help me?

    opened by TanveerAhmed606050 0
  • Multiple event dots not shown on single date

    Multiple event dots not shown on single date

    Is your feature request related to a problem? Please describe. I want to add dots according to number of event on a date. e.g if I have 2 events on 2022-01-11 then 2 dots shown below the date.

    Describe the solution you'd like Event Dots are shown according to number of event on that date.

    opened by QaziAmmar 0
Releases(1.6.1)
Owner
Deepan
Android Developer
Deepan
With MaterialTimelineView you can easily create a material looking timeline.

MaterialTimelineView With MaterialTimelineView you can easily create a material looking timeline. Setup The library is pushed to jCenter() as an AAR,

Przemek 454 Dec 19, 2022
Vigour - An Android Fitness App that rewards users with Crypto for walking a certain amount of steps.

Vigour Group Project for 2022 Mobile Application Development. Our app rewards user with crypto after walking for a certain amount of steps. We will be

null 3 Sep 12, 2022
ShapeShift️ - A Kotlin library for intelligent object mapping and conversion between objects

ShapeShift️ A Kotlin library for intelligent object mapping and conversion between objects. Documentation Installation Maven Gradle Groovy DSL Kotlin

KRUD 127 Dec 7, 2022
Swift-friendly api generator for Kotlin/Native frameworks

MOKO KSwift KSwift it's gradle plugin for generation Swift-friendly API for Kotlin/Native framework. Kotlin sealed interface/class to Swift enum Kotli

IceRock Development 226 Dec 28, 2022
ViaBackwardsTranslator - A tool to translate ViaBackwards mapping locale

ViaBackwardsTranslator A tool to translate ViaBackwards mapping locale. How to O

null 2 Sep 30, 2022
Koin Annotations - help declare Koin definition in a very fast and intuitive way, and generate all underlying Koin DSL for you

The goal of Koin Annotations project is to help declare Koin definition in a very fast and intuitive way, and generate all underlying Koin DSL for you. The goal is to help developer experience to scale and go fast ?? , thanks to Kotlin Compilers.

insert-koin.io 68 Jan 6, 2023
Android Library that provide simpler way to achieve modularity

ToyBricks 中文文档 ToyBricks简介以及原理分析 ToyBricks用户手册 Introduction Android Library that provide simpler way to achieve modularity. Compile System requirement

null 33 Nov 14, 2022
Solves every bug, ever, for any Paper server.

NoServer Solves every bug, ever, for any Paper server. How does it work? By employing the use of advanced philosophical-programmatic thinking, we have

Brian 7 Dec 29, 2021
Healtify is a native android app which allows the user to track the amout of Calories they are consuming

Healtify is a native android app which allows the user to track the amout of Calories they are consuming. It not only tracks the calories but also shows how much of fat, protein and carbs they have consumed and how much they should be doing.

Anindya Ray 9 Aug 20, 2022
A nice weather that helps you get all information including: current weather, hourly weather and also forecasts for 16 days

WeatherForecast This is an ongoing project where I fetch all the weather data using Retrofit and Kotlin Coroutines over two APIs containing both curre

null 2 Jul 26, 2022
Gradle plugin adding a task to run a Paper Minecraft server

Run Paper Run Paper is a Gradle plugin which adds a task to automatically download and run a Paper Minecraft server along with your plugin built by Gr

Jason 64 Dec 29, 2022
A Mindustry mod adding turrets from older versions of Mindustry, specifically Mindustry Classic

Mindustry Kotlin Mod Template A Kotlin Mindustry mod that works on Android and PC. This is equivalent to the Java version, except in Kotlin. Building

null 4 Sep 3, 2022
Android Ptrace Inject for all ABIs and all APIs. Help you inject Shared Library on Android.

Android Ptrace Inject 中文可以参考我的注释内容进行理解 我写的注释相对来说比较全面了 How to build Make sure you have CMake and Ninja in your PATH Edit CMakeLists.txt. Set ANDROID_ND

SsageParuders 65 Dec 19, 2022
Android calendar library provides easy to use widget with events

Kotlin-AgendaCalendarView Kotlin-AgendaCalendarView based on AgendaCalendarView Kotlin-AgendaCalendarView is a awesome calendar widget with a list of

Ognev Zair 88 Nov 21, 2022
A lightweight Kotlin friendly wrapper around Couchbase lite for Android.

CouchBaseKtx ?? Work In-Progress ?? A lightweight Kotlin friendly wrapper around Couchbase-lite for Android Read up a little bit of documentation abou

Jaya Surya Thotapalli 5 Feb 15, 2022
Kotlin and Ktor app, which can easily be deployed to Heroku

[ ?? Work in progress ??‍♀️ ⛏ ?? ??️ ?? ?? ?? ] Shoppe Kotlin Multiplatform App Kotlin and Ktor app, which can easily be deployed to Heroku. This appl

Adrian Witaszak 13 Oct 2, 2022
Arrow Endpoint offers a composable Endpoint datatype, that allows us easily define an Endpoint from which we can derive clients, servers & documentation.

Arrow Endpoint Arrow Endpoint offers a composable Endpoint datatype, that allows us easily define an Endpoint from which we can derive clients, server

ΛRROW 23 Dec 15, 2022
Arrow Endpoint offers a composable Endpoint datatype, that allows us easily define an Endpoint from which we can derive clients, servers & documentation.

Arrow Endpoint Arrow Endpoint offers a composable Endpoint datatype, that allows us easily define an Endpoint from which we can derive clients, server

ΛRROW 8 Oct 11, 2021