Skip to content

Repository files navigation

Localify

Version: 1.0.0

LicenseAndroid Arsenal

Description

Localify is a small library which allows to load a content from files which are stored under assets and/or raw directory. It can be useful when you have to load some init data or during tests to load mock data.

Welcome to fork and pull request.

1.Integration
Using Gradle:
dependencies {
compile 'com.github.polok.localify:localify:1.0.0'
}
Using Maven:
<dependency>
<groupId>com.github.polok.localify</groupId>
<artifactId>localify</artifactId>
<version>1.0.0</version>
</dependency>
2.Usage
First you have to init a LocalifyClient (the basic version) where you have to set the AssetManager and/or the Resources
LocalifyClientlocalifyClient = newLocalifyClient.Builder()
.withAssetManager(getAssets()) //If you want to read from raw directory
.withResources(getResources()) //If you want to read from assets directory
.build();
Read a file from assets or raw directory. You can do this in three different ways:
1)
StringloadAssetsFile(StringfileName);
StringloadRawFile(@RawResintfileNameRawId);
//Read from assets directoryStringdataAssets = localifyClient.localify().loadAssetsFile("test.text");
//Read from raw directoryStringdataRaw = localifyClient.localify().loadRawFile(R.raw.test);
2)
voidloadAssetsFile(StringfileName, LocalifyCallback<T> callback);
voidloadRawFile(@RawResintfileNameRawId, LocalifyCallback<T> callback);
//Read from assets directorylocalifyClient.localify()
.async()
.loadAssetsFile("test.txt", newLocalifyCallback<String>() {
@OverridepublicvoidonSuccess(Stringdata) {
}
@OverridepublicvoidonError(Throwablethrowable) {
}
});
//Read from raw directorylocalifyClient.localify()
.async()
.loadRawFile(R.raw.test, newLocalifyCallback<String>() {
@OverridepublicvoidonSuccess(Stringdata) {
}
@OverridepublicvoidonError(Throwablethrowable) {
}
});
3)
Observable<String> loadAssetsFile(StringfileName);
Observable<String> loadRawFile(@RawResintfileNameRawId);
localifyClient.localify()
.rx()
.loadAssetsFile("test.txt")
.subscribeOn(Schedulers.io())
.subscribe(newSubscriber<String>() {
@OverridepublicvoidonCompleted() {
}
@OverridepublicvoidonError(Throwablee) {
}
@OverridepublicvoidonNext(Strings) {
}
});
localifyClient.localify()
.rx()
.loadRawFile(R.raw.test)
.subscribeOn(Schedulers.io())
.subscribe(newSubscriber<String>() {
@OverridepublicvoidonCompleted() {
}
@OverridepublicvoidonError(Throwablee) {
}
@OverridepublicvoidonNext(Strings) {
}
});

3. Additional settings

By default asynchronous callbacks run in Android main thread. If you want this can be changed by 'withExecutor(executor)' method invoked on LocalifyCalient's builder:

LocalifyClientlocalifyClient = newLocalifyClient.Builder()
.withExecutor(....)
...
.build();

4. More examples

Load json file and map to object
localifyClient.localify()
.rx()
.loadAssetsFile("test.json")
.subscribeOn(Schedulers.io())
.map(newFunc1<String, User>() {
@OverridepublicUsercall(Stringdata) {
Gsongson = newGsonBuilder().create();
returngson.fromJson(data, User.class);
}
}).subscribe(newSubscriber<User>() {
@OverridepublicvoidonCompleted() {
}
@OverridepublicvoidonError(Throwablee) {
}
@OverridepublicvoidonNext(Useruser) {
}
});

If you want to see more details, go ahead and check the demo!

License

Copyright 2015 Marcin Polak
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.

About

Localify is a small Andorid library which allows to load a content from files which are stored under assets and/or raw directory. It can be useful when you have to load some init data or during tests to load mock data.

Resources

Stars

68 stars

Watchers

8 watching

Forks

Releases

Packages

Contributors

Languages