web-dev-qa-db-fra.com

Android - Convention de nom de package

Pour l'exemple "Hello World" dans Android.com , le nom du package est
"package com.example.helloandroid;"

Existe-t-il une directive/norme pour nommer ce paquet? (les références seraient Nice)

189
Charles Yeung

Android suit les conventions de paquetages Java habituelles. En plus, voici un extrait de texte important à lire (important pour l'utilisation étendue des fichiers xml lors du développement sur Android).

La raison de l'avoir dans l'ordre inverse est liée à la disposition sur le support de stockage. Si vous considérez chaque point ('.') Dans le nom de l'application comme un séparateur de chemin, toutes les applications d'un éditeur se retrouveraient ensemble dans la hiérarchie des chemins. Ainsi, par exemple, les packages d'Adobe seraient de la forme:

com.Adobe.reader (Adobe Reader)

com.Adobe.photoshop (Adobe Photoshop)

com.Adobe.ideas (idées Adobe)

[Notez que ceci est juste une illustration et que ce ne sont peut-être pas les noms exacts du paquet.]

Ceux-ci pourraient être mappés en interne (respectivement) pour:

com/Adobe/reader

com/Adobe/photoshop

com/Adobe/ideas

Le concept vient des conventions de nommage des paquets en Java, qui peuvent être lues ici: *

http://en.wikipedia.org/wiki/Java_package#Package_naming_conventions

Source: http://www.quora.com/Why-do-a-majority-of-Android-package-names-begin-with-com

210
Jimmy Huch

Le nom du package est utilisé pour l'identification unique de votre application.
Android utilise le nom du package pour déterminer si l'application a été installée ou non.
Le nom général est:

com.companyname.applicationname

par exemple:

com.Android.Camera

59
ameyume

http://docs.Oracle.com/javase/tutorial/Java/package/namingpkgs.html

Les entreprises utilisent leur nom de domaine Internet inversé pour commencer leurs noms de package, par exemple, com.example.mypackage pour un package nommé mypackage créé par un programmeur à example.com.

Les collisions de noms survenant au sein d'une même entreprise doivent être traitées par convention dans cette entreprise, par exemple en incluant la région ou le nom du projet après le nom de l'entreprise (par exemple, com.example.region.mypackage).

Si vous possédez un domaine d'entreprise www.example.com

Ensuite, vous devriez utiliser:

com.example.region.nomprojet

Si vous possédez un nom de domaine tel que example.co.uk, il devrait l'être:

uk.co.example.region.projectname

Si vous ne possédez pas de domaine, vous devez alors utiliser votre adresse email:

pour [email protected], cela devrait être:

com.example.name.region.projectname

33
JCasso
Com = commercial application (just like .com, most people register their app as a com app)
First level = always the publishing entity's' name
Second level (optional) = sub-devison, group, or project name
Final level = product name

Par exemple, il Android launcher (écran d'accueil) est Com.Google.Android.launcher

3
charles

Généralement, les 2 premiers paquets "mots" correspondent à votre adresse Web inversée. (Vous auriez 3 ici comme convention, si vous aviez un sous-domaine.)

Donc, quelque chose que stackoverflow produit serait probablement dans le paquetage com.stackoverflow.w Whatever.customname

quelque chose que asp.net produise pourrait être appelé net.asp.w Whatever.customname.omg.srsly

quelque chose de mysubdomain.toplevel.com serait com.toplevel.mysubdomain. quoi que ce soit

Au-delà de cette simple convention, le ciel est la limite. Ceci est une vieille convention linux pour quelque chose dont je ne me souviens pas exactement ...

2
Eric