Sviluppare applicazioni Android con Google Play Services

La frammentazione è sempre stato uno dei principali problemi della piattaforma Android se non forse il maggiore. Ci è infatti capitato spesso di acquistare uno smartphone con una versione della piattaforma per vederlo diventare subito vecchio a causa del rilascio di una nuova release di Android che il particolare costruttore non si è preoccupato di implementare. Un importante passo verso una migliore gestione degli aggiornamenti è stata fatta attraverso l’introduzione dei Google Play Services. Si tratta sostanzialmente di quella parte della piattaforma di Android che non dipende fortemente dall’hardware e che quindi può essere aggiornata da remoto senza alcun intervento da parte dell’utente. Piano piano tutte le principali API sono state spostate da quella che possiamo chiamare piattaforma base ai Google Play Services. Stiamo parlando delle Location API, delle librerie per la gestione delle Google Map fino alle attuali API per la gestione dei dispositivi weareable. A questo argomento ho quindi dedicato il mio ultimo libro che, come quello relativo ad Android 4, segue un approccio molto pratico attraverso la realizzazione di alcuni prototipi di semplici applicazioni. Al momento si tratta dell’unico testo al mondo dedicato completamente a questo argomento. In particolare vengono trattati i seguenti argomenti:

  • Location API
  • Google Maps, Geofence e StreetView API
  • Google Drive
  • Google Plus
  • Google Cloud Messaging
  • Notification and Weareable API
  • MediaRouter e ChromeCast
  • Google Fit
  • Google Game
  • InApp Billing
  • Google Analytics
  • Google Ads

E’ importante sottolineare come gli esempi utilizzino Android Studio nella ultima versione 1.1 e soprattutto come questi siano contenuti nel seguente repository su github che cercherò, per quanto possibile, di mantenere aggiornarti con le modifiche che, visto quanto accaduto in precedenza, Google farà sicuramente. A tale proposito cercherò di creare anche un documento di errata corrige.

 

 

18 thoughts on “Sviluppare applicazioni Android con Google Play Services

  1. Innanzitutto le volevo fare i complimenti per il suo lavoro. Le scrivo poi per un consiglio, ho conoscenze universitarie di Java e come progetto di tesi triennale ingegneria informatica ho sviluppato una piccola applicazione android client che comunica con un server mediante servizi REST. Vorrei acquistare ora un libro per consolidare queste basi acquisite su android e magari vedere qualcosa di nuovo sia riguardo una migliore gestione dell’interfaccia grafica che interazione con gps o altro.
    Che libro mi consiglia ? Il suo android 4 o questo nuovo ?

    • Ciao Claudio,
      ti ringrazio per i complimenti. In realtà l’argomento relativo alla sincronizzazione l’ho trattato in modo approfondito nel mio secondo libro. Per una versione più aggiornata del tutto ti consiglio comunque il mio ultimo relativo ai Google Play Services in quanto tratta tutto quello che riguarda Location e Mappe e soprattutto quello che riguarda la gestione delle push notification come meccanismo per ottimizzare la sincronizzazione delle informazioni. Spero di esserti stato utile.
      Saluti
      Massimo Carli

  2. Lo ordino subito, c’è carenza di libri avanzato in lingua italiana, il restanti li ho già.

    Se posso vorrei farti una domanda inerente al play service.

    In un Android dove ho installato 2 chat, whatsapp e viber, ho fatto lo sniffing della rete e ho notato che non vi era nessun traffico di viber e whatsapp, mi sarei aspettato delle continue connessioni dal telefono verso un server remoto ogni tot secondi, come accade normalmente, verso un server listener esterno in ascolto, come dire hai messaggi per me ?

    al contrario ho notato che le chat vanno a connettersi al server solo al momento in cui è arrivato un msg, si connettono solo quando serve, un notevole risparmio di risorse, ma comè è possibile senza un forwarding in una sottorete ? non può essere in ascolto la chat sul telefono, non è raggiungibile da remoto !!! Nello sniffing della mia rete a cui era collegato il telefono android in questione, l’unico servizio che ogni secondo và a connettersi ad un server remoto è proprio il play service.

    è forse il play service che informa le chat che vi è un nuovo messaggio ?

    grazie mille e complimenti ancora.

    • Buongiorno,
      e scusi il ritardo. Il polling per la verifica della disponibilita’ di informazioni su server e’ una tecnica molto dispendiosa per quello che riguarda la batteria. Anche l’utilizzo di tecniche di variazione automatica della frequenza delle richieste in certo casi non porta a buoni risultati. Le applicazioni di messaggistica, e non solo, utilizzano quindi tecnologie di push che in ambito android si chiamano GCM (Google Cloud Messaging). Si tratta in sostanza di mantenere sempre aperta una connessione con un server utilizzando protocolli come XMPP restando quindi sempre in attesa di un dato che notifichi la presenza di informazioni sul server che poi e’ possibile scaricare successivamente. Se i dati sono pochi possono essere trasmessi addirittura nella fase di notifica. Inizialmente la gestione delle push notification avveniva attraverso l’applicazione del Market ma penso che ora venga gestita attraverso i Google Play Services. Non si vedranno quindi connessioni per questo scopo direttamente dalle applicazioni ma il tutto viene gestito in modo ottimizzato dai Google Play Services.
      Saluti
      Massimo Carli

  3. Buongiorno,
    Complimenti per il libro Android 4 guida per lo sviluppatore mi ha aiutato molto nel risolvere alcuni problemi che avevo nella realizzazione della mia app per la tesi.
    Ora aspetto uscita di Android 6 guida per lo sviluppatore, saprebbe darmi una data indicativa della disponibilità?

    • Buongiorno,
      la ringrazio. Ho appena terminato la scrittura della Guida per Android 6 per cui penso che per inizio anno prossimo verra’ pubblicata.
      Saluti
      Massimo Carli

  4. Salve,
    sto studiando il suo libro che tratta i Google Play Services.
    A pagina 47 ci sono dei riferimenti ad acune classi (FenceSessionCPTest, FencePositionCPTest, etc..) usate per il testing e viene suggerito al lettore di prenderne visione. Dove posso trovare il sorgente di tali classi? Nel codice scaricato dal suo repository su Github non l’ ho trovato.
    Cordiali saluti!

Leave a Reply

Your email address will not be published. Required fields are marked *