PDA

View Full Version : ذخیره وضعیت نرم افزار



jeus
چهارشنبه 22 خرداد 1387, 20:17 عصر
در نرم افزارهای دسکتاپ تغییرات اعمال شده در نرم افزار بعد از باز شدن و بسته شدن نرم افزار باقی می مونه به فرض مثال هنگامی که شما پنجره های داخلی یک برنامه مانند فتوشاپ را تنظیم میکنید بعد از بستن و باز کردن مجدد به همان صورت قبل رویت میشوند که و یا فایرفاکس که تنظیمات toolbar که ذخیره میشه و یا قسمتهای مختلف دیگش حتی ماندن لینکها در address Bar که باقی مومنند که متوجه شدم که فایرفاکس از sqlite استفاده میکنه این به این معنی است که تمامی اطلاعات از این قبیل را در دیتا بیس ذخیره میکنه و هنگام لود شدن از این اطلاعات استفاده میکنه من هم میخواهم برنامه دسکتاپی که با جاوا می نویسم اینگونه باشه یعنی به مثلا وقتی که شخص تنظیمات مختلف پنجره را حتی از قبیل size را تغییر میده بعد از بستن و باز کردن مجدد به همانگونه مشاهده بشه
آیا برای تمام اینها اگر بر اساس دیتا بیس بخواهم پیش برم باید table های جداگانه باسه هر پنجره ام بسازم و اطلاعات هر پنجره را قبل از بسته شدن توی اون تیبل ذخیره کنم
البته یک فکر دیگه هم به فکرم خورد که داخل فایلهای .txt ذخیره کنم که البته فکر میکنم با مشکلاتی مواجه شم
از شما دوستان میخواهم اگر راه بهتری سراغ دارند راهنماییم کنند با تشکر از تمام دوستان

mazdadoost
چهارشنبه 22 خرداد 1387, 20:36 عصر
دوست عزیز :
راههای متنوعی هست.روش استاندارد استفاده از Preferences API هست.
به اینجا مراجعه کنید :
http://java.sun.com/j2se/1.4.2/docs/guide/lang/preferences.html
موفق باشید.

jeus
جمعه 24 خرداد 1387, 17:44 عصر
دوست من ، من مطالب لینک را مطالعه کردم یه چیزهایی دستگیرم شد اما درشت نگرفتم که جریان چیه
میشه لطف کنید برام یک کم توضیح بدید
ممنون میشم اگه یک source هم برام بگذارید

javaphantom
جمعه 24 خرداد 1387, 18:39 عصر
دوست من ، من مطالب لینک را مطالعه کردم یه چیزهایی دستگیرم شد اما درشت نگرفتم که جریان چیه
میشه لطف کنید برام یک کم توضیح بدید
ممنون میشم اگه یک source هم برام بگذارید

یک XML فایل درست کن برای خودت توی اون ذخیره کن
هر بار که برنامت ران می شه و نیاز داری از توی اون بخون
اگرم کسی پاکش کرد یک مقدار اولیه بصورت دیفالت default برای خودت در نظر بگیر از اون استفاده کن
hidden کن که کسی نبینتش اگرم می خوای خیلی امنیت رو بیشتر کنی به صورت binary ذخیرش کن

cups_of_java
جمعه 24 خرداد 1387, 22:14 عصر
http://www.onjava.com/pub/a/onjava/synd/2001/10/17/j2se.html?page=1

mazdadoost
شنبه 25 خرداد 1387, 10:30 صبح
دوست من ، من مطالب لینک را مطالعه کردم یه چیزهایی دستگیرم شد اما درشت نگرفتم که جریان چیه
میشه لطف کنید برام یک کم توضیح بدید
ممنون میشم اگه یک source هم برام بگذارید

دوست عزیز چرا که نه!
این API هدفش ایجاد یک روش متحد برای ذخیره اطلاعات برنامه ها بین اجرا های مختلف در VM هست.
میتونید مثل یه مینی دیتا بیس بش فکر کنید:پیاده سازی این روش در هر پلت فرمی به یه شکل هست(و حتی در پیاده سازی های مختلف JRE!).به جایی که اطلاعات درش ذخیره میشه Storage میگن.فکر میکنم در ویندوز در Registry هستن.
ساختار اطلاعات هم مثل یه درخته!در واقع هر شی Preferences میتونه شامل اشیائ دیگه Preferences باشه.اما شی Preferences چیه؟ به هر گره یا Node در سلسله مراتب Storage یه Preferences میکن!دونوع Preferences دارشم User :که برای هر کاربر سیستم(در سیستم های مولتی یوزر)یکی داریم و Preferences که مربوط به کل سیستمی هست که جاوا روش نصب شده.
کلاس Preferences نقطه شروع کار با اشیاء Preferences هست .شما نمی تونید مستیما این اشیا رو درست کنید(new Preferences())بلکه با استفاده از متد های استاتیک کلاس Preferences ارجاعاتی به اشیاء Preferences درست میکنید.همچنین نکته جالب اینه که شما میتونید به هر سلسله مراتب دلخواهی در درخت Preferences اشاره کنید و به اون گره دست پیدا کنید حالا یا اون گره از قبل هست که برگردونده میشه و اگه هم نباشه که درست میشه و برگردونده میشه.

فکر میکنم یه درک کلی بدست اورده باشی حالا مطلب رو در این متن دنبال کن. (ما الان داریم از DB4O برای ان کار و خیلی از کارای دیگه استفاده میکنیم.)
امیدوارم مفید بوده باشه موفق باشی.