@Rinefica

Как организовать приложение клиент-сервер на android?

Реализован сервер, имеется API к нему. Принимает URL, возвращает JSON.
Нужно сделать приложение на Android, особых требований к безопасности нет, все его задачи - это чтение-написание статей, добавление фоток и обмен сообщениями. Какие современные подходы сейчас применяются и что подойдет?
  • Вопрос задан
  • 294 просмотра
Пригласить эксперта
Ответы на вопрос 4
zagayevskiy
@zagayevskiy Куратор тега Java
Android developer at Yandex
Для такого апи идеален Retrofit.
Ответ написан
Комментировать
@Comatu
я пробовал сделать похожий вариант с использованием Firebase: но тогда не смог разобраться с ним, не хватило опыта. Он все описанные возможности реализует. В итоге написал сам на чистом java, все достаточно примитивно. Но не для большого объема данных.
Ответ написан
Комментировать
AlexanderYudakov
@AlexanderYudakov
C#, 1С, Android, TypeScript
Обычный Java и стандартная Android-библиотека вполне подойдут:

/**
 * Выполняет GET запрос к http-серверу, 
 * возвращает JSONArray, либо JSONObject */
public static Object getJsonFromServer(String relativeUrl) throws Exception {
    URL url = new URL("http://example.com/" + relativeUrl);
    HttpURLConnection con = (HttpURLConnection) url.openConnection();

    int statusCode = con.getResponseCode();
    if (statusCode != HttpURLConnection.HTTP_OK)
        throw new IOException(con.getResponseMessage() + " (HTTP " + statusCode + ")");

    BufferedReader reader = new BufferedReader(new InputStreamReader(
        con.getInputStream(), Charset.forName("utf-8")));

    StringBuilder sb = new StringBuilder();
    try {
        String line;
        while ((line = reader.readLine()) != null)
            sb.append(line);
    } finally {
        reader.close();
    }

    String text = sb.toString();
    if (TextUtils.isEmpty(text))
        return null;

    return new JSONArray("[" + text + "]").get(0);
}

Ничего другого не нужно.
Ответ написан
Комментировать
TranE91
@TranE91
Senior Android Engineer
Если по православному, то ныне подход Retrofit + RxJava = мощнейший инструмент для клиент-серверных задач.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы