Android: convención de nombre de paquete

Resuelto Charles Yeung asked hace 54 años • 7 respuestas

Para el ejemplo "Hola mundo" en android.com , el nombre del paquete es
"package com.example.helloandroid;"

¿Existe alguna pauta/estándar para nombrar este paquete? (las referencias estarían bien)

Charles Yeung avatar Jan 01 '70 08:01 Charles Yeung
Aceptado

Android sigue las convenciones normales de los paquetes de Java y aquí hay un fragmento de texto importante para leer (esto es importante con respecto al amplio uso de archivos xml durante el desarrollo en Android).

La razón para tenerlo en orden inverso tiene que ver con el diseño en el medio de almacenamiento. Si considera cada punto ('.') en el nombre de la aplicación como un separador de ruta, todas las aplicaciones de un editor se ubicarían juntas en la jerarquía de rutas. Así, por ejemplo, los paquetes de Adobe tendrían la forma:

com.adobe.reader (Adobe Reader)

com.adobe.photoshop (Adobe Photoshop)

com.adobe.ideas (Ideas de Adobe)

[Tenga en cuenta que esto es sólo una ilustración y es posible que estos no sean los nombres exactos de los paquetes.]

Estos podrían asignarse internamente (respectivamente) a:

es/adobe/lector

es/adobe/photoshop

es/adobe/ideas

El concepto proviene de las convenciones de nomenclatura de paquetes en Java, sobre las cuales se puede leer más aquí:*

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

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

Jimmy Huch avatar Jun 08 '2011 03:06 Jimmy Huch

El nombre del paquete se utiliza para una identificación única de su aplicación.
Android usa el nombre del paquete para determinar si la aplicación se ha instalado o no.
La denominación general es:

com.nombredelaempresa.nombredelaaplicación

p.ej:

com.companyxyz.camera (Todo en minúsculas sin guiones bajos según la guía de estilo de Kotlin).

Esta referencia de la guía de estilo de Kotlin aborda específicamente las mayúsculas (todas en minúsculas) y no tiene guiones bajos.

Los nombres de los paquetes están todos en minúsculas, con palabras consecutivas simplemente concatenadas (sin guiones bajos).

Ejemplos a evitar:

com.companyxyz.Camera (Evite esto, en Java esta es una convención que comúnmente denotaría una Clase o Interfaz y tampoco sigue la guía de estilo de Kotlin.

com.company_xyz.camera_app (Evite esto también. En Java, esto se haría para reducir la colisión del espacio de nombres cuando la URL o el nombre de la aplicación contiene un carácter especial, es decir, no alfanumérico).

Observación personal: en la nueva revisión no había ninguna guía específica para los nombres de paquetes en la guía de estilo de Kotlin con respecto a la práctica aceptada de usar nombres de dominio en orden inverso para evitar colisiones de nombres, pero esa convención parece ser ampliamente adoptada siguiendo las mismas pautas de convención en la documentación del oráculo. Esta es una práctica ampliamente aceptada. por ejemplo, com.google.abc o com.microsoft.cortana, excepto el uso de guiones bajos. Esto posiblemente sea un castigo kármico por ser tramposo con un nombre...

Referencias/lecturas adicionales: Guía de estilo de Kotlin para la denominación de paquetes de Android ( https://developer.android.com/kotlin/style-guide#package_names )

Guía sobre el nombre del paquete Jaca/Oracle ( https://docs.oracle.com/javase/tutorial/java/package/namingpkgs.html )

También hay muchos artículos de desbordamiento de pila dedicados a este tema y dejaré ese ejercicio de búsqueda para que lo realice el lector.

ameyume avatar Jun 08 '2011 03:06 ameyume

http://docs.oracle.com/javase/tutorial/java/package/namingpkgs.html

Las empresas utilizan su nombre de dominio de Internet invertido para comenzar los nombres de sus paquetes; por ejemplo, com.ejemplo.mipaquete para un paquete llamado mipaquete creado por un programador en ejemplo.com.

Las colisiones de nombres que ocurren dentro de una sola empresa deben manejarse por convención dentro de esa empresa, tal vez incluyendo la región o el nombre del proyecto después del nombre de la empresa (por ejemplo, com.ejemplo.región.mipaquete).

Si tienes un dominio de empresa www.ejemplo.com

Entonces deberías usar:

com.ejemplo.región.nombre del proyecto

Si posee un nombre de dominio como ejemplo.co.uk, entonces debería ser:

uk.co.ejemplo.región.nombre del proyecto

Si no posee un dominio, debe utilizar su dirección de correo electrónico:

para [email protected] debería ser:

com.ejemplo.nombre.región.nombre del proyecto

JCasso avatar Sep 19 '2012 20:09 JCasso