WEBVTT

1
00:01.010 --> 00:07.880
Dobbiamo recuperare i dati dal server in
formato JSON nella nostra applicazione.

2
00:07.880 --> 00:12.920
Per questo useremo questo sito web
chiamato Jsonplaceholder.

3
00:12.950 --> 00:15.380
Dot typecode.com.

4
00:15.410 --> 00:23.150
Questo fornirà un'API gratuita, falsa e
affidabile per i test e la prototipazione.

5
00:23.180 --> 00:27.410
Scorrere verso il basso e qui siamo
interessati ai post.

6
00:27.410 --> 00:33.680
È possibile vedere i commenti, gli album,
le foto, i todos degli utenti e altro.

7
00:33.710 --> 00:43.760
Ok, allora vi mostro gli album, i post che
ci interessano,

8
00:43.760 --> 00:44.810
i post che potete usare per stampare con
Google Pretty.

9
00:44.810 --> 00:47.750
Se lo seleziono, è possibile vederlo.

10
00:47.780 --> 00:51.080
Se non lo si seleziona, si può vedere la
risposta in questo modulo.

11
00:51.110 --> 00:51.620
Ok.

12
00:51.620 --> 00:59.810
È inoltre possibile utilizzare strumenti
online come JSON, pretty o JSON formatter
dot org.

13
00:59.840 --> 01:00.350
Ok.

14
01:00.380 --> 01:04.200
Quindi, ad esempio, copiate questa
risposta e incollatela qui.

15
01:04.200 --> 01:10.260
Nella parte destra si può notare che la
lettura è migliore.

16
01:10.260 --> 01:12.750
Questo è il primo oggetto JSON.

17
01:12.750 --> 01:19.140
Questo è il secondo oggetto JSON, questo è
il terzo e così via inclusi in questo
array.

18
01:19.170 --> 01:19.680
Ok.

19
01:19.680 --> 01:24.210
Quindi questo è il primo oggetto, il
secondo, il terzo e così via.

20
01:24.240 --> 01:26.460
Incluso in questo array.

21
01:26.460 --> 01:31.260
Come già accennato in precedenza, sono
previste tre fasi per l'utilizzo della
libreria di retrofit.

22
01:31.260 --> 01:35.670
È necessario creare un'interfaccia di
servizio della classe dati e un'istanza di
retrofit.

23
01:35.670 --> 01:38.670
Iniziamo creando la classe di dati.

24
01:38.670 --> 01:44.130
Questa classe è usata per recuperare le
risposte nella classe Pojo.

25
01:44.130 --> 01:53.640
Quindi dobbiamo trasformare il parsing dei
dati JSON utilizzando JSON

26
01:53.640 --> 01:54.750
in background in Pojo o in classi Java o
Kotlin.

27
01:54.750 --> 02:00.690
Se torniamo alla risposta, possiamo vedere
l'ID utente, l'ID, il titolo e il corpo.

28
02:00.690 --> 02:04.020
Si tratta di dati molto semplici da
recuperare.

29
02:04.020 --> 02:06.910
Abbiamo solo cose da prendere.

30
02:06.940 --> 02:07.450
Ok.

31
02:07.480 --> 02:16.600
Per una gerarchia di dati complessa,
possiamo utilizzare strumenti online come
JSON Schema o Toposort.

32
02:16.690 --> 02:19.960
Quindi copierò questa risposta e la
incollerò qui.

33
02:19.960 --> 02:23.830
È possibile selezionare, ad esempio, il
tipo di origine JSON.

34
02:23.830 --> 02:33.070
Lo stile dell'annotazione è JSON, perché
utilizzerò JSON e il pacchetto

35
02:33.070 --> 02:35.230
è this e il nome della classe è, ad
esempio, post.

36
02:35.260 --> 02:35.890
Ok.

37
02:35.890 --> 02:40.390
Cliccate quindi su OK e potrete formare la
classe di posta.

38
02:40.420 --> 02:40.960
Ok.

39
02:40.960 --> 02:47.530
È molto semplice, ma poiché i dati che
utilizzeremo sono molto semplici,

40
02:47.560 --> 02:51.400
vi mostrerò passo per passo come creare la
classe di dati.

41
02:51.400 --> 02:53.350
Vediamo il primo.

42
02:53.350 --> 03:02.170
Abbiamo l'ID utente, l'ID, il titolo e le
quattro cose

43
03:02.170 --> 03:02.950
del corpo su ogni elemento di questo array
JSON.

44
03:02.950 --> 03:09.760
Quindi ogni oggetto, ogni oggetto JSON
contiene ID utente, titolo e corpo.

45
03:09.760 --> 03:11.380
Passiamo ad Android Studio.

46
03:11.380 --> 03:14.830
E qui creo un nuovo pacchetto.

47
03:14.830 --> 03:19.210
Creare un nuovo pacchetto denominato
retrofit.

48
03:19.210 --> 03:25.690
E all'interno di questo pacchetto retrofit
creerò una nuova classe Kotlin chiamata
post.

49
03:25.690 --> 03:31.360
Questa è una classe di dati, quindi è
necessario annotarla con la parola chiave
data.

50
03:31.360 --> 03:38.410
All'interno del costruttore primario,
dobbiamo passare la prima variabile, che è
un id di tipo intero.

51
03:38.440 --> 03:40.690
Si vede che è di tipo intero.

52
03:40.720 --> 03:44.320
Il secondo è il titolo val title.

53
03:44.320 --> 03:45.760
È di tipo stringa.

54
03:45.790 --> 03:51.220
Il terzo parametro è body, quindi val body
è di tipo stringa.

55
03:51.220 --> 03:59.470
Questa è la classe di dati che fungerà da
modello per ogni

56
03:59.470 --> 04:03.310
elemento dell'applicazione e da modello
per ogni elemento della risposta JSON.

57
04:03.310 --> 04:08.680
Si tratta quindi di un modello per ogni
elemento della risposta JSON.


