Note sulla versione Android 1.1

Data: febbraio 2009
Livello API: 2

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

Panoramica

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

L'immagine di sistema di Android 1.1 fornisce una versione aggiornata dell'API framework. Come nel caso dell'API Android 1.0, all'API Android 1.1 viene assegnato un identificatore numero intero (2), archiviato 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 di 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 con la piattaforma Android 1.1, devi impostare l'attributo android:minSdkVersion su "2" per specificare che l'applicazione è compatibile solo con i dispositivi che utilizzano l'immagine di sistema di 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>

Se imposti android:minSdkVersion in questo modo, ti assicuri che gli utenti possano installare la tua applicazione soltanto 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 l'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 sui dispositivi Android 1.0. Nel secondo caso, l'applicazione si arresta in modo anomalo in fase di runtime quando tenta 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 compilarla sulla base dell'immagine di sistema Android 1.0 (disponibile nell'SDK Android 1.0) per assicurarti che venga creata e funzioni correttamente per i dispositivi Android 1.0. Devi testare l'applicazione su immagini di sistema corrispondenti ai livelli API con cui l'applicazione è compatibile.

Se sei sicuro che la tua applicazione non utilizzi API Android 1.1 e non hai bisogno di utilizzarle, potrebbe essere più semplice continuare a lavorare nell'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 dalla tua applicazione aggiungendo un elemento <uses-library>.

  • com.google.android.maps: consente alla tua 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 Android elencati di seguito:

  • T-Mobile G1

Applicazioni integrate

L'immagine di sistema include le seguenti applicazioni integrate:

  • Sveglia
  • Demo dell'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 UI localizzate corrispondono alle impostazioni internazionali visualizzabili nell'emulatore, accessibili tramite l'applicazione Impostazioni del dispositivo.

Problemi risolti

  • L'avviso AlarmClock ora riproduce l'audio 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 nella chiamata; gli utenti ora devono toccarlo e trascinarlo.
  • Corregge un bug che causa il blocco della connessione IMAP (a un server basato su Gmail) in circa 1 messaggio in uscita su 25 quando viene trasferito alla cartella Inviati.
  • Rimuove le voci di creazione automatica dell'account che sono state interrotte o non è possibile verificarle. Aggiunge correzioni di minore entità ad alcune delle voci rimanenti. Sono stati apportati 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é l'impostazione predefinita "never").
  • Corregge i bug relativi alle citazioni delle password in IMAP, in modo che gli utenti possano includere caratteri speciali nelle password (ad esempio, gli spazi).
  • Corregge vari errori nella creazione automatica e manuale dell'account
  • Migliora la generazione di report per vari errori di connessione, semplificando la diagnosi delle configurazioni degli account non riuscite.
  • Corregge le notifiche per i nuovi messaggi per gli account POP3.
  • Garantisce il controllo automatico corretto degli account contrassegnati come "mai verifica".
  • Ora mostra data e ora utilizzando le 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 lo spegnimento dello schermo durante la chiamata è ora più lungo se si utilizza il telefono.
  • Telefono: aggiunge una voce "Mostra tastierino" / "Nascondi tastierino" al menu della 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 i sistemi di test, nessuna modifica effettiva (non di test) all'API.
  • Aggiunge un metodo per consentire a un processo di determinare facilmente il relativo UID.
  • Supporto del testo scorrevole nei layout.
  • Aggiunge nuovi metodi per determinare la spaziatura interna nelle visualizzazioni. È utile se stai scrivendo le tue sottoclassi 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 modifiche
Annotazioni per i sistemi di test
Aggiunta l'annotazione LargeTest.
Aggiunta l'annotazione MediumTest.
Aggiunta l'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
Metodo pubblico getBottomPaddingOffset() aggiunto alla classe android.view.View.
Metodo pubblico getLeftPaddingOffset() aggiunto alla classe android.view.View.
Metodo pubblico getRightPaddingOffset() aggiunto alla classe android.view.View.
Metodo pubblico getTopPaddingOffset() aggiunto alla classe android.view.View.
Metodo pubblico isPaddingOffsetRequired() aggiunto alla classe android.view.View.
Supporto per 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 dell'API
Rimosso il costruttore protetto java.net.ServerSocket.ServerSocket(java.net.SocketImpl).