Mobilne Aplikacie | 28.4.2020 11:00 | Http komunikacia + Komunikacia s databazou + JSON

Zdroj
ručne priradené
Pridané

Pozrieť na YouTube →

Preber si túto prednášku so svojou AI

Skopíruj pripravený podklad a vlož ho do ChatGPT, Claude alebo inej AI — bude ťa učiť alebo skúšať len z tejto prednášky.

Otvoriť AI: ChatGPT · Claude · Gemini

Zhrnutie prednášky

Prednáška sa venuje HTTP komunikácii v Androide a sťahovaniu obsahu webovej stránky. Základom je trieda HttpURLConnection, ktorá z adresy (objekt URL) otvorí spojenie a sprístupní InputStream čítaný cez BufferedReader po riadkoch; novšie Androidy už nepodporujú staršie prístupy ako HttpClient. Aplikácia na to potrebuje v manifeste oprávnenie INTERNET, ktoré nie je nebezpečné (nepatrí medzi Dangerous). Kvôli zamrznutiu aplikácie sa sťahovanie nesmie vykonávať vo vlákne používateľského rozhrania, preto sa použije AsyncTask s metódami doInBackground a onPostExecute, ktorý musí byť vnútornou triedou aktivity. Trojica generických typov určuje vstup, priebeh a výsledok úlohy a spúšťa sa cez execute.

  • - Na komunikáciu so serverom sa používa HTTP alebo HTTPS, väčšina aplikácií má aj serverovú časť.
  • - Staršie postupy (HttpClient) sú od Androidu 6 zastarané, treba hľadať novšie tutoriály.
  • - HttpURLConnection otvorí spojenie z objektu URL a cez getInputStream a BufferedReader sa čítajú údaje po riadkoch.
  • - V manifeste je potrebné oprávnenie INTERNET, ktoré nepatrí medzi Dangerous.
  • - Zložitejšie operácie vo vlákne rozhrania zamrazia aplikáciu, preto sa posielajú do pozadia.
  • - AsyncTask: doInBackground vykoná prácu, jeho výsledok vstupuje do onPostExecute, ktorý vypíše údaje do GUI.
  • - Tri generické typy AsyncTasku určujú vstup, priebeh (onProgressUpdate) a výsledok; nepoužité sa nahradia Void.
  • - AsyncTask musí byť vnútornou triedou aktivity, aby sa dostal ku grafickým prvkom, a spúšťa sa metódou execute.

Zhrnutie pripravené s pomocou AI z prepisu videa.