Domanda

Sto costruendo un'applicazione che è il targeting per Windows, Mac e Linux al più presto.Mi chiedevo dove devo conservare i dati dell'applicazione come impostazioni, etc.

Installazione dell'applicazione della cartella è la scelta più facile, ma penso che potrebbe essere un problema con Vista modello di sicurezza.Inoltre, gli utenti potrebbero desiderare di impostazioni diverse.

È C:\Documents and Settings ome utente\MyApp bene, sia per Vista e XP?È /home/nomeutente/.MyApp bene per Linux e Mac?

Idee e/o i link per le migliori pratiche molto apprezzato.

Grazie!

Juan

È stato utile?

Soluzione

Ogni piattaforma ha le sue proprie API per la ricerca di home dell'utente, la cartella o la cartella documenti, o cartella preferenze.

  • Windows:SHGetFolderPath() o SHGetKnownFolderPath()
  • Mac OS X e iPhone OS:NSSearchPathForDirectoriesInDomains()
  • Unix:Variabile d'ambiente $HOME

Non codificare percorsi specifici o è sufficiente aggiungere un prefisso e un suffisso al nome dell'utente.Inoltre, provare a seguire qualunque convenzioni ci sono per la piattaforma per la denominazione dei file.

Altri suggerimenti

Con riferimento alle migliori pratiche, Jeff ha pubblicato un articolo sul inquinanti in spazio utente che potreste trovare utili: Non Inquinano Spazio Utente

Come una questione di carattere generale, consiglio di astrarre l'attuazione delle impostazioni in "Impostazioni Provider' e di fornire diversi fornitori per ogni piattaforma.In questo modo, è possibile implementare l'archiviazione delle impostazioni in modo che meglio si adatta alle piattaforme di destinazione (ad esempio, un file su Linux o Registro di sistema di Windows).

Non semplicemente ad adottare il "minimo comune denominatore".In cui si dispone di contenuto che deve essere esplicitamente memorizzati in file, che sono le impostazioni del provider di esporre la piattaforma percorso specifico per i file.

Io non sono :)

Io sto usando il profilo utente in Windows e una CASA in Mac/Linux.Ma anche così, ho bisogno di sapere che quelli sono i posti giusti.

Grazie!

In windows è necessario andare a un altro livello di profondità che solo il profilo utente.Utilizzare la cartella Dati Applicazioni.

Su Windows io uso APPDATA,e su Linux io uso a CASA.

Mai, mai memorizzare i dati dell'utente nella cartella dell'applicazione.È solo una cattiva idea.

Maggior parte dei sistemi operativi hanno un $HOME (o %HOME%) variabile di ambiente.Sarebbe il primo posto dove guardare.

Se si desidera correttamente il supporto di più sistemi operativi, però, si sta andando ad avere un po ' di OS-codice specifico per ogni che capisce esattamente dove le cose devono andare.(~/Library for Mac OS, ~/.configurazione di GNOME-based systems, %HOME%/Dati Applicazioni per Windows, etc.).

Che lingua hai intenzione di utilizzare?Java, per esempio, ha dedicato un Preferenza API.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top