May 6, 2019, 4:34 a.m.

Какой принцип подключения для приложения Android к серверу.

Добрый день.
Скажите пожалуйста, какой принцип подключения для приложения Android к серверу.

We recommend hosting TIMEWEB
We recommend hosting TIMEWEB
Stable hosting, on which the social network EVILEG is located. For projects on Django we recommend VDS hosting.
4

Добрый день!

В данном случае для Qt не важно, какое приложение - десктоп или Android. Разница заключается в том, что нужно запросить разрешение на использование интернета в AdroidManifest.xml в остальном всё, что справедливо для десктоп приложений, также справедливо и для Андроида.

То есть можно использовать QTcpSocket , QUdpSocket для подключения к серверу, или сразу QNetworkAccessManager . Рекомендую использовать послендний. По большей части он покрывает большую часть необходимых вещей, особенно если речь касается подключения к серверу через http/https без самописных протоколов.

Если честно, то для более полного ответа на вопрос нужно понимать, что представляет из себя сам сервер. Если это сервер с REST-API, то тут можно обойтись и QNetworkAccessManager . Если что-то иное, то возможно потребуется писать более низкоуровневый клиент с использованием сокетов.

0

А если, к примеру есть обычный компьютер, на ем установлен SQL, то к этому SQL нужно подключаться с помощьюQNetworkAccessManager ?

0

Ну вот уже и конкретика пошла. Нет, здесь иначе делают, если вы напрямую к базе данных подключаетесь, то достаточно настроить подключение к базе данных, как для обычного десктоп приложения. Загвоздка может быть в том, что потребуется сборка драйвера для базы данных. Но если честно, то очень редко используют прямое подключение к SQL серверу. Это плохо с точки зрения безопасности, поскольку прямое подключение открывает возможность для выполнения несанкционированных запросов.

Обычно делают серверное приложение, которое предоставляет REST-API, и Android приложение уже используя QNetworkAccessManager работает через это API.

Для сервера с REST-API можно использовать Django с пакетом django-rest-framework .

Работы это конечно прибавит, но и безопаснее будет.

0

Спасибо

0

Comments

Only authorized users can post comments.
Please, Log in or Sign up
NM
July 20, 2019, 10:59 a.m.
Nikolaj Morozov

C++ - Test 001. The first program and data types

  • Result:73points,
  • Rating points1
AD
July 19, 2019, 9:51 a.m.
Anastasia Dutchina

C++ - Test 001. The first program and data types

  • Result:53points,
  • Rating points-4
AD
July 19, 2019, 9:46 a.m.
Anastasia Dutchina

Qt - Test 001. Signals and slots

  • Result:57points,
  • Rating points-2
Last comments
July 21, 2019, 6:03 a.m.
Evgenij Legotskoj

да, наверное, 32-х разрядную поддержку уже давно поа было выкинуть. К слову, у вас много проектов под Android? Часто много где вижу вопросы о том, пишет ли кто-то вообще на Qt под мобильные си...
July 20, 2019, 2:41 p.m.
Andrej Jankovich

Очень полезная информация, увы уже выкинул поддержку 32 битных бедняг.
July 20, 2019, 9:31 a.m.
Mihailll

Вот так qDebug()<<"position:"<<event->scenePos();
July 20, 2019, 8:49 a.m.
Mihailll

Добрый день. Как можно узнать координату на графической сцене при отпускании клавиши мыши?
Now discuss on the forum
July 21, 2019, 6:07 a.m.
Evgenij Legotskoj

Если вы про этот метод QRectF MoveItem::boundingRect() const{ return QRectF (-30,-30,60,60);} То мне нужно было, чтобы координата (0,0) была по центру квадрата в его локальной си...
July 20, 2019, 11:04 a.m.
Mihailll

Так и с ресурсами работает QImage image(":/Images/Images/1.png");
July 19, 2019, 10:55 a.m.
Mihailll

Да. Там похоже каждое устройство генерирует свой токен, этот токен нужно как то получать и использовать в запросе. Но как это делать я пока не понял.
July 19, 2019, 9:31 a.m.
Mihailll

Добрый день. Повернул ListView в горизонтальное положение. При прокрутке эллементы выстраиваются у левого края окна. Как в QMK в ListView сделать центрирование по центру? ...
b
July 18, 2019, 2:27 a.m.
bbb116

Когда отрисовки не видно, объекты AreaSelector создаются (при нажатии и движении мышкой), но почему то не срабатывает paint() у них, хотя делаю update этой области. Причем эти области мо...
Looking for a Job?
5,000.00 руб. - 15,000.00 руб.
Дизайнер
Moskovskiy, Moscow, Russia
25,000.00 руб. - 30,000.00 руб.
Разработчик Qt/C++
Barnaul, Altai Krai, Russia

For registered users on the site there is a minimum amount of advertising

EVILEG
About
Services
Join us
© EVILEG 2015-2019
Recommend hosting TIMEWEB