Pregunta

Estoy creando una aplicación que está dirigida a Windows, Mac y Linux pronto.Me preguntaba a dónde debo guardar los datos de la aplicación, tales como la configuración, etc.

La aplicación a la carpeta de instalación es la opción más sencilla, pero creo que podría ser un problema con la nueva Vista del modelo de seguridad.Además, los usuarios pueden usar diferentes configuraciones.

Es C:\Documents and Settings ombre de usuario\Miaplicacion bueno para Vista y XP?Es /home/username/.MyApp bueno para Linux y Mac?

Cualquier idea y/o enlaces a las mejores prácticas muy apreciado.

Gracias!

Juan

¿Fue útil?

Solución

Cada plataforma tiene su propia API para la búsqueda a la carpeta principal del usuario, o la carpeta de documentos, o la carpeta de preferencias.

  • Windows:SHGetFolderPath() o SHGetKnownFolderPath()
  • Mac OS X y el iPhone OS:NSSearchPathForDirectoriesInDomains()
  • Unix:$HOME variable de entorno

No codificar las rutas de acceso específicas o bastaría un prefijo y un sufijo en el nombre del usuario.También, trate de seguir lo que los convenios que existen para la plataforma para la nomenclatura de los archivos.

Otros consejos

En lo que respecta a las mejores prácticas, Jeff publicado un artículo sobre contaminantes de espacio de usuario que puede encontrar útiles: No Contaminan el Espacio de Usuario

Como cuestión general, me gustaría recomendar la abstracción de la implementación de su configuración en un "Proveedor de Configuración' y ofrecer diferentes proveedores para cada plataforma.De esa manera, usted puede implementar el almacenamiento de los ajustes en la forma que mejor se adapte a las plataformas de destino (por ejemplo, un archivo en Linux o en el Registro de Windows).

No se limita a adoptar el "mínimo común denominador".Donde tienes contenido que debe ser explícitamente al que se almacena en archivos, pídale a su proveedor de configuración exponer la plataforma específica de la ubicación de los archivos.

Yo no estoy :)

Estoy usando el perfil de usuario en Windows y el HOGAR en Mac/Linux.Pero aún así, necesito saber que esos son los lugares correctos.

Gracias!

En windows se necesita para ir a otro nivel de profundidad que sólo el perfil de usuario.El uso de la carpeta de Datos de Aplicación.

En Windows yo uso APPDATA,y en Linux yo uso en CASA.

Nunca, nunca almacenar los datos del usuario en la carpeta de la aplicación.Es sólo una mala idea.

La mayoría de los sistemas operativos tienen un $(o %HOME%) variable de entorno.Ese sería el primer lugar para buscar.

Si desea limpiamente compatible con varios sistemas operativos, sin embargo, vas a tener que tener algunos OS-código específico para cada uno, que las cifras exactamente donde las cosas tienen que ir.(~/Library para Mac OS, ~/.de configuración de GNOME-sistemas basados %HOME%/Datos de la Aplicación para Windows, etc.).

¿En qué idioma está planeando utilizar?Java, por ejemplo, ha dedicado una La preferencia de la API.

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