Need help with AndroidQuickUtils?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

cesarferreira
254 Stars 51 Forks MIT License 219 Commits 0 Opened issues

Description

Android Development Utils

Services available

!
?

Need anything else?

Contributors list

# 20,407
Swift
Ruby
pub-sub
Gradle
166 commits
# 83,905
Ruby
Android
Gradle
Rust
13 commits
# 135,862
kotlin-...
multi-s...
python-...
Flask
2 commits

QuickUtils

QuickUtils Maven Central Android Arsenal

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.

Header

Main features

  • [x] REST - Simple REST requests and automatic parse
  • [x] Cache Magic - Easily serialize and cache your objects to disk using key/value pairs
  • [x] 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>() {})
            .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>() {}) .withCallback(callback);

Cache magic!

Easily serialize and cache your objects to disk using key/value pairs.

Save

sync

java
QuickUtils.cacheMagic.save("somePerson", new Person("john doe"));

async

java
QuickUtils.cacheMagic.save("somePerson", new Person("john doe"), new SaveToCacheCallback() {(...)});

Read

sync

java
QuickUtils.cacheMagic.read("somePerson", null);

async

java
QuickUtils.cacheMagic.readAsync("somePerson", new TypeToken() {}, new ReadFromCacheCallback() {(...)});

Delete

QuickUtils.cacheMagic.delete("somePerson"); // deleteAsync also works

Erases ALL the key/values that are stored

java
QuickUtils.cacheMagic.deleteAll();

Exists

Check if a key/value exists

java
boolean personExists = QuickUtils.cacheMagic.existsKey("somePerson");

Async Image Loader

Image downloading and caching ```java // 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.

java
// 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.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.