Corona Dag III

Agenda (3 lektioner)

  • 09:00 – 10:00 Corona, Lua og jSon samt håndtering af input – sådan!
  • Pause
  • 10:00 – 11:30 Øvelse

Arkitektur

Denne tutorial giver en fin introduktion til arkitekturen:

Desuden får vi brug for viden om Lua tables:

Om json

Tretrinsraketten

Corona SDK kan kommunikere med en MySQL-database ved hjælp af en tretrinsraket:

  1. json
  2. Php
  3. MySQL

 Corona og json

En Lua tabel ligner et json array. Corona har et json encode / decode module. Modulet kan oversætte Lua tabeller til json og omvendt.

Eksemplet viser, hvordan et json objekt bruges; men det er ikke hentet via en server. Du får nu brug for:

  • En tabel i en MySQL database (eller flere tabeller)
  • PHP
  • En lua fil, der importerer data fra nettet.

Øvelse

  • Lav en app, der kan hente et json array. Du kan bruge denne kode.
  • json_git.php – skal ligge på en server. Du kan ændre SQL-sætningen, så det passer med en af dine egne tabeller eller views. Læg en passende limit på din søgning, så skærmen ikke oversvømmes af resultater.
  • Modificer main.lua således at koden peger på din URL (se linje 54).
  • Modificer main.lua således at resultatet vises på skærmen i stedet for i en terminal ( … display.newText).
  • Modificér main.lua således at man kun ser ét søgeresultat.
  • Hvis tiden tillader det: lav en knap, så du kan klikke dig fra resultat til resultat.

Skulle Du mangle en database, så er her et par muligheder. Koden ligner til forveksling json_git.php:

Hvis Du får blod på tanden, så prøv at lave en network request (linje 54), der skriver overfører en variabel ved hjælp af søgestrengen i stil med dette:

http://www.minwebside.dk/index.php?spoergsmaal=4&noget=23

Ok, hvis det kan lade sig gøre – så kan du sådan set skrive en highscore. Hvordan kunne sådan en kode se ud?

Videre på egen hånd

Åbne data

Json åbner mulighed for at bruge åbne databaser, som fx Danmarks statistikbank og geodata. Ofte deles sådanne data i form af XML eller json. Prøv fx denne side: