Android 4.4 KitKat: le novità per gli sviluppatori

10 novembre 201336 commenti
Abbiamo visto qualche giorno fa le novità introdotte in Android 4.4 KitKat per gli utenti, ma cosa c'è sotto il cofano di KitKat? Molte novità, in tutti gli ambiti, dalla sicurezza all'accessibilità, dalla qualità del suono alla gestione delle risorse.

Android 4.4 KitKat ha portato molte novità per quanto riguarda l’esperienza utente e la semplicità d’uso, ma cosa si cela sotto il cofano di questa nuova versione android? Quali ottimizzazioni e quali nuove features ha introdotto rispetto la precedente versione 4.3 JellyBean? Ecco quindi una carrellata di tutte le novità.

“making android for everyone”

Questa frase è lo slogan della nuova versione Android, ma cosa significa?

Con Android 4.4 KitKat , Google ha introdotto svariati tool che permetteranno agli OEM di utilizzare questa versione su dispositivi con un minimo di 512Mb di ram. I processi di sistema sono infatti stati migliorati in modo tale da allocare meno memoria possibile e allo stesso tempo , il sistema li proteggerà in modo più aggressivo dalle applicazioni che richiedono un uso eccessivo di RAM. Quando verranno avviati più processi simultaneamente, Android li lancerà in serie, per evitare picchi in memoria.

Per quanto riguarda gli sviluppatori, essi potranno ora ottimizzare le applicazioni, basandosi sulla memoria disponibile per ogni device, garantendo così l’esperienza utente migliore possibile.

E’ importante sottolineare che questo non significherà necessariamente, che tutti i dispositivi attualmente in commercio, anche di fascia medio/bassa, verranno aggiornati a KitKat. L’aggiornamento dei dispositivi, ad eccezione della serie Nexus, non è stabilito da Google, ma da ogni singolo produttore.

NFC Host Card Emulation

kk-contactless-card

Come funziona l’NFC attualmente?? L’applicazione sul dispositivo immagazzina i dati in un “Secure Element” il quale verrà analizzato dal terminale NFC (PoS) integralmente . Per riassumerne il funzionamento ecco un semplice scherma:

secure-element

 

 

l’Host-card-emulation ( HCE) invece permette a qualsiasi applicazioni di comportarsi come una SmartCard NFC eliminando la necessità fisica di un Secure Element. La transazione sarà quindi diretta, dall’applicazione al PoS, senza passaggi intermedi. Questo metodo viene da alcuni definito come Cloud-Secure-Element.

host-based-card

 

framework per stampanti

kk-print-land-n5

Le applicazioni ora possono inviare, tramite wifi o tramite cloud qualsiasi documento ad una stampante di rete utilizzando le nuove API di 4.4 . Questo framework permetterà di effettuare una scansione della rete in cerca delle stampanti condivise oppure di scegliere il tipo di carta da utilizzare. Ogni sviluppatore potrà quindi implementare la condivisione con l stampanti di rete utilizzando i servizi condivisi presenti in KitKat. Il documento da inviare alla stampante dovrà essere convertito in formato PDF per la massima compatibilità e con le nuove API sarà possibile effettuare la conversione prima di inviare il documento alla stampante selezionata.

framework di accesso allo storage

Schermata 2013-11-08 alle 14.46.35

 

Questo framework metterà a disposizione degli utenti una semplice UI per visionare e scegliere i files. Le applicazioni potranno dichiarare nel manifest l’utilizzo di questa funzionalità e quando necessario verrà visualizzata l’interfaccia di base per la scelta dei files. Inoltre, i servizi di cloud potranno integrarsi con questo framework, in modo tale da poter accedere a qualsiasi file, locale o remoto, in modo semplice ed efficace.

sensori a basso consumo

Schermata 2013-11-08 alle 15.08.44

 

Sensor batching

Il sistema non riceverà i dati dai sensori in modo continuo ma programmando l’invio dei dati a gruppi. In questo modo i sensori rimarranno in uno stato di inutilizzo, o a basso consumo sino  che l’applicazione non farà richiesta di dati. Gli sviluppatori potranno anche programmare ogni quanto effettuare una richiesta ai sensori per i dati. Ovviamente sarà possibile richiedere l’invio diretto e continuo dei dati dai sensori designati.

Rilevatore e contatore passi

Android 4.4 supporta anche due nuovi sensori compositi: il rilevatore ed il contatore di passi e permetteranno quindi di rilevare quando l’utente sta camminando e la quantità di passi fatti. I sensori devono essere ovviamente inclusi nell’accelerometro, ma in questo modo, per gli sviluppatori, non sarà più necessario implementare i propri algoritmi per individuare l’esecuzione di passi. Questi due sensori sono già stati presenti nel nuovo Nexus 5 e in futuro verranno installati anche su altri dispositivi.

