Notes sur la version d'Android 1.1

Date:février 2009
Niveau d'API:2

Ce document fournit des notes de version pour l'image système Android 1.1 incluse dans le SDK.

Présentation

L'image système Android 1.1 fournie dans le SDK est l'équivalent de l'image système de production Android 1.1, déployable sur les téléphones Android à partir de février 2009.

L'image système Android 1.1 fournit une version mise à jour de l'API de framework. Comme pour l'API Android 1.0, l'API Android 1.1 se voit attribuer un identifiant sous forme d'entier (2) qui est stocké dans le système lui-même. Cet identifiant, appelé "niveau d'API", permet au système de déterminer correctement si une application est compatible avec le système, avant de l'installer.

Les applications indiquent le niveau d'API système le plus bas avec lequel elles sont compatibles en ajoutant une valeur à l'attribut android:minSdkVersion. La valeur de l'attribut est un entier correspondant à un identifiant de niveau d'API. Avant d'installer une application, le système vérifie la valeur de android:minSdkVersion et n'autorise l'installation que si l'entier référencé est inférieur ou égal à l'entier du niveau d'API stocké dans le système.

Si vous utilisez l'image système Android 1.1 pour créer une application compatible avec les appareils Android exécutant la plate-forme Android 1.1, vous devez définir l'attribut android:minSdkVersion sur "2" afin d'indiquer que votre application n'est compatible qu'avec les appareils utilisant l'image système Android 1.1 (ou version ultérieure).

Plus précisément, vous spécifiez l'attribut android:minSdkVersion dans un élément <uses-sdk> en tant qu'enfant de <manifest> dans le fichier manifeste. Une fois défini, l'attribut se présente comme suit:

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

En définissant android:minSdkVersion de cette manière, vous vous assurez que les utilisateurs ne pourront installer votre application que si leur appareil est équipé de la plate-forme Android 1.1. Cela garantit que votre application fonctionnera correctement sur leurs appareils, en particulier si elle utilise des API introduites dans Android 1.1.

Si votre application utilise des API introduites dans Android 1.1, mais ne déclare pas <uses-sdk android:minSdkVersion="2" />, elle s'exécutera correctement sur les appareils Android 1.1, mais pas sur les appareils Android 1.0. Dans le dernier cas, l'application plantera au moment de l'exécution lorsqu'elle tentera d'utiliser les API Android 1.1.

Si votre application n'utilise aucune nouvelle API introduite dans Android 1.1, vous pouvez indiquer la compatibilité avec Android 1.0 en supprimant android:minSdkVersion ou en définissant l'attribut sur "1". Toutefois, avant de publier votre application, vous devez vous assurer de la compiler avec l'image système Android 1.0 (disponible dans le SDK Android 1.0), afin de vous assurer qu'elle est compilée et fonctionne correctement pour les appareils Android 1.0. Vous devez tester l'application sur des images système correspondant aux niveaux d'API avec lesquels l'application est conçue pour être compatible.

Si vous êtes sûr que votre application n'utilise pas les API Android 1.1 et qu'elle n'a pas besoin de les utiliser, il peut être plus facile de continuer à travailler dans le SDK Android 1.0, plutôt que de migrer vers le SDK Android 1.1 et d'effectuer des tests supplémentaires.

Bibliothèques externes

L'image système inclut ces bibliothèques externes, auxquelles vous pouvez accéder depuis votre application en ajoutant un élément <uses-library>.

  • com.google.android.maps : permet à votre application d'accéder aux données Google Maps. Notez que pour utiliser les données Google Maps, vous avez besoin d'une clé API Google Maps.

Compatibilité des appareils

La compatibilité de l'image système Android 1.1 avec les appareils Android listés ci-dessous a été testée:

  • T-Mobile G1

Applications intégrées

L'image système inclut les applications intégrées suivantes:

  • Réveil
  • Démonstrations d'API
  • Browser
  • Calculatrice
  • Appareil photo
  • Contacts
  • Outils de développement
  • Téléphone
  • Adresse e-mail
  • Maps (et Street View)
  • Messages
  • Musique
  • Images
  • Paramètres

Localisations de l'UI

L'image système fournit des chaînes d'interface utilisateur localisées pour les langues listées ci-dessous.

  • Anglais, États-Unis (en_US)
  • German (de)

Les chaînes d'interface utilisateur localisées correspondent aux paramètres régionaux pouvant être affichés dans l'émulateur, accessibles via l'application Paramètres de l'appareil.

