2015-03-18 6 views
0

У меня есть веб-сайт, на котором я хочу создать приложение для Java, и, хотя у меня нет опыта в создании приложений для Android, у меня есть приличное количество опыта Java и чувствую себя как Я должен был бы выполнить эту задачу в течение некоторого времени. Я буду использовать пакет Java.IO для клиентской сети (на приложении) и размещения сервера с использованием Java. Этот server application будет иметь доступ ко всем тем же базам данных, что и веб-сайт через JDBC. (Я буду размещать все это на одном сервере.)Android Client-Server App & Web Services

Мой вопрос заключается в том, как обращаться с обработкой соединений на платформе Android, в настоящее время я проверяю динамически сгенерированную соль с солью базы данных на каждом обновлении страницы, чтобы предотвратить сеанс кража. Я также удостоверяю, что зашифрованный пароль и имя пользователя, хранящиеся в сеансе, совпадают.

Я мог бы теоретически просто создать стандартное серверное приложение, используя NIO и запустив весь сценарий с потоком за клиентом. Проблема в том, что у моего сайта довольно много трафика, и я знаю, что приложение тоже будет. Поэтому я столкнулся с проблемами в том, как справиться с этим.

Если я использую соединение TCP Keep-Alive и сохранить основные сведения в структуре данных класса (псевдопользователей пример):

class User { 
    int id; 
} 

Учитывая всю информацию, будет опрошен из базы данных, и все это по отношению к id учетной записи, нет причин хранить лишние данные в классе User, правильно? Просто быстрый простой поиск привязан к соединению только для получения данных, связанных с собой.

Должен ли я избегать использования сетей TCP для этого? Ребята, что вы думаете.

ответ

2

На стороне сервера создайте веб-службы REST, которые вызывают операции CRUD в базе данных сервера, и возвращают ответы клиенту как JSONObject или JSONArray. Android поддерживает внутреннюю поддержку JSON-анализа, и вы можете использовать библиотеку Volley для вызова веб-сервисов. Volley - довольно абстрактная высокоуровневая HTTP-библиотека, которая упрощает создание вызовов веб-службы REST. TCP-соединения довольно низкоуровневые и обычно не используются в клиент-серверных приложениях для Android. Дополнительную информацию см. В учебнике Transmitting Network Data.

+0

Спасибо, что касается изображений, должен ли я обслуживать их в формате URI или просто отправить ссылку на изображение клиенту и загрузить его самостоятельно? Или есть ли лучшие способы сделать это? – Hobbyist

+1

Вы можете отправить URI клиенту и загрузить изображения на Android с помощью класса «NetworkImageView» (также входящего в состав Volley). –