SMS provider

Questa nuova funzione permetterà di sviluppare applicazioni per la gestione di SMS e MMS. Le nuove API permetteranno inoltre di accedere in modo semplice al database dei messaggi salvati e una volta impostata l’applicazione di default per la messaggistica si riceveranno notifiche solo da quell’applicazione. Un esempio può essere il nuovo Google Hangouts con supporto agli SMS, infatti, una volta impostato come applicazione predefinita, sarà l’unica applicazione a inviare una notifica.

FullScreen immersive mode

Sarà possibile sviluppare applicazioni che nasconderanno completamente l’interfaccia di sistema, quindi statusbar e navigationbar, in modo tale da poter sfruttare completamente il display. Quando un’applicazione utilizza questa modalità, per visualizzare statusbar o navbar, basterà effettuare uno swipe dal lato superiore o inferiore del display e per nascondere nuovamente questi elementi sarà sufficiente effettuare un tap in un’altra area dello schermo.

Multimedialità

  • Screen Recorder
    Tramite adb shell sarà possibile effettuare la registrazione video del display. Utile per mostrare il funzionamento della propria applicazione.
  • DSP audio tunneling
    Usando DSP, la qualità audio risulterà migliore e allo stesso tempo diminuiranno i consumi. Grazie all’utilizzo di questo metodo sarà anche possibile aumentare i bassi e incrementare ulteriormente la qualità audio in uscita.
  • WiFi con certificazione Miracast
    Android 4.4 potrà essere certificato Miracast, di conseguenza sarà possibile effettuare lo screen mirroring wirless su altri dispositivi.

connettività

  • Supporto a nuovi profili Bluetooth
    - Bluetooth HID over GATT: garantisce latenza minima verso i dispositivi a basso consumo come, mouse, tastiere e joystick
    - Bluetooth MAP: Permette di migliorare l’interazione verso altri dispositivi Bluetooth quali, sistemi integrati su automobili o altri device android.
  • IR Blasters
    Come già visto in altri dispositivi come l’LG G2, ora Android 4.4 supporta nativamente il controllo remoto tramite IR. Sarà quindi possibile sviluppare applicazioni native per il controllo di altri dispositivi multimediali quali TV, lettori DVD ecc..
  • Wi-Fi TDLS support
    Permette di effettuare lo streaming di media fra due dispositivi sulla stessa rete WiFi, “tunnelizzando” la connessione.

 

Conclusione

