Note sulla versione Android 1.1

Data: febbraio 2009
Livello API: 2

Questo documento fornisce note sulla versione dell'immagine di sistema Android 1.1 inclusa nell'SDK.

Panoramica

L'immagine di sistema Android 1.1 fornita nell'SDK è la controparte dello sviluppo dell'immagine del sistema di produzione Android 1.1, di cui può essere eseguito il deployment sui telefoni Android a partire da febbraio 2009.

L'immagine di sistema Android 1.1 offre una versione aggiornata dell'API framework. Come nel caso dell'API Android 1.0, anche all'API Android 1.1 viene assegnato un identificatore con numero intero (2) memorizzato nel sistema stesso. Questo identificatore, chiamato "livello API", consente al sistema di determinare correttamente se un'applicazione è compatibile con il sistema prima di installarla.

Le applicazioni indicano il livello API di sistema più basso con cui sono compatibili aggiungendo un valore all'attributo android:minSdkVersion. Il valore dell'attributo è un numero intero corrispondente a un identificatore a livello API. Prima di installare un'applicazione, il sistema controlla il valore di android:minSdkVersion e consente l'installazione solo se il numero intero di riferimento è inferiore o uguale al numero intero a livello di API archiviato nel sistema stesso.

Se utilizzi l'immagine di sistema Android 1.1 per creare un'applicazione compatibile con dispositivi Android su cui è installata la piattaforma Android 1.1, devi impostare l'attributo android:minSdkVersion su "2" per specificare che l'applicazione sia compatibile solo con i dispositivi che utilizzano l'immagine di sistema Android 1.1 (o versioni successive).

In particolare, devi specificare l'attributo android:minSdkVersion in un elemento <uses-sdk> come elemento secondario di <manifest> nel file manifest. Se impostato, l'attributo ha il seguente aspetto:

<manifest>
  ...
  <uses-sdk android:minSdkVersion="2" />
  ...
</manifest>

Impostando android:minSdkVersion in questo modo, ti assicuri che gli utenti possano installare la tua applicazione solo se sui loro dispositivi è in esecuzione la piattaforma Android 1.1. A sua volta, questo garantisce che l'applicazione funzioni correttamente sui relativi dispositivi, soprattutto se utilizza API introdotte in Android 1.1.

Se la tua applicazione utilizza API introdotte in Android 1.1 ma non dichiara <uses-sdk android:minSdkVersion="2" />, verrà eseguita correttamente sui dispositivi Android 1.1, ma non su dispositivi Android 1.0. Nel secondo caso, l'applicazione si arresta in modo anomalo in fase di runtime quando tenterà di utilizzare le API Android 1.1.

