## Usage ### 1. Register your APP Register your APP on irext SDK console [irext SDK console](http://site.irext.net), (You need to register an irext account first While your APP is registered, you can see the APP key and APP secret in your APP list ### 2. Import the SDK You can either import this project or download the web-api .jar file from [Java SDK](http://irext-lib-releaese.oss-cn-hangzhou.aliyuncs.com/decode/0.1.2/web-api-java-0.1.2.jar) and import to your project ### 3. Use the SDK Import classes: ```java import net.irext.webapi.model.*; import net.irext.webapi.WebAPIs; import net.irext.webapi.WebAPICallbacks.*; ``` Get web API instance: ```java WebAPIs webApis = WebAPIs.getInstance(); ``` Sign in for access id and token: ```java // App key and secret are fetched in step 1. SignInCallback signInCallback = new SignInCallback() { @Override public void onSignInSuccess(UserApp userApp) { int id = userApp.getId(); int token = userApp.getToken(); } @Override public void onSignInFailed() { } @Override public void onSignInError() { } }; webApis.signIn(context, signInCallback); ``` Fetch household appliances categories: ```java ListCategoriesCallback listCategoriesCallback = new ListCategoriesCallback() { @Override public void onListCategoriesSuccess(List categories) { } @Override public void onListCategoriesFailed() { } @Override public void onListCategoriesError() { } }; webApis.listCategories(listCategoriesCallback); ``` Fetch brands of a certain category other than STB: ```java ListBrandsCallback listBrandsCallback = new ListBrandsCallback() { @Override public void onListBrandsSuccess(List brands) { } @Override public void onListBrandsFailed() { } @Override public void onListBrandsError() { } }; webApis.listBrands(category.getId(), listBrandsCallback); ``` Fetch cities (in China) for STB: ```java ListProvincesCallback listProvincesCallback = new ListProvincesCallback() { @Override public void onListProvincesSuccess(List provinces) { } @Override public void onListProvincesFailed() { } @Override public void onListProvincesError() { } }; ListCitiesCallback listCitiesCallback = new ListCitiesCallback() { @Override public void onListCitiesSuccess(List cities) { } @Override public void onListCitiesFailed() { } @Override public void onListCitiesError() { } }; webApis.listProvinces(listProvincesCallback); webApis.listCities(provincePrefix, listCitiesCallback); ``` Fetch STB operators of a certain city: ```java ListOperatersCallback listOperatorCallback = new ListOperatersCallback() { @Override public void onListOperatorsSuccess(List operators) { } @Override public void onListOperatorsFailed() { } @Override public void onListOperatorsError() { } }; webApis.listOperators(cityCode, listOperatorCallback); ``` Fetch remote indexes of a certain brand or STB operator: ```java ListIndexesCallback listIndexesCallback = new ListIndexesCallback() { @Override public void onListIndexesSuccess(List indexes) { } @Override public void onListIndexesFailed() { } @Override public void onListIndexesError() { } }; webApis.listRemoteIndexes(category.getId(), brand.getId(), city.getCode(), operator.getOperator_id(), listIndexesCallback); ``` Download IR binary for certain remote index: ```java DownloadBinCallback downloadBinCallback = new DownloadBinCallback() { @Override public void onDownloadBinSuccess(InputStream inputStream) { } @Override public void onDownloadBinFailed() { } @Override public void onDownloadBinError() { } }; webApis.downloadBin(remoteIndex.getRemote_map(), remoteIndex.getId(), downloadBinCallback); ```