Портирование кода подключения REST API к Android NDK в c ++ - PullRequest
0 голосов
/ 29 ноября 2010

У меня есть приложение Android на рынке, которое подключает и отправляет запросы POST и GET в API REST, а затем сохраняет результаты в БД, которые затем запрашиваются и отображаются соответствующим образом в приложении.

Я заинтересован в ускорении работы приложения и заметил довольно большой разрыв между временем получения данных из API и данными, готовыми к использованию.Я хотел бы выяснить, можно ли и как написать аналогичный код на c ++, используя NDK для подключения к REST API, обработки результатов и сохранения в БД или возникновения ошибки.У меня нет опыта работы с C ++, и мне нужно, во-первых, узнать, могу ли я получить доступ к той же БД в C ++, что и в Java, во-вторых, есть ли какие-то другие предупреждения, о которых мне следует знать?

Также, наверное, я должен спросить - стоит ли это делать?Замечу ли я разницу?

Буду очень признателен за любые ссылки на похожий код или обзор того, где я должен искать, чтобы начать работу в c ++.

1 Ответ

2 голосов
/ 29 ноября 2010

Я делаю то же самое EXACT , и поверьте мне: если у вас нет опыта работы с C ++, это может быть слишком дорого для небольшой выгоды.

В моем случае, после некоторого профилирования, я изменил порядок вещей и получил первоначальный скачок производительности только за счет удаления DOM и использования SAX. Все остальное только улучшает ситуацию, например, обрабатывает ответ, пока пакеты еще передаются (т.е. не ожидает полного ответа, чтобы начать обработку), и мультиплексирует запросы в одном и том же потоке вместо того, чтобы начинать новый поток для каждого. 1007 *

То, что вы должны искать в Google, это POSIX-сокеты, HTTP и REST-коды, если вы хотите сделать все вручную. Лучшим вариантом может быть использование CURL или что-то подобное для части Socket / HTTP. Я сделал все сам, но только потому, что уже делал это несколько раз.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...