All Projects → dailystudio → devbricksx-android

dailystudio / devbricksx-android

Licence: Apache-2.0 License
DevBricksX provides plenty of useful classes that will be used in daily Android development.

Programming Languages

kotlin
9241 projects
java
68154 projects - #9 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to devbricksx-android

Notzz App
📝 A Simple Note-Taking App built to demonstrate the use of Modern Android development tools - (Kotlin, Coroutines, State Flow, Hilt-Dependency Injection, Jetpack DataStore, Architecture Components, MVVM, Room, Material Design Components).
Stars: ✭ 158 (+618.18%)
Mutual labels:  recyclerview, room-persistence-library
Antonio
Android library for the adapter view (RecyclerView, ViewPager, ViewPager2)
Stars: ✭ 89 (+304.55%)
Mutual labels:  recyclerview, viewpager2
Base Mvvm
App built to showcase basic Android View components like ViewPager, RecyclerView(homogeneous and heterogeneous items), NavigationDrawer, Animated Vector Drawables, Collapsing Toolbar Layout etc. housed in a MVVM architecture
Stars: ✭ 18 (-18.18%)
Mutual labels:  recyclerview, room-persistence-library
Nytimes App
🗽 A Simple Demonstration of the New York Times App 📱 using Jsoup web crawler with MVVM Architecture 🔥
Stars: ✭ 246 (+1018.18%)
Mutual labels:  recyclerview, room-persistence-library
Updoot
A reddit client built for android
Stars: ✭ 51 (+131.82%)
Mutual labels:  room-persistence-library
BaseRecyclerAndAdapter
BaseRecyclerAndAdapter
Stars: ✭ 86 (+290.91%)
Mutual labels:  recyclerview
StickyHeader
A simple lightweight sticky header ItemDecorator for RecyclerView
Stars: ✭ 108 (+390.91%)
Mutual labels:  recyclerview
Quiz-App
A Quiz Android application 📱 built using Java ♨️ and showing best practices of 🛠️ Room
Stars: ✭ 33 (+50%)
Mutual labels:  room-persistence-library
SlideTable
可以滑动 以表格形式展示数据
Stars: ✭ 14 (-36.36%)
Mutual labels:  recyclerview
android-tableview-kotlin
Android's missing TableView component.
Stars: ✭ 40 (+81.82%)
Mutual labels:  recyclerview
productivity-tips-for-mac
Awesome Productivity Tips for Mac Developers
Stars: ✭ 38 (+72.73%)
Mutual labels:  utilities
volx-recyclerview-fast-scroll
An easy to use implementation for fast scroll recyclerview
Stars: ✭ 34 (+54.55%)
Mutual labels:  recyclerview
iwfp
A utility (Android/iOS/web) app to help maximize your credit card cashback rewards with math and magic. May the five percent be with you ;)
Stars: ✭ 24 (+9.09%)
Mutual labels:  utilities
purescript-ffi-utils
A utility library for the purescript foreign function interface
Stars: ✭ 22 (+0%)
Mutual labels:  utilities
kandy
Sweet Android libraries written in Kotlin
Stars: ✭ 19 (-13.64%)
Mutual labels:  recyclerview
DiverseRecyclerAdapter
A small and yet powerful library, which greatly simplifies building lists of different items
Stars: ✭ 16 (-27.27%)
Mutual labels:  recyclerview
JustJava-Android
JustJava is a mock food ordering and delivery application for a coffee shop.
Stars: ✭ 59 (+168.18%)
Mutual labels:  room-persistence-library
nestedRecycler
A sample tutorial android app to implement Nested Recycler View easily using Kotlin
Stars: ✭ 61 (+177.27%)
Mutual labels:  recyclerview
mogo
A collection of small DRY Go utilities to make life easier. DRY = Don't Repeat Yourself.
Stars: ✭ 19 (-13.64%)
Mutual labels:  utilities
recycler-adapter
RecyclerView-driven declarative UIs
Stars: ✭ 124 (+463.64%)
Mutual labels:  recyclerview