Problèmes résolus

  • L'alerte AlarmClock lit désormais l'audio/le vibreur directement, plutôt que via AlarmManager. L'alerte AlarmClock commence à lire du contenu audio/vibe dans son IntentReceiver, plutôt qu'au début de l'activité. Ces modifications devraient empêcher le blocage des alarmes par des boîtes de dialogue modales.
  • Correction de la mise en veille de l'appareil.
  • La simple pression ne permet plus d'ouvrir le clavier en cours d'appel. Les utilisateurs doivent désormais appuyer dessus et le faire glisser.
  • Correction d'un bug qui provoquait le gel de la connexion IMAP (vers un serveur Gmail) dans le dossier "Messages envoyés" d'environ un message sortant sur 25.
  • Supprime les entrées de configuration automatique de compte qui ne fonctionnent pas ou qui n'ont pas pu être testées. Ajout de correctifs mineurs à quelques-unes des entrées restantes. Améliorations apportées aux boîtes de dialogue d'avertissement utilisées dans quelques cas particuliers.
  • Modification de l'intervalle de vérification des messages par défaut sur 15 minutes (au lieu de "never") par défaut.
  • Correction des bugs liés à la saisie de guillemets dans IMAP, afin que les utilisateurs puissent inclure des caractères spéciaux dans les mots de passe (par exemple, des espaces).
  • Corrige différentes erreurs de configuration automatique et manuelle des comptes
  • Amélioration des rapports sur diverses erreurs de connexion, ce qui permet à l'utilisateur de diagnostiquer plus facilement les échecs de configuration de compte.
  • Corrige les notifications de nouveaux messages pour les comptes POP3.
  • Il garantit une vérification automatique correcte des comptes marqués comme "never check".
  • Affiche désormais la date et l'heure selon les préférences de l'utilisateur (par exemple, 24 heures au lieu du matin/de l'après-midi).
  • Affiche désormais cc: dans la vue des messages.
  • Améliore la récupération en cas d'échec de connexion POP3.
  • Les règles d'analyse POP3 ont été assouplies afin que l'application puisse fonctionner avec des serveurs de messagerie non conformes.

Nouvelles fonctionnalités

  • Maps: ajoute des détails et des avis lorsqu'un utilisateur effectue une recherche sur Maps et clique sur une entreprise pour en afficher les détails.
  • Appeler: allongement du délai de mise en veille par défaut de l'écran en cours d'appel lors de l'utilisation du haut-parleur
  • Téléphone: permet d'ajouter les options "Afficher le clavier" / "Masquer le clavier" dans le menu de l'appel en cours d'appel, pour faciliter l'identification du clavier DTMF.
  • Prise en charge de l'enregistrement des pièces jointes aux MMS
  • Prise en charge des textes défilants dans la mise en page

Modifications apportées à l'API

Présentation

  • Ajout d'annotations pour les systèmes de test, aucune modification réelle de l'API (hors test).
  • Ajoute une méthode pour permettre à un processus de déterminer facilement son UID.
  • Prise en charge des textes défilants dans la mise en page
  • Ajout de nouvelles méthodes pour déterminer la marge intérieure dans les vues. Cette approche est utile si vous écrivez vos propres sous-classes de View.
  • Ajoute de nouvelles autorisations permettant à une application de diffuser un SMS ou un message push WAP.
  • Nettoyage de l'API: supprime le constructeur protégé des images système liées au SDK.

Détails des modifications apportées à l'API

Module ou fonctionnalitéDescription des modifications
Annotations pour les systèmes de test
Ajout de l'annotation LargeTest.
Ajout de l'annotation MediumTest.
Ajout de l'annotation SmallTest.
Permettre à un processus de connaître facilement son UID.
Ajout de la méthode publique myUid() à la classe android.os.Process.
Marge intérieure dans les vues
Ajout de la méthode publique getBottomPaddingOffset() à la classe android.view.View.
Ajout de la méthode publique getLeftPaddingOffset() à la classe android.view.View.
Ajout de la méthode publique getRightPaddingOffset() à la classe android.view.View.
Ajout de la méthode publique getTopPaddingOffset() à la classe android.view.View.
Ajout de la méthode publique isPaddingOffsetRequired() à la classe android.view.View.
Compatibilité avec les bannières défilantes
Ajout de la méthode publique setMarqueeRepeatLimit(int) à la classe TextView.
Le champ public android.R.attr.marqueeRepeatLimit a été ajouté
Nouvelles autorisations
Le champ public android.Manifest.permission.BROADCAST_SMS a été ajouté
Le champ public android.Manifest.permission.BROADCAST_WAP_PUSH a été ajouté
Nettoyage de l'API
Suppression du constructeur protégé java.net.ServerSocket.ServerSocket(java.net.SocketImpl).