AndroidQuickUtils

Additional

Language
Java
Version
2.4.3 (Mar 8, 2015)
Created
Jul 4, 2012
Updated
Mar 8, 2015 (Retired)
Owner
César Ferreira (cesarferreira)
Contributors
César Ferreira (cesarferreira)
Luis Pereira (luispereira)
Yuri Heupa (YuriHeupa)
3
Activity
Badge
Generate
Download
Source code

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", "john.doe@gmail.com")
            .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.