Apache-Mime Android Rest Client/ Создание Android Rest клиента с использованием библиотеки Apache-Mime
Существует довольно много способов создания Android rest клиента. Недавно я описывал, как создать простой клиент средствами библиотеки Android Asynchronous Http Client . В этой заметке мы воспользуемся Apache http Mime(здесь же и описание для maven) библиотекой. Библиотека написана на Java, без использования Android SDK – этот код будет также прекрасно работать в Java SE приложении. Стоит отметить, что эта библиотека не является потоко – безопасной, поэтому этот код необходимо поместить в отдельный поток, а еще лучше, обернуть в оболочку AsyncTask.
DefaultHttpClient localDefaultHttpClient = new DefaultHttpClient();
HttpPost localHttpPost = new HttpPost("http://192.168.5.199:8084/RestApplication/requestFile/new");
try{
JSONObject jsonobj = new JSONObject();
try {
jsonobj.put("ip", myIp);
jsonobj.put("destination", destIp);
jsonobj.put("port", destinationPort);
} catch (JSONException e) {
e.printStackTrace();
}
StringEntity se = new StringEntity(jsonobj.toString());
se.setContentType("application/json;charset=UTF-8");
se.setContentEncoding(new BasicHeader(HTTP.CONTENT_TYPE,"application/json;charset=UTF-8"));
localHttpPost.setEntity(se);
HttpResponse localHttpResponse = localDefaultHttpClient.execute(localHttpPost);
System.out.println("responsecode " + localHttpResponse.getStatusLine().getStatusCode());
if(localHttpResponse.getStatusLine().getStatusCode()==200){
Log.i(TAG,"Success");
}
}catch(IOException e){
e.printStackTrace();
}
}
Описание:
1. Создаем экземпляры объектов DefaultHttpClient и HttpPost(для post запроса). Для экземпляра HttpPost указываем вызываемый URL.
2. Создаем JsonObject и добавляем в него необходимые параметры.
3. Далее переводим JsonObject в String строку, указываем mine тип application/json и кодировку.
4. Далее связываем тело запроса с HttpPost и делаем вызов удаленного Rest метода.
5. Проверяем возвращаемый тип
Готово. Теперь Вы и сами убедились, как просто работать с Rest Запросами в Android