ARabbit: an SDK for rapid development of Android App

The public account [National Programmer] Gives back fan benefits: cash red envelopes and book delivery activities are in progress , click to participate !

My new book "Android App Development Introduction and Actual Combat" was published by People's Posts and Telecommunications Publishing House in August 2020. Welcome to buy.

Books For details, see: https://blog.csdn.net/ddnosh/article/details/107666187

books to buy Address: Jingdong Dangdang Lynx

Picture name

Welcome to join the Android development and communication QQ group:
Android development technology exchange

Project Description

ARabbit aims to provide an SDK for the rapid development of Android App, so that developers can focus more on the business realization of the App, and no longer need to care about the realization of specific functions, such as network requests, dialog boxes, caching, etc. Worry about memory leaks.

The meaning of the name ARabbit: A stands for Android, Rabbit means rabbit, which symbolizes fast speed and matches the original intention of this project: rapid development.

project address

https://github.com/ddnosh/ARabbit

Project structure

ARabbit contains two projects, one is app and the other is sdk.
sdk: As the name implies, it is used to provide a library for rapid app development, encapsulating commonly used functions;
app: As a demonstration project of ARabbit SDK, adopts MVVM mode, integrates mainstream modules such as RxJava+Retrofit+OkHttp+Glide, and uses ViewBinding technology.

SDK features

  1. constant: store constants;
  2. module: functional module;
    2.1 asynchronize: asynchronous module, including eventbus and handler;
    2.2 exception: exception handling;
    2.3 glide: encapsulation of picture module glide;
    2.4 retrofit: functional encapsulation of network module retrofit, including exception and ssl;
    2.5 rxjava: rxjava Partial function package;
  3. mvvm
    3.1 livedata: enhanced version of livedata
  4. ui: UI module
    4.1 adapter: single layout and multiple layouts;
    4.2 base: provide activity and fragment base classes;
    4.3 dialog: provide dialogs based on dialog and dialogfragment;
    4.4 multipleviewstatus: support for different page status;
    4.5 receiver: support for receiver;
    4.6 view: commonly used view control support;
    4.7 webview: provide an activity to load webview;
  5. Util: provide some commonly used Util tools;
    5.1 immersion: immersive status bar;
    5.2 manager: storage management;

App function

  1. MVVM architecture (simplified version, only View + ViewModel, to solve RxJava memory leak problem through CompositeDisposable);
  2. Improved LiveData, to ensure that LiveData is not lost, LiveData is called back when activated, and there is no memory leak;
  3. ViewBinding view binding;
  4. Network connection (retrofit + okhttp, rxjava binds the life cycle through rxlifecycle, RxJava exception handling)
  5. Image processing: Glide
  6. Customize various Dialog
  7. Kotlin coroutine

Major revision log

  • The 3.1.0 version was renamed, and the App project examples were improved;
  • Use Kotlin in version 3.0.0;
  • Version 2.2.0 supports AndroidX;
  • 2.1.0 version strips some third-party libraries that are mandatory to reference;
  • 2.0.0 version changed the package name to com.androidwind.androidquick;
  • The first submission of version 1.0.0;

Referenced third-party libraries

api rootProject.ext.dependencies.values()
//eventbus
api 'org.greenrobot:eventbus:3.2.0'
//butterknife
api "com.jakewharton:butterknife:10.0.0"
annotationProcessor "com.jakewharton:butterknife-compiler:10.0.0"
//rxjava
api "io.reactivex.rxjava2:rxjava:2.2.10"
api "io.reactivex.rxjava2:rxandroid:2.1.1"
//retrofit
api 'com.squareup.retrofit2:retrofit:2.6.2'
//okhttp
api 'com.squareup.okhttp3:okhttp:4.2.2'
api 'com.squareup.okhttp3:logging-interceptor:3.12.1'
//gson
api 'com.google.code.gson:gson:2.8.6'
//glide
api 'com.github.bumptech.glide:glide:4.10.0'
api 'jp.wasabeef:glide-transformations:4.0.0@aar'

Some open source frameworks referenced by the SDK

Projects using ARabbit

Welcome to pay attention to my technical public number: national programmers , our goal: output dry goods

  1. Share original technical articles every day
  2. Massive free technical materials and video learning resources
  3. Share the ways to make money and lead programmers to financial freedom
Picture name

Guess you like

Origin blog.csdn.net/ddnosh/article/details/108486981
Recommended