All Projects → Mauin → servant

Mauin / servant

Licence: Apache-2.0 license
Serving you with GoogleApiClients any way you like them

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to servant

rxkotlin-jdbc
Fluent RxJava JDBC extension functions for Kotlin
Stars: ✭ 27 (+58.82%)
Mutual labels:  reactivex, rxjava
Web3j
Lightweight Java and Android library for integration with Ethereum clients
Stars: ✭ 3,537 (+20705.88%)
Mutual labels:  reactivex, rxjava
RxJava-Codelab
Codelab project for demonstration of RxJava features
Stars: ✭ 44 (+158.82%)
Mutual labels:  reactivex, rxjava
TMDB-App
Demo app using TMDB api
Stars: ✭ 13 (-23.53%)
Mutual labels:  reactivex, rxjava
Rxkotlinfx Tornadofx Demo
A demo application demonstrating TornadoFX and Rx usage
Stars: ✭ 75 (+341.18%)
Mutual labels:  reactivex, rxjava
reactor-go
A golang implementation for reactive-streams.
Stars: ✭ 48 (+182.35%)
Mutual labels:  reactivex, rxjava
Reactive
Reactive: Examples of the most famous reactive libraries that you can find in the market.
Stars: ✭ 256 (+1405.88%)
Mutual labels:  reactivex, rxjava
Rxdocs
Rx和RxJava文档中文翻译项目
Stars: ✭ 3,825 (+22400%)
Mutual labels:  reactivex, rxjava
Rxjavafx
RxJava bindings for JavaFX
Stars: ✭ 489 (+2776.47%)
Mutual labels:  reactivex, rxjava
Reprint
A unified fingerprint library for android.
Stars: ✭ 467 (+2647.06%)
Mutual labels:  reactivex, rxjava
Rxjava2 Extras
Utilities for use with RxJava 2
Stars: ✭ 167 (+882.35%)
Mutual labels:  reactivex, rxjava
Rxanimationbinding
RxJava binding APIs for Android's animations
Stars: ✭ 82 (+382.35%)
Mutual labels:  reactivex, rxjava
Rxkotlinfx
Kotlin extensions to the RxJavaFX framework
Stars: ✭ 177 (+941.18%)
Mutual labels:  reactivex, rxjava
RxLocation
Use with rxjava,No memory leak,Simple
Stars: ✭ 52 (+205.88%)
Mutual labels:  rxjava
ReactiveBus
🚍 Reactive Event Bus for JVM (1.7+) and Android apps built with RxJava 2
Stars: ✭ 17 (+0%)
Mutual labels:  rxjava
LearningPoint
A repository for learning different technologies, frameworks, features......
Stars: ✭ 66 (+288.24%)
Mutual labels:  reactivex
AndroidTutorials
Ejemplos Android [Dagger2,RxJava,MVP,Retrofit2,SQLite]
Stars: ✭ 22 (+29.41%)
Mutual labels:  rxjava
Fineract-CN-mobile
DEPRECATED project - Check the Apache fineract-cn-mobile project instead
Stars: ✭ 17 (+0%)
Mutual labels:  rxjava
WanAndroid-Java
一款采用Java语言、MVVM + Retrofit + RxJava架构开发的玩Android客户端 (https://www.wanandroid.com/) 。PS: Kotlin版 (https://github.com/chongyucaiyan/WanAndroid-Kotlin) 。
Stars: ✭ 32 (+88.24%)
Mutual labels:  rxjava
rxjava2-http
Transmit RxJava2 Flowable over http with non-blocking backpressure
Stars: ✭ 19 (+11.76%)
Mutual labels:  rxjava

Servant: Serving you GoogleApiClients so you don't have to worry about them

Servant will create and manage GoogleApiClient from Google Play Services for you so you can focus on the important actions and requests you want to perform with them.

Servant is especially useful if you want to use the GoogleApiClients in a reactive manner with RxJava.

Set-up

To use Servant in your project, add the library as a dependency in your build.gradle file:

dependencies {
    compile 'com.mtramin.servant2:servant:10.2.0.0'
}

To make it easier to recognize which version of Google Play Services is used Servants version number will always begin with the used Google Play Services version. It is recommended to always use the version of Servant that matches the version of the Google Play Services you use in your application.

MinSdk

This libraries minSdkVersion is 15.

Permissions

Depending on your usage of the GoogleApiClients you might also have to declare some permissions in your AndroidManifest.xml. Remember that from Android Marshmallow (API 23) you will have to support runtime permissions for those

Using Servant

Servant serves you GoogleApiClients in multiple formats:

  • With Actions as callbacks
  • Observable
  • Single
  • Completable

With action Callbacks:

Servant.actions(this, LocationServices.API,
        googleApiClient -> Log.e("Servant", "have action client"),
        throwable -> Log.e("Servant", "error in action client", throwable)
);

Observable client:

Servant.observable(this, LocationServices.API)
        .subscribe(
                googleApiClient -> Log.e("Servant", "have observable client"),
                throwable -> Log.e("Servant", "error in observable client", throwable)
        );

To use Servant to serve you GoogleApiClients as Single or Completable, simply call

Servant.single(/* implement GoogleApiClientSingle */)
Servant.completable(/* implement GoogleApiClientCompletable */)

Dependencies

![Method count](https://img.shields.io/badge/Methods count-core: 130 | deps: 21733-e91e63.svg)

Servant brings the following dependencies:

  • RxJava (v2.x)
  • Google Play Services (base) which provides GoogleApiClient

Due to the Google Play Services dependency also the method count of the library seems quite high. However since you will include Google Play Services in your application either way this does not really affect your method count. Servant only relies on the Google Play Services base package to have as little impact as possible.

In total Servant itself has a method count of below 150 methods.

Bugs and Feedback

For bugs, questions and discussions please use the Github Issues.

LICENSE

Copyright 2016 Marvin Ramin.

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].