# IRext Java Web API Indexing to the specified remote index and download IR binary file for it. ## Android SDK Usage ### 1. Register your APP Register your APP on irext SDK console [irext SDK console](http://site.irext.net/sdk), (You need to register an irext account first) You need to fetch the package name and SHA1 signature of your APP and fill these information as SDK registration information 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 .aar file from [Android SDK](https://irext-lib-release.oss-cn-hangzhou.aliyuncs.com/1.5.0/index-sdk/index-sdk-android-1.5.0.aar) and import to your Android APP project Add 2 meta-data tags to your AndroidManifest.xml providing APP key and secret get from step 1. ```xml ``` ### 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 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); ``` ## Java Web SDK Usage ### 1. Register your APP Register your APP on irext SDK console [irext SDK console](http://site.irext.net/sdk), (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](https://irext-lib-release.oss-cn-hangzhou.aliyuncs.com/1.5.0/index-sdk/index-sdk-java-1.5.0.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); ```