groundy alternatives and similar packages
Based on the "Utility" category.
Alternatively, view groundy alternatives based on common mentions on social networks and blogs.
-
StatusBarUtil
A util for setting status bar style on Android App. -
timber
A logger with a small, extensible API which provides utility on top of Android's normal Log class. -
ExpirableDiskLruCache
Java implementation of a Disk-based LRU cache which specifically targets Android compatibility. -
tape
A lightning fast, transactional, file-based FIFO for Android and Java. -
joda-time-android
Joda-Time library with Android specialization -
tray
a SharedPreferences replacement for Android with multiprocess support -
OpenKeychain
OpenKeychain is an OpenPGP implementation for Android. -
AutobahnAndroid
WebSocket & WAMP in Java for Android and Java 8 -
easydeviceinfo
:iphone: [Android Library] Get device information in a super easy way. -
Android-Templates-And-Utilities
Collection of source codes, utilities, templates and snippets for Android development. -
secure-preferences
Android Shared preference wrapper than encrypts the values of Shared Preferences. It's not bullet proof security but rather a quick win for incrementally making your android app more secure. -
greenrobot-common
General purpose utilities and hash functions for Android and Java (aka java-common) -
Androl4b
A Virtual Machine For Assessing Android applications, Reverse Engineering and Malware Analysis -
vector-compat
A support library for VectorDrawable and AnimatedVectorDrawable classes introduced in Lollipop -
CastCompanionLibrary-android
CastCompanionLibrary-android is a library project to enable developers integrate Cast capabilities into their applications faster and easier. -
android_dbinspector
Android library for viewing, editing and sharing in app databases. -
AndroidBillingLibrary
Android Market In-app Billing Library -
motion
An Android library allowing images to exhibit a parallax effect that reacts to the device's tilt -
Colours
A beautiful set of predefined colors and a set of color methods to make your Android development life easier. -
MrVector
[Deprecated] AKA VectorDrawableCompat: A 7+ backport of VectorDrawable -
EasyCamera
Wrapper around the android Camera class that simplifies its usage -
Reservoir
Android library to easily serialize and cache your objects to disk using key/value pairs. -
davdroid
DAVdroid – CalDAV/CardDAV synchronization for Android 4+ devices -
android-validation-komensky
A simple library for validating user input in forms using annotations. -
dspec
A simple way to define and render UI specs on top of your Android UI. -
routable-android
Routable, an in-app native URL router, for Android -
Treasure
Very easy to use wrapper library for Android SharePreferences
Appwrite - The Open Source Firebase alternative introduces iOS support
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of groundy or a related project?
README
Groundy library for Android
@Deprecated
Unfortunatenly this library is no longer maintained, we encourage you to use other widely supported solutions like RxJava.
Groundy is a fun, sexy way to do background work on your Android app; it's specially useful for running tasks that must be executed even if your activities/fragments are destroyed. It allows you to receive notifications from the background task directly to your activity or any object.
It is useful for several scenarios like executing calls to external services (e.g. RESTful web services), download and/or process files, encoding audio/video and any kind of task that could block the main thread.
Basic usage
Create a subclass of GroundyTask
:
public class ExampleTask extends GroundyTask {
@Override
protected TaskResult doInBackground() {
// you can send parameters to the task using a Bundle (optional)
String exampleParam = getStringArg("arg_name");
// lots of code
// return a TaskResult depending on the success of your task
// and optionally pass some results back
return succeeded().add("the_result", "some result");
}
}
Whenever you want to execute the task, just do this:
// this is usually performed from within an Activity
Groundy.create(ExampleTask.class)
.callback(callbackObj) // required if you want to get notified of your task lifecycle
.arg("arg_name", "foo") // optional
.queueUsing(YourActivity.this);
You will get results in your callback object(s) (in the main thread):
@OnSuccess(ExampleTask.class)
public void onSuccess(@Param("the_result") String result) {
// do something with the result
}
Do not forget to add GroundyService
to the AndroidManifest.xml
file:
<service android:name="com.telly.groundy.GroundyService"/>
Extending callback system
There are some already defined onCallback annotations: @OnSuccess
, @OnFailed
, @OnCancel
,
@OnProgress
and @OnStart
, but you can also create your own callback types like:
@OnCallback(task = ChuckTask.class, name = "kick")
public void onChuckNorrisAttack(@Param("target") String target) {
Toast.makeText(this, "Chuck Norris kicked your " + target, Toast.LENGTH_SHORT).show();
}
Take a look at the custom callbacks example for details on this.
Integration
In order to use this library from you Android project using Maven your pom should look like this:
<dependency>
<groupId>com.telly</groupId>
<artifactId>groundy</artifactId>
<version>(insert latest version)</version>
</dependency>
<!-- enables groundy JSR-269 processor which makes everything up to 5 times faster -->
<dependency>
<groupId>com.telly</groupId>
<artifactId>groundy-compiler</artifactId>
<version>(insert latest version)</version>
</dependency>
For Gradle projects use:
compile 'com.telly:groundy:(insert latest version)'
provided 'com.telly:groundy-compiler:(insert latest version)'
Note: provided
dependencies are supported by android gradle plugin v0.8 or later.
At this point latest version is 1.5
.
Proguard
If you are using proguard, please add these rules
-keepattributes *Annotation*
-keepclassmembers,allowobfuscation class * {
@com.telly.groundy.annotations.* *;
<init>();
}
-keepnames class com.telly.groundy.generated.*
-keep class com.telly.groundy.generated.*
-keep class com.telly.groundy.ResultProxy
-keepnames class * extends com.telly.groundy.ResultProxy
-keep class * extends com.telly.groundy.GroundyTask