Where should I save my own app prefereces?

10 Ansichten (letzte 30 Tage)
Micke Malmström
Micke Malmström am 2 Feb. 2017
Bearbeitet: Walter Roberson am 6 Feb. 2017
I have my AppDesigner-app and I want it to remember the settings from last session. How and where should i prefereably save the state of the program?
  1 Kommentar
Micke Malmström
Micke Malmström am 6 Feb. 2017
Maybe C:\Users\username\AppData\Roaming\Matlab\ is a good place?

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Guillaume
Guillaume am 6 Feb. 2017
If you want to do that properly, the directory (on Windows post XP) where to save the preferences would be:
fullfile(getenv('APPDATA'), yourprogramname) %and NOT matlab!
if you want the settings to get propagated to other domain computers the user log onto, or
fullfile(getenv('LOCALAPPDATA'), yourprogramname)
if the settings are local to the user and machine. IF the settings are the same to all users, then:
fullfile(getenv('PROGRAMDATA'), yourprogramname)
As to how, saving them in a mat file would be the simplest thing. Alternatively, if you want the user to be able to edit the setting file with a text editor, serialise to json or xml, or write your own parser for an INI style file.

Weitere Antworten (1)

Walter Roberson
Walter Roberson am 6 Feb. 2017
Bearbeitet: Walter Roberson am 6 Feb. 2017
As a complete alternative to Guillaume's correct answer:
You can also use setpref() and the related getpref()
"Note: Preference values are persistent and maintain their values between MATLAB sessions. Where they are stored is system dependent."
These would be per-user.
By the way: I have found in practice that one of the real challenges of preference files is backwards compatibility. "Oh, gosh, a phi of 1.69 isn't even possible now! But if they had that in their preferences file 4 years ago then they must have been doing this kind of analysis and that requires interpreting the other preferences a completely different way...."

Kategorien

Mehr zu Introduction to Installation and Licensing finden Sie in Help Center und File Exchange

Produkte

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by