Google con questa nuova release sembra aver accolto moltissime richieste provenienti sia dagli utenti che dagli sviluppatori e ora sarà possibile sviluppare applicazioni ancora migliori. Considerando le feature elencate in questo articolo è facile evincere che Android si sta trasformando in un elemento sempre più multimediale, in grado di interfacciarsi con quasi tutti i dispositivi che utilizziamo abitualmente. Ovviamente slcune di queste nuove features necessitano di Hardware adeguato e le vedremo in azione solo nei dispositivi che verranno commercializzati nei prossimi mesi.

  • fb: lollo-1997@hotmail.it

    meglio cyanogenmod ;)

    • fb: lollo-1997@hotmail.it

      password: wicagnolini97

      • http://www.webtribe.it/ Emiliano Giuseppe Pratici

        Visto l’utilità dei tuoi interventi è facile supporre che per te non sarebbe meglio nemmeno il software presente in minority report. Saluti

  • Pingback: Android 4.4 KitKat: le novità per gli sviluppatori - WikiFeed()

  • giacomofurlan

    Una nota da audiofilo e conoscitore dell’audio digitale (e non solo): aumentare i bassi equivale a distorcere il segnale originale, producendo quindi un deterioramento del segnale audio. Su cosa si può agire allora? Sicuramente non sul processo di decoding del formato audio, ma sull’impianto hardware di riproduzione (l’altoparlante). Non a caso gli studi di registrazione hanno dei particolari altoparlanti (chiamati “monitor audio”) che hanno una fedeltà audio particolarmente alta, a differenza dei più blasonati sistemi come Bose.

  • Obamaticontrolla

    Ora, possiamo finalmente dirlo: Android ha superato al 100% iOS.

    • giacomofurlan

      iOS ha il supporto all’audio a bassa latenza fin dalla prima versione (forse grazie all’esperienza maturata con CoreAudio su OSX) – Android non riesce a stare sotto ai 60 ms – un’eternità nel mondo dell’audio, dove valori accettabili sono sotto ai 10 ms (5 ms o meno sono considerati buoni).

      • Mario

        Non so a quando tu ti riferisca ma su Android 4.2 gli sviluppatori possono già con dovute accortezze mantenersi sotto i 20ms. Con la nuova versione dovrebbe essere sceso un bel po’

        • giacomofurlan

          Non ho riscontri sotto ai 60 ms… mi linkeresti la fonte?

          • Mario

            Qui se ne parla: http://www.androidworld.it/2012/07/04/google-nexus-7-il-primo-tablet-android-per-musicisti-97421/

            Mi sembra però che la fonte fosse questa: http://createdigitalmusic.com/2012/07/android-high-performance-audio-in-4-1-and-what-it-means-plus-libpd-goodness-today/

            Un’altra fonte l’ho persa… Ad ogni modo cercando un po’ in giro ho trovato chi dichiara che dai suoi test si attesta sui 60ms ma i test non erano fatti in laboratori adibiti a determinati test ed effettuando il test su un macbook otteneva valori di 25-35ms sui Mac…. Non credo sia molto attendibile… Preferisco credere a questo punto alle dichiarazioni delle case. Anche perchè a questo punto i test vanno effettuati anche su iOS con le stesse tipologie di test effettuate su Android nello stesso momento.

            Ad ogni modo penso che sia più importante concentrarsi su altro su un sistema mobile. Sebbene ci sia una fetta di utenza che vuole fare musica con device portatili è ben più importante ottimizzare l’esecuzione delle app che di conseguenza consentirà di agevolere lato software anche la latenza audio. Considera che attualmente una Dalvik consente di eseguire in modo efficiente quanto iOS (o quasi per alcuni) le applicazioni interpretandole. Quando ci sarà una reale compilazione del codice e un passaggio ad un ART prestante si avranno miglioramenti anche sotto altri ambiti. Mi sembra che il lavoro fatto fin ora sia egregio e che il fatto che offrano il DSP non è una cosa così malvagia considerando l’utenza media. Oltretutto non si è obbligati ad applicare alcun filtro audio.

          • giacomofurlan

            Beh nell’articolo non si parla di RTL, ma di PBL (Playback Latency)… qualsiasi filtro audio utilizza il round-trip latency perché deve acquisire(, trasformare), ritornare indietro… e qui il discorso di fa complicato, perché l’RTL non è semplicemente 2x PBL (i percorsi sono separati). Anche il solo input MIDI richiede l’RTL in quanto la latenza viene misurata dalla pressione del tasto all’output dell’audio. Inoltre nell’articolo della fonte si parla di dati assolutamente teorici e non pratici. Quindi ben venga un playback a bassa latenza, ma non serve a molto a livello di manipolazione audio. Fin qui anche Windows XP aveva audio playback a bassa latenza.

          • Mario

            Si ma come evidenziavo prima ci sono fattori ben diversi da migliorare prima di passare al comparto audio che comunque fin ora non è stato dimostrato adeguatamente essere così negativo negli ultimi aggiornamenti. Non mi sembra ci siano prove di laboratorio, pertanto i valori teorici potrebbero essere reali. Non prendo per attendibili i test di un utente americano che pubblica ciò che pensa su internet. Hai risposto a un utente che ha dichiarato che Android ha superato iOS. Hai obbiettato citando soltanto un ambito in cui si predispone meglio del concorrente. Con questo non dico che sbagli ma non puoi basare tutta la tua tesi su quello altrimenti è come se gli dai la massima importanza ed è normale che ti troverai gente volta ad obbiettare. Piuttosto esponi il perchè dovrebbe essere migliore anche nei restanti ambiti presentati nell’articolo. Se un sistema è migliore in 9 punti su 10 il tuo commento avrà poco valore. Ripeto, non sto dicendo che tu abbia torto nell’obbiettare ma argomenta meglio. Anche perchè le tue argomentazioni sono volte alle massime prestazioni nell’ambito audio e non ad un discorso amatoriale. Pertanto magari in altri ambiti Android può essere più professionale di iOS, vedi gestione e prestazioni del filesystem magari e dei permessi (un semplice esempio).

          • giacomofurlan

            Beh semplicemente potresti crearti un programma di filtri per la chitarra o il basso elettrici senza spendere centinaia d’euro per i filtri hardware (che comunque sono digitali). Potresti avere un sistema MIDI ad alto profilo in tasca, tutte cose che per persone come me sono importanti. Su iOS queste cose già esistono, quindi per me la mancanza dell’audio a bassa latenza è un problema. Ho provato io stesso a realizzare un programma test-pilot su Android 4.3 con l’audio over USB, ma la latenza era troppo, troppo alta (non l’ho misurata, ma se la senti… vuol dire che è già sopra ai 20 ms).

          • Mario

            Non per questo non ha superato mediamente iOS… Ci sono tanti altri fattori nei quali eccelle

          • giacomofurlan

            Mario… finché non eccellerà in tutti i campi, non si potrà dire che Android superi al 100% iOS, ti pare?

            Tra l’altro iOS esegue codice binario, infatti a parità di hardware è molto, ma molto più veloce. Sinceramente non vedo pregi nell’eseguire codice Java rispetto ad un qualsiasi linguaggio binario, se non che per il linguaggio stesso (ma per i programmatori uno vale l’altro, più o meno). Questo è un ulteriore difetto di Android.

          • JulesX

            Parte degli apk sono precompilati e diventano odex pronti per esser eseguiti, poi però si parla esclusivamente di primo avvio. Quando é caricato nella Ram tutto viene eseguito in linguaggio macchina.
            Per la questione audio immagino ti riferisca alla questione delay sull’acquisizione.
            Se fosse questo potrebbe essere la stessa questione dei kernel linux sui Desktop. Non so se ci sia qualcuno che prepari kernel col preemption sul mobile. Io kernel detti rt su linux li ho solo provati e ho notato una maggiore reattività nel sistema. Ma Mai su applicazioni audio.

  • Pingback: Android 4.4 KitKat: le novità per gli sviluppatori | News | Senza Limiti()

  • lordoftech_it
  • Ivan23

    appena il mio galaxy nexus – letto android 4.4 kitkat supporta dispositivi con un minimo di 512mb di RAM- è scoppiato a piangere….. :(

  • shanefalco

    Hanno ridotto la latenza audio o no rispetto a ics e jellybean che era ancora piuttosto alta ???

    • giacomofurlan

      Non ne hanno fatto menzione neanche nella presentazione – essendo stati zitti, immagino che non abbiano fatto grossi progressi. Il Nexus 7 (2013) sta ancora sopra ai 60 ms, dubito che dalla 4.3 abbiano rivoluzionato il codice (per stare sotto ai 10 ms).

      • Alessandro Carlo Paolucci

        ora non so se è una questione hardware o software (nn me ne frega niente di fare musica, quindi nn mi informo :P), ma se fosse software mi chiedo se non fosse possibile moddare una rom appositamente per scopi del genere…qualcuno ha qualche info a riguardo?

        • giacomofurlan

          Da una parte avere un hardware dedicato aiuta, specialmente con processori limitati come gli ARM per smartphone. Dall’altra bisogna sviluppare dei driver a bassa latenza. Su Windows, per dire, questi driver sono quelli che rispecchiano gli standard ASIO (esistono dei driver particolari chiamati ASIO4ALL che bypassano il sistema audio di Windows).

  • davide

    Ma con android 4.4 è possibile trovare reti WiFi disponibili senza attivare il WiFi ?

    • http://www.nokioteca.net/home/forum/index.php/user/341480-rikkardo92/ Rikkardo92

      Mi ricordi molte persone che se ne uscivano con domande del tipo: ma se metto la modalità offline ricevo messaggi o chiamate? E Whatsapp???

    • andrea

      spero tu stia scherzando vero?

    • mr verdicchio

      Certo che si! Puoi anche telefonare col cel in modalità aereo o fare video staccando la batteria, quando è rimovibile ovviamente. altrimenti se non è rimovibile e con un paio di martellate la riesci a staccare senza rompere troppo la fotocamera puoi fare anche le foto!
      Ti giuro che il tuo commento è più stupido del mio

    • Lelluz07

      Scritto così non ha senso…..se era una domanda seria ai sbagliato a scriverla….forse ti riferivi al servizio di geolocalizzazione di google che permette di effettuare scansioni di reti anche con il wifi disabilitato?
      Non credi ti riferivi a quello…..

      • davide

        Si intendevo questo xD quindi si può ?

  • GianniDarko

    Vorrei segnalare che Maclaw è già al lavoro della CM11 (4.4) per S3 Mini…

  • ghibs

    hahaha

  • hiroko★89

    Scusate vorrei fare una domanda….. ma il 4.4 renderà possiblie l’aggiornamento direttamente sul device come fa iOS o dovrei farlo sempre tramite pc? (Galaxy s4)

    • Alessandro Carlo Paolucci

      quello dipende dal produttore, molti altri telefoni (non solo nexus) già possono fare aggiornamenti OTA (cioè semplicemente scaricandoli sul cell e installandoli)…mi dispiace dirlo ma è samsung che rompe le scatole in questo caso

      • Riccardo M

        Esatto, ma poi l’S4 dovrebbe essere come l’S3, cioè avere tutti gli aggiornamenti OTA. O almeno, io con l’S3 non ho mai (per mia fortuna) dovuto usare Kies per aggiornare

        • Alessandro Carlo Paolucci

          ma si, saranno scelte dipendenti dal telefono…

  • francesco paparelli

    il 22 nov 2013 il mio nexus 4 si è auto aggiornato evviva