Pregunta

Es bueno tener la consistencia en los nombres de archivo.

MyActivity.java contiene el MyActivity public class

Me gustaría que el archivo XML con su disposición a ser llamado res / layout / MyActivity.xml

Pero me sale un mensaje de error que dice "Nombre de archivo no válido: debe contener solamente [a-z0-9 _]."

Así que dos preguntas:

  1. ¿Por qué es el juego de caracteres tan limitada (ni siquiera mayúsculas Vamos?!) - Ah - esta restricción es probablemente en su lugar por lo que nunca se le atornillado por los sistemas de ficheros que no hace distinción entre mayúsculas y minúsculas, como de Apple HFS + (aunque ver Wikipedia para la sangrienta historia http: / /en.wikipedia.org/wiki/Comparison_of_file_systems#cite_note-note-35-77 )

  2. ¿Qué nombres de archivo están restringidas - todos los res? acaba de res / layout? res / layout además de algunas otras carpetas?

Alguien puede confirmar 1, y se darán detalles sobre 2?

Gracias,

Pedro

¿Fue útil?

Solución

  

¿Por qué es el juego de caracteres tan limitada

Debido a que el nombre tiene que ser un identificador Java válido, por lo que se pueden usar constantes como R.layout.foo para identificar la distribución en tiempo de ejecución.

  

¿Qué nombres de archivo están restringidas - todo   de res? acaba de res / layout? res / layout   además de algunas otras carpetas?

Cualquier cosa en res/

Otros consejos

No está seguro de la razón de #1. Nunca había visto una explicación en cualquier lectura sobre los recursos. Para #2 de mi experiencia cualquier cosa que pueda ser utilizado como un identificador en Java, por ejemplo, R.drawable.marker, R.string.default_message tiene que seguir estas reglas de [a-z0-9_].

Cuando se utiliza MacOS X como plataforma de desarrollo, casi cualquier desarrollador tratar con código de plataforma cruzada, tarde o temprano encontrarse con el problema de que el código fuente de un proyecto Linux / UNIX no puede construirse después de la descarga / Pedido / clon porque el proyecto tiene dos archivos con nombres idénticos en un solo directorio que sólo varían en el caso; y en OS X Eso significa que terminan con un solo archivo que el segundo se sobreponen a la primera.

Por supuesto HFS + puede ser entre mayúsculas y minúsculas, pero esto sólo se puede configurar cuando se da formato a una partición y por defecto todos los Mac vienen con preinstalado OS X en una partición con formato previo con mayúsculas y minúsculas HFS + (ya que es el modo por defecto para HFS +). Así que primero tendría que volver a formatear su recién comprado y volver a instalar Mac OS X para lograr ese objetivo. Y luego estar preparado para problemas como muchas de las aplicaciones se basan en casos y falta de sensibilidad en el Mac; un ejemplo muy famoso es vapor (no se puede ejecutar de vapor de un caso sensible HFS +).

Y no es sólo MacOS. FAT es sensible a las mayúsculas y mientras NTFS puede ser entre mayúsculas y minúsculas (como HFS +), no es por defecto. También pienso SMB no es según el protocolo de especificaciones (al menos las versiones anteriores). El sistema de archivos utilizado en los CD no es, y así sucesivamente.

Así que supongo que para evitar problemas directamente desde el principio, Google cree que es una idea buena a los archivos de fuerza para ser todo en minúsculas, en cuyo caso no importa qué sistema de archivos que está utilizando o de cómo esté configurado. Por supuesto, eso es un poco tonto si todavía se puede ejecutar en ese problema con los archivos de código fuente, sin embargo, que estos pueden ser mayúsculas y minúsculas es una decisión que es anterior a Android y que se ha hecho por Sun muchos años antes de que Google ni siquiera soñado con ese sistema .

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top