Optimize

Android library for displaying data based on JSON configuration fetched from server. With this library, you can kiss goodbye to string.xml, dimen.xml, arrays.xml. Keep all your string/integer/array config in one file. The library will automatically fetch the data from the url you provide.
Alternatives To Optimize
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
Ky9,0948752605 days ago53September 03, 202244mitTypeScript
🌳 Tiny & elegant JavaScript HTTP client based on the browser Fetch API
Wretch3,788485610 days ago52September 27, 20221mitTypeScript
A tiny wrapper built around fetch with an intuitive syntax. :candy:
Vue Json Excel6175228a year ago43October 05, 202066mitVue
Fakerest399141297 days ago25March 29, 20215mitJavaScript
Patch fetch/XMLHttpRequest to fake a REST API server in the browser, based on JSON data.
Ffq378
5 months ago9May 05, 2022mitPython
A tool to find sequencing data and metadata from public databases.
Dms152
a year ago22mitJavaScript
基于Json Schema的动态Json数据配置平台
Fetch Polyfill1401426 years ago3November 01, 20163JavaScript
fetch polyfill which supports all mainstream browsers, even IE6, IE7, IE8.....
Fetch Plus11633123 years ago20November 21, 201630otherJavaScript
🐕 Fetch+ is a convenient Fetch API replacement with first-class middleware support.
Vanilla Js100
a year ago1JavaScript
Projects using pure JavaScript without any external libraries or frameworks
Hades93
4 years ago1mitGo
Hades is a hypermedia-based HTTP/2 reverse proxy for JSON:API servers.
Alternatives To Optimize
Select To Compare


Alternative Project Comparisons
Readme

Optimize

API Android Arsenal Android library for displaying data based on JSON configuration fetched from server. With this library, you can kiss goodbye to string.xml, dimen.xml, arrays.xml. Keep all your string/integer/array config in one file. The library will automatically fetch the data from the url you provide.

How it works?

Have you ever had to work on an app, make it production ready and upload it to PlayStore. Then there comes a tiny modification where you need to change the text in a screen or the color of a button in another screen? Or perhaps we need to change the number of times a certain background task should run? Or maybe change the time a certain task is executed? Or maybe your case is similar to mine and we need to keep the error messages and the default app messages the same as displayed in the web. Or in the ios version of the app. So there is a single file that all 3 systems can reuse. For example, all my app messages are kept in string.xml file. Suppose they were kept in a json file in the backend. And everytime the app is opened the latest data is downloaded and cached locally in the app.

For example, in the sample app, you will see the url that I have given is https://s3-ap-southeast-1.amazonaws.com/android-optimize/optimize.json This is used to fetch my data from the backend asynchrously and cache it in app. Everytime the app is opened the data is fetched and based on the whether the content is changed or not, the data is cached locally. Note: The library is implemented using the Work Manager API provided by Google.

How to integrate the library in your app?

Gradle Dependecy

dependencies {
        implementation 'com.an.optimize:optimize:0.1.0'
}

Maven Dependecy

<dependency>
  <groupId>com.an.optimize</groupId>
  <artifactId>optimize</artifactId>
  <version>0.1.0</version>
  <type>pom</type>
</dependency>

Usage

Step 1: Add the internet permission in the Android Manifest file
<uses-permission android:name="android.permission.INTERNET" />
Step 2: Add the following code to your Application class or your Main Activity file
Optimize.getInstance().init(getApplicationContext(), "<Add the url of the json file>");
Step 3: All you have to do now to display a value from the json file is to call the below code
String stringData = Optimize.getInstance().getStringValue("<the name of the param key>", "<Default value to be displayed in case the backend data does not contain this key>");

//The same can be applied for Integers:
Optimize.getInstance().getIntegerValue("<the name of the param key>", <Default value in case the backend data does not contain this key>);

//The same can be applied for Double:
Double doubleData = Optimize.getInstance().getDoubleValue("<the name of the param key>", 0.00);

//The same can be applied for Boolean:
Boolean booleanData = Optimize.getInstance().getBooleanValue("boolean_data", false);

//The same can be applied for Number:
Number floatData = Optimize.getInstance().getNumberValue("float_data", -1.1);

//The same can be applied for a List:
List<String> listData = Optimize.getInstance().getList("list_data", Collections.emptyList());

And that's it! It's super simple.

Popular Fetch Projects
Popular Json Projects
Popular Networking Categories
Related Searches

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.
Java
Json
Fetch
Ab Testing