Se la tua applicazione non utilizza nuove API introdotte in Android 1.1, puoi indicare la compatibilità con Android 1.0 rimuovendo android:minSdkVersion o impostando l'attributo su "1". Tuttavia, prima di pubblicare l'applicazione, devi assicurarti di compilare l'applicazione in base all'immagine di sistema Android 1.0 (disponibile nell'SDK Android 1.0), per assicurarti che la build e il funzionamento siano corretti per i dispositivi Android 1.0. Devi testare l'applicazione confrontandola con immagini di sistema corrispondenti ai livelli API con cui l'applicazione è progettata per essere compatibile.

Se sei sicuro che la tua applicazione non utilizzi API di Android 1.1 e non abbia bisogno di utilizzarle, potresti trovare più semplice continuare a lavorare con l'SDK Android 1.0, anziché eseguire la migrazione all'SDK Android 1.1 ed eseguire ulteriori test.

Librerie esterne

L'immagine di sistema include queste librerie esterne, a cui puoi accedere dall'applicazione aggiungendo <uses-library>.

  • com.google.android.maps consente all'applicazione di accedere ai dati di Google Maps. Tieni presente che, per utilizzare i dati di Google Maps, è necessaria una chiave API di Google Maps.

Compatibilità dispositivi

L'immagine di sistema Android 1.1 è stata testata per verificarne la compatibilità con i dispositivi basati su Android elencati di seguito:

  • T-Mobile G1

Applicazioni integrate

L'immagine di sistema include le seguenti applicazioni integrate:

  • Sveglia
  • Demo API
  • Browser
  • Calcolatrice
  • Fotocamera
  • Contatti
  • Strumenti per sviluppatori
  • Telefono
  • Email
  • Maps (e Street View)
  • Messaggi
  • Musica
  • Immagini
  • Impostazioni

Localizzazioni UI

L'immagine di sistema fornisce stringhe UI localizzate per le lingue elencate di seguito.

  • Inglese, USA (en_US)
  • German (de)

Le stringhe dell'interfaccia utente localizzate corrispondono alle impostazioni internazionali visualizzabili nell'emulatore, accessibili tramite l'applicazione Impostazioni del dispositivo.

Problemi risolti

  • L'avviso di AlarmClock ora riproduce audio/vibe direttamente, anziché tramite AlarmManager. L'avviso AlarmClock avvia la riproduzione di audio/vibe in IntentRicevir, anziché all'avvio dell'attività. Queste modifiche dovrebbero impedire che gli allarmi vengano bloccati dalle finestre di dialogo modali.
  • Correzioni alla sospensione del dispositivo.
  • Il tocco singolo non consente più di aprire il tastierino della chiamata, ma gli utenti devono toccarlo e trascinarlo.
  • Corregge un bug che causava il blocco della connessione IMAP (a un server basato su Gmail) di circa 1 su 25 messaggi in uscita quando vengono trasferiti alla cartella Inviati.
  • Rimuove le voci di creazione automatica dell'account non funzionanti o non verificabili. Aggiunge correzioni minori ad alcune delle voci rimanenti. Miglioramenti alle finestre di dialogo di avviso utilizzate per alcuni casi speciali.
  • Modifica l'intervallo predefinito di controllo della posta a ogni 15 minuti (anziché impostare il valore predefinito "never").
  • Corregge i bug relativi alla citazione delle password in IMAP, in modo che gli utenti possano includere caratteri speciali nelle password (ad esempio, spazi).
  • Corregge vari errori nella creazione automatica e manuale dell'account
  • Migliora la generazione di report per vari errori di connessione, consentendo all'utente di diagnosticare più facilmente le configurazioni non riuscite degli account.
  • Corregge le notifiche per i nuovi messaggi per gli account POP3.
  • Garantisce il corretto controllo automatico degli account contrassegnati come "mai check".
  • Ora mostra data e ora in base alle preferenze dell'utente (ad es. 24 ore rispetto a AM/PM).
  • Ora mostra Cc: nella visualizzazione messaggio.
  • Migliora il ripristino dagli errori di connessione POP3.
  • Le regole del parser POP3 sono state allentate, quindi l'applicazione può funzionare con server email non conformi.

Nuove funzionalità

  • Maps: aggiunge dettagli e recensioni quando un utente esegue una ricerca su Maps e fa clic su un'attività per visualizzarne i dettagli.
  • Telefono: il tempo predefinito per il timeout dello schermo durante una chiamata ora è maggiore se si utilizza il telefono vivavoce.
  • Telefono: aggiunge una voce "Mostra tastierino" / "Nascondi tastierino" al menu durante una chiamata, per rendere più facile l'individuazione del tastierino DTMF.
  • Supporto del salvataggio degli allegati dei messaggi MMS.
  • Supporto del testo scorrevole nei layout.

Modifiche alle API

Panoramica

  • Aggiunge annotazioni per sistemi di test, nessuna modifica effettiva (non di prova) all'API.
  • Aggiunge un metodo per consentire a un processo di determinare facilmente il suo UID.
  • Supporto del testo scorrevole nei layout.
  • Aggiunge nuovi metodi per determinare la spaziatura interna nelle viste. Utile se stai scrivendo le tue sottoclassi di View.
  • Aggiunge nuove autorizzazioni che consentono a un'applicazione di trasmettere un SMS o un messaggio push WAP.
  • Pulizia dell'API: rimuove il costruttore protetto dalle immagini di sistema associate all'SDK.

Dettagli modifica API

Modulo o funzionalitàDescrizione modifica
Annotazioni per sistemi di test
Aggiunta un'annotazione LargeTest.
Aggiunta un'annotazione MediumTest.
Aggiunta un'annotazione SmallTest.
Consenti a un processo di conoscere facilmente il suo UID.
Metodo pubblico myUid() aggiunto alla classe android.os.Process
Spaziatura interna nelle visualizzazioni
Aggiunto il metodo pubblico getBottomPaddingOffset() alla classe android.view.View.
Aggiunto il metodo pubblico getLeftPaddingOffset() alla classe android.view.View.
Aggiunto il metodo pubblico getRightPaddingOffset() alla classe android.view.View.
Aggiunto il metodo pubblico getTopPaddingOffset() alla classe android.view.View.
Aggiunto il metodo pubblico isPaddingOffsetRequired() alla classe android.view.View.
Supporto delle marquee
Metodo pubblico setMarqueeRepeatLimit(int) aggiunto alla classe TextView
Campo pubblico android.R.attr.marqueeRepeatLimit aggiunto
Nuove autorizzazioni
Campo pubblico android.Manifest.permission.BROADCAST_SMS aggiunto
Campo pubblico android.Manifest.permission.BROADCAST_WAP_PUSH aggiunto
Pulizia delle API
Rimosso il costruttore protetto java.net.ServerSocket.ServerSocket(java.net.SocketImpl).