حيث أن عبر منصة تطبيقات الحفاظ على البيانات الخاصة بهم ؟

StackOverflow https://stackoverflow.com/questions/57019

  •  09-06-2019
  •  | 
  •  

سؤال

أنا بناء التطبيق الذي يستهدف ويندوز, لينكس وماك قريبا.كنت أتساءل أين يجب أن نضع بيانات التطبيق مثل إعدادات إلخ.

التطبيق مجلد التثبيت هو الخيار الأسهل ، ولكن أعتقد أنه قد يكون هناك مشكلة مع فيستا الجديدة نموذج الأمن.إلى جانب المستخدمين قد ترغب في إعدادات مختلفة.

هو C:\Documents and Settings\اسم المستخدم\اسم جيد لكل Vista و XP ؟ هو /home/username/.اسم التطبيق جيد على لينكس و ماك?

أي أفكار و/أو روابط إلى أفضل الممارسات تقدير كبير.

وذلك بفضل!

خوان

هل كانت مفيدة؟

المحلول

كل منصة الخاصة API من أجل العثور على المجلد الرئيسي المستخدم أو الوثائق المجلد أو المجلد تفضيلات.

  • ويندوز:SHGetFolderPath() أو SHGetKnownFolderPath()
  • نظام التشغيل Mac OS X نظام التشغيل اي فون:NSSearchPathForDirectoriesInDomains()
  • Unix:$HOME متغير البيئة

لا هاردكودي مسارات محددة أو مجرد تك البادئة واللاحقة على اسم المستخدم.أيضا ، في محاولة متابعة كل الاتفاقيات هناك منصة تسمية الملفات.

نصائح أخرى

في ما يخص أفضل الممارسات جيف نشرت مقالا على تلويث الفضاء المستخدم التي قد تجدها مفيدة: لا تلوث الفضاء المستخدم

عموما النقطة ، أود أن أوصى التلخيص تنفيذ الإعدادات الخاصة بك في 'إعدادات المزود و توفير مختلف مقدمي الخدمات لكل منصة.بهذه الطريقة, يمكنك تنفيذ تخزين الإعدادات بالطريقة التي تناسب استهداف الأنظمة الأساسية (على سبيل المثال ، ملف على لينكس أو ويندوز).

ببساطة لا تعتمد 'القاسم المشترك الأدنى'.حيث لديك المحتوى الذي يجب أن يكون explicity المخزنة في ملفات الإعدادات الخاصة بك موفر تعرض منصة محددة موقع هذه الملفات.

أنا لا :)

أنا باستخدام التشكيل الجانبي للمستخدم في ويندوز الرئيسية في ماك/لينكس.ولكن على الرغم من ذلك ، يجب أن أعرف أن تلك هي الأماكن الصحيحة.

وذلك بفضل!

في ويندوز تحتاج إلى الذهاب من آخر مستوى عميق من التشكيل الجانبي للمستخدم.استخدام المجلد "بيانات التطبيق".

على ويندوز يمكنني استخدام APPDATA ، على لينكس استخدام المنزل.

أبدا تخزين بيانات المستخدم في مجلد التطبيق.انها مجرد فكرة سيئة.

معظم أنظمة التشغيل لديك $المنزل (أو %المنزل%) متغير البيئة.أن يكون أول مكان للبحث.

إذا كنت ترغب نظيفة دعم أنظمة تشغيل متعددة ، على الرغم من أنك سوف يكون لديك بعض OS-رمز معين لكل هذه الأرقام بالضبط أين الأشياء التي تحتاج للذهاب.(~/Library for Mac OS, ~/.config جنوم الأنظمة المستندة إلى, %المنزل%/بيانات التطبيق لنظام التشغيل Windows ، إلخ.).

ما هي اللغة التي كنت تخطط لاستخدام ؟ جافا ، على سبيل المثال ، قد مخصص تفضيل API.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top