کلیدستان

نسخه‌ی کامل: ذخیره متن در حافظه و فراخوانی آن با برنامه اندروید (دفترچه یادداشت)
شما در حال مشاهده نسخه آرشیو هستید. برای مشاهده نسخه کامل کلیک کنید.
سلام و درود بر شما جناب استاد گلمکانی عزیز
سوالی ذهنم رو مشغول کرده که اون رو درمیون میگذارم
در پی ساخت صفحه ای مربوط به دفترچه یادداشت هستم که خواستم ازتون بپرسم آموزشی در این باره توی انجمن ها هست؟ با جست و جویی که انجام دادم به نتیجه نرسیدم ولی میدونم هست احتمالاً ، لطفاً لینکی رو از کلید ارسال بفرمایید.
درواقع میخوام متنی رو که کاربر در textview مینویسه با کلیک بر یک Button ، متن در جایی ذخیره شود و پس از هربار باز کردن برنامه همان متن همانجا نمایش داده شود و قابل تغییر هم باشد. لطفاً راهنمایی
سلام دوست عزیز. 
به نظر بنده، برای ذخیره متن های این نوع برنامه های اندروید، دو راه مناسب هستند :

1- استفاده از پایگاه داده (database) (پایگاه داده (SQLite Database))
2- استفاده از SharedPreferences (ذخیره اطلاعات با SharedPreferences)

اگر تعداد یادداشت ها کم هست، به نظرم همان SharedPreferences می تواند به سادگی این مورد را برای شما اجرا کند، در غیر این صورت، پایگاه داده می تواند برای تعداد زیاد یادداشت و مدیریت بهتر آنها، مفید باشد (البته باز هم سلیقه ای است و ممکن است برنامه نویسی همان SharedPreferences را ترجیح بدهد).
شیوه استفاده از SharedPreferences هم موثر است (دو شیوه داریم)، مثلا کلید زیر را ببینید :

کلید شماره 248

در کلید فوق، از عنصری با نام EditTextPreference استفاده کرده ایم که مثل یک EditText است، فقط با این تفاوت که با استفاده از تنظیمات SharedPreferences ، متنی که در آن نوشته می شود، ذخیره خواهد شد و دفعه بعد که Activity (در واقع PreferenceActivity ، زیرا کلاس را از گسترش آن می سازیم) را بار می کنیم، دوباره همان آخرین متن را می بینیم.
اگر هم به همان شیوه معمولی استفاده از SharedPreferences علاقه مند هستید که باید اطلاعات ذخیره شده توسط SharedPreferences را خوانده (کلید شماره 288) و در یک EditText ذخیره کنید و هنگام خروج کاربر از Activity (یا با اشاره بر روی یک دکمه)، اطلاعات جدید را توسط SharedPreferences ذخیره نمایید.

کمی توضیح در مورد uninstall برنامه اندروید :
دقت کنید که اگر کاربر، برنامه اندروید را uninstall کند، اطلاعات ذخیره شده توسط SharedPreferences حذف می شوند و همچنین مسیر پیش فرضی که برای ذخیره فایل های database در نظر گرفته شده (حافظه داخلی - Internal Storage) نیز به طور کامل حذف می شود (یعنی عملا database نیز حذف می شود، مگر اینکه فایل database را در محلی ساخته باشیم که هنگام uninstall برنامه اندروید، فایل های موجود در آن حذف نشوند، یعنی در حافظه خارجی (External Storage)). در کل، uninstall برنامه اندروید، با حذف حافظه داخلی (Internal Storage)، تمامی اطلاعات SharedPreferences ، پایگاه های داده ای که در مسیر پیش فرض نصب شده اند، cache ها (ذخیره در مسیر پیش فرض) و ... را حذف می کند، ولی فکر نمی کنم نیاز باشد به این مورد فکر کنید، فقط گفتم که تذکر داده باشم.

مرسی مرسی مرسییییییی
استاد گلمکانی عزیز...
 متن های فایل xml با روش sharedpreferences رو هم میشه راست چین یا چپ چین کرد؟؟؟
 
ظاهراً آقای ادمین، استاد بزرگوارم با من قهر کردین
سلام.
لینک زیر را ببینید :

http://stackoverflow.com/questions/11332...0#21075050

در ضمن، لطفا در سوالات خود، شخص خاصی را مخاطب قرار ندهید، تا هر کس راه حل را می داند، پاسخ دهد.
با تشکر.

 چشم
لطفاً از من دلخور نباشید
ببخشید
دوستان عزیز دو تا سوال دارم:
اول:
توی این آموزشی که در کلید ذکر شده در پست قبلی توی فایل prefs.xml که یادداشت ها رو دخیره میکنیم، در کد زیر
کد پی‌اچ‌پی:
<EditTextPreference android:title="@string/note1" android:key="note1" android:summary="@string/note1_summary"/> 
به جای string/note1_summary@" آدرسی قرار بدم که خود یادداشت ذخیره شده رو نشون بده...
آدرس متن ذخیره شده چیه؟؟؟؟؟