Всем доброго утра! Проблема заключается в выборе способа: мне требуется забирать некоторый JSON, который отдается на API сервера (Node.js по некоторому запросу вернет JSON по SQL-запросу к бд). Наверное, это всё, что требуется.
Во-первых, достаточно ли, чтобы сервер только принимал запрос и в ответ возвращал информацию по запросу? Как это с точки зрения безопасности?
И каким образом на андроиде отправляют такой запрос и как дождаться ответа в виде того что мне требуется?
Достаточно или нет - зависит от того, что сервис отдаёт. Если это публичные данные, нет смысла их закрывать. Если приватные, можно использовать секретный ключ, как это делает большинство web-сервисов.
Отправляется теми же способами, как и в любой другой java-программе. И как и в любой другой java-программе (исключая, может быть, консольные утилиты) стоит делать это в фоновом потоке. В Android для этого есть AsyncTask и Handler. Выбор одного из них зависит от особенностей вашей программы. Пример использования AsyncTask:
private class GetJsonTask extends AsyncTask<URL, String, JSONObject> {
@Override
protected JSONObject doInBackground(URL... urls) { //Фоновый поток
HttpURLConnection connection = (HttpURLConnection)urls[0].openConnection();
try {
ByteArrayOutputStream out = new ByteArrayOutputStream();
InputStream in = connection.getInputStream();
if (connection.getResponseCode() != HttpURLConnection.HTTP_OK) {
throw new IOException(connection.getResponseMessage());
}
int bytesRead = 0;
byte[] buffer = new byte[1024];
while ((bytesRead = in.read(buffer)) > 0) {
out.write(buffer, 0, bytesRead);
}
out.close();
return new JSONObject(out.toString());
} finally {
connection.disconnect();
}
}
@Override
protected void onPostExecute(JSONObject json) { //Callback в главном потоке
//Делайте с вашим json всё, что нужно.
}
}
new GetJsonTask().execute(new URL('http://myservice.ru/somedata.json'));
Нужно создать рекурсивный запрос по UDP/TCP протоколуКто может подсказать, как это правильно реализовать?
Добрый деньПодскажите пожалуйста, есть шаблон документа Word, в котором имеется некоторый набор полей, в которые необходимо выгрузить соответствующие...
В январе nowMonth - 0, хорошоПочему nowMonth2 - 2017? Т
Я написал простую функцию на java в Android Studio, которая склеивает список контактов в строкуДанные хранятся в xml