QuickUtils
This repository offers a set of random useful classes to deal with repetitive tasks in the Android Framework. Intended to help you getting your Android applications off the ground quickly, by offering ready-to-use components and utility classes that wrap a lot of the boilerplate that’s involved when writing Android apps.
Main features
- REST - Simple REST requests and automatic parse
- Cache Magic - Easily serialize and cache your objects to disk using key/value pairs
- Async Image Loader - Image downloading and caching
Installation
Including in your project via Gradle:
dependencies {
compile 'com.cesarferreira.quickutils:library:2.+'
}
Usage
Init the library in your Application class
public class SampleApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
QuickUtils.init(this);
}
}
REST
Simple REST requests and automatic parse
Gson Entity
public class Tweet {
@SerializedName("title")
public String title;
@SerializedName("amount_of_retweets")
public long retweetsTotal;
}
The Request
QuickUtils.rest.connect()
.GET() // POST() // PUT()
.load("https://path/to/the/tweets")
.as(new TypeToken<List<Tweet>>() {
}
)
.withCallback(callback);
Post with Header and Body params
Header requestHeader = new Header.Builder()
.add("Authorization", "Bearer Jhahdau2819ajsbdkasdkasdkashjdkahs")
.build();
Body requestBody = new Body.Builder()
.add("email", "[email protected]")
.build();
QuickUtils.rest.connect()
.POST(requestHeader, requestBody)
.load(url)
.as(new TypeToken<List<Person>>() {
}
)
.withCallback(callback);
Cache magic!
Easily serialize and cache your objects to disk using key/value pairs.
Save
sync
QuickUtils.cacheMagic.save("somePerson", new Person("john doe"));
async
QuickUtils.cacheMagic.save("somePerson", new Person("john doe"), new SaveToCacheCallback() {
(...)
}
);
Read
sync
QuickUtils.cacheMagic.read("somePerson", null);
async
QuickUtils.cacheMagic.readAsync("somePerson", new TypeToken<Person>() {
}
, new ReadFromCacheCallback<Person>() {
(...)
}
);
Delete
QuickUtils.cacheMagic.delete("somePerson");
// deleteAsync also works
Erases ALL the key/values that are stored
QuickUtils.cacheMagic.deleteAll();
Exists
Check if a key/value exists
boolean personExists = QuickUtils.cacheMagic.existsKey("somePerson");
Async Image Loader
Image downloading and caching
// Simple QuickUtils.imageCache.load(IMAGE_URL, imageView);
// or more complete QuickUtils.imageCache.load(IMAGE_URL, imageView, R.drawable.dummy, R.drawable.error);
Using the util methods
All you need to do is to specify the category and the method you want to use.
QuickUtils.__category__.__method__
E.g.
// Log something QuickUtils.log.e("this is an error");
// Make the smartphone vibrate for the amount of time you want QuickUtils.system.vibrate(1000);
// Convert pounds to KG QuickUtils.math.poundsToKg(weight);
// Does that file exists? QuickUtils.sdcard.exists(someFile);
// Encode a string QuickUtils.security.encodeBase64(someString);
// Save data QuickUtils.prefs.save(key, value);
// Retrieve saved data QuickUtils.prefs.getString(key, defaultValue);
QuickUtils.prefs.getInt(key, defaultValue);
// Remove saved data QuickUtils.prefs.remove(key);
// Etc. (hundreds more methods)
More Documentation
Take a look at our wiki.
Contributing
Contributions welcome via Github pull requests.
License
QuickUtils is available under the MIT license. See the LICENSE file for more info.