DevBricks X - Android

License API Maven Central

DevBricksX is a remake and extended version of DevBricks. It provides plenty of useful classes that will be used in daily Android development. With these "bricks", your development will become:

  • Efficient: The classes provided by DevBricks almost cover all of the aspects in daily development, from the low-end database to the user interface. You do not need to waste your time on those repeating work.
  • Reliable: It has been integrated into enormous products. Your work will stand on a stable foundation.
  • Consistent: It includes a unified logging system, database accessing, UI elements, and styles. This makes all of your applications have consistency at the primary impression.

With only a few lines, you can save in memory User objects into database and represent them in a list:

Quick Setup

To use DevBricks X Libraries in your application, follow the steps below.

Step 1: Installation

Add the following dependencies in build.gradle of your application.

Dependencies

repositories { 
    mavenCentral()
}

dependencies {
    // Basic Library for Android development
    implementation "cn.dailystudio:devbricksx:$devbricksx_version"

    // (Optional) Annotations and processors to generate low-level facilities, such as Dao, Database, etc. 
    implementation "cn.dailystudio:devbricksx-java-annotations:$devbricksx_version"
    kapt "cn.dailystudio:devbricksx-java-compiler:$devbricksx_version"
    // (Optional) If you use the feature above, DO NOT forget this line 
    kapt "androidx.room:room-compiler:2.4.1"

    // (Optional) Annotations and processors to generate high-level utils, such ViewModel, Fragment, etc.
    implementation "cn.dailystudio:devbricksx-kotlin-annotations:$devbricksx_version"
    kapt "cn.dailystudio:devbricksx-kotlin-compiler:$devbricksx_version"
}

Latest version

devbricksx_version = "1.6.0"

Compile options

Add the following compile options in build.gradle of your application module.

compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
}

kotlinOptions {
    jvmTarget = "1.8"
}

IMPORTANT:

After version 1.5.9, you MUST add these compile options in your build script to use Java 1.8 binary code. And, REMOVE all the @JvmField in your codes.

Step 2: Application initialization (Optional)

This step helps you to integrate parts of utilities automatically, such as Logging facilities.

Extends your application from DevBricksApplication:

class MyApplication : DevBricksApplication() {

    override fun isDebugBuild(): Boolean {
        return BuildConfig.DEBUG
    }
    
}

The BuildConfig is the one generated for your top-level application not those for modules. It provides information about your build type to the library.

Then declare it in your AndroidMenifest.xml:

<manifest>
    ...
    <application
        android:name=".MyApplication">
        ...
    </application>
    ...
</manifest>

Usage

Now you can enjoy this library in your way. The facilities provided in this library include different topics, please read the instructions carefully in each topic for details.

  • Logging

    An enhanced logging system which can turn on/off debug outputs automatically.

  • Gloabl Context

    A global context that you can use anywhere in your code without memory leaks.

  • Database

    A set of utilities to simplify the usage of Android Room components. It can generate Room, Dao, Database, and Repository for a class through one annotation.

  • UI

    Plenty of classes to simplify high-level development. Combine with Database facilities, you can save an object in database and then represent it in a list view with less than 20 lines of code.

Jcenter deprecation

Since JFrog to Shut down JCenter and Bintray, starting from version 1.4.1, all the artifacts will be maintained under the groupdId cn.dailystudio. The versions before that will still available under the groupId com.dailystudio.

For example, if you want to refer to version 1.3.0, you should add the following lines in your build.gradle

repositories { 
    mavenCentral()
}

dependencies {
    implementation 'com.dailystudio:devbricksx:1.3.1'

    implementation 'com.dailystudio:devbricksx-java-annotations:1.3.1'
    implementation 'com.dailystudio:devbricksx-kotlin-annotations:1.3.1'

    kapt 'com.dailystudio:devbricksx-java-compiler:1.3.1'
    kapt 'com.dailystudio:devbricksx-kotlin-compiler:1.3.1'
}

License

Copyright 2021 Daily Studio.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].