Android - łączenie z bazą na serwerze

0

Witam, napisałem aplikację mobilna w Androidzie, która ma za zadanie pobrać z serwera (wystawiony webservice z jsonem) oferty i nastepnie wyswietla je w listView. Rozwiazanie w obecnym ksztalcie wyglada tak, ze aktywnosc glowna wywoluje usluge, która to nieskoczoną petlą co minute odpytuje serwer wysylajac zadanie http z paramterem, czyli data ostatniego sprawdzenia - dzieki czemu pobiera tylko nowe rekordy. (te ktore sie pojawily od ost sprawdzenia)

Natomiast zastanawiam sie na ile to rozwiazanie jest wydajne i byc moze nawinoscia jest spodziewac sie ze w przypadku uzywania takiej aplikacji przez przypuscmy kilka tysiecy osob naraz, serwer na ktorym jest API z webserwisem nie padnie. Czytalem o metodzie long polling i zastanawiam sie czy nie bylaby to lepsza opcja? Oczywiście sa to hipotetyczne rozważania, bardziej w celach dydaktycznych.

Nie jest to typowe pytanie o technologię Android, a moze bardziej z samej idei zaprojektowania takiej wspoldzialajcej platformy (API rest + aplikacja mobilna), ale chcialbym przy okazji tez zapytać Was o sposoby planowania takich rozwiazan właśnie pod kątem wydajnosci? Tzn np pod przewidziane obciążenie (ilosc zapytan do serwera) dobrać jak mocny powinien być serwer z tym api wystawiajacym webservice oraz wlasnie dobrania optymalnej metody odpytywania? Czytalem tez o server push ale ponoć nie jest to łatwe do zaimpelemntowania.

Pozdrawiam

0

W dzisiejszych czasach ten problem rozwiązuje się push notyfikacjami gdzie to serwer do Ciebie pisze że jest coś nowego, a nie Ty pytasz serwer.

0

Chciałbym zapytać w konteskcie tej sprawy o Socket.IO w nodeJS. Czy opisany problem mozna by zalatwic wlasnie w ten sposob? Myslalem nad serwerem nodeJS ktory bedzie wykorzystywal websockety i wysylal do aplikacji androidowej ktora sie z nim polaczy te dane (ogloszenia). Czy sa jakies ograniczenia otwartych połączen? Tzn czy jesli uzytkownikow aplikacji będzie powiedzmy 10 000 i kazda będzie się łączyła z tym serwerem przez websocket to nie bedzie to problem?

1 użytkowników online, w tym zalogowanych: 0, gości: 1