انجمن سایت کلیدستان


رتبه موضوع:
  • 1 رای - 5 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
ذخیره صفحه ی دیده شده از برنامه اندروید

ذخیره صفحه ی دیده شده از برنامه اندروید

#1
با سلام
سوالمو اینطور مطرح می کنم، لطفا اگه اطلاعاتی دارید به صورت ساده بگید، چون تازه برنامه نویسی آندروید رو شروع کردم

فرض کن 4 تا اکتیویتی ( یا بیشتر) داریم. به نام های MainActivity و page1، page2 ,page3 و...
حالا تو هر اکتیویتی یک button هست که با لمسش به اکتیویتی بعدی میریم. مثلا از MainActivity  به page1 و از 1 به 2 و به همین ترتیب

حالا ما مثلا تو page 3  میخوایم از برنامه خارج بشیم. من دکمه back را  تو تمام صفحات غیر فعال کردم( برای اینکه نشه به صفحه قبل برگردیم) و فقط با دکمه home میشه خارج شد
بعد از خروج از برنامه اگه دوباره برنامه رو باز کنی page 3 باز میشه. تا اینجاشو مشکلی ندارم
مشکل اینجاست که با خاموش و روشن کردن گوشی،به جای اینکه برنامه از page3 شروع بشه دوباره از MainActivity شروع میشه.
در واقع من میخوام از هر صفحه ای که اومدم بیرون، دفعه بعدی ( *********حتی پس از خاموش کردن گوشی********)
که برنامه رو باز کردم از صفحه ای که قبلا با دکمهhome گوشی ازش اومدم بیرون رو بیاره نه صفحه اولی رو
مطالب مربوط به ذخیره سازی رو هم خوندم ولی بازم نتونستم



لطفا اگه میدونید،ساده بگید که باید چیکار کنم
با تشکر
پاسخ

ذخیره صفحه ی دیده شده از برنامه اندروید

#2
سلام.
من نظرم رو میگم، شاید سایر دوستان، نظر بهتری داشته باشند :

یکی از روش هایی که برای ذخیره اطلاعات در برنامه اندروید به کار می بریم، SharedPreferences است. با استفاده از SharedPreferences  می توانیم اطلاعاتی را ذخیره کنیم که تا هنگام uninstall برنامه، در گوشی باقی می مانند و قابل خواندن توسط برنامه اندروید می باشند. یعنی حتی با بستن کامل برنامه اندروید و یا خاموش کردن گوشی هم، حذف نخواهند شد.
خوب حالا برای مورد شما، ما با استفاده از SharedPreferences ، یک مقدار (از نوع رشته (string)) را ذخیره می کنیم که برابر با نام آخرین Activity است که کاربر در آن بوده. مقدار اولیه آن را هم برابر نام Activity اصلی برنامه (اولین Activity که در برنامه اندروید نمایش داده می شود) قرار می دهیم.
سپس باید در Activity اصلی، قبل از اجرای بخش های مربوط به آن، کدی را بنویسیم که این متغیر ذخیره شده را فراخوانی کند و ببیند که آیا برابر نام Activity اصلی است یا خیر. اگر برابر نام Activity بود که نیاز به انجام هیچ کاری نیست و تعیین می کنیم که ادامه کدهای Activity اصلی اجرا شود، اما اگر نام یک Activity دیگر از آن ذخیره شده بود، کاربر را به آن Activity منتقل می کنیم (کل این عملیات به این دلیل است که با شروع برنامه اندروید، ابتدا کدهای Activity اصلی اجرا می شود).
با ورود کاربر به هر Activity ، باید نام آن Activity در متغیر مورد نظرمان ذخیره شود.

برای آشنایی با چگونگی ذخیره کردن یک یا چند مقدار، با استفاده از SharedPreferences ، کلید زیر را بخوانید :

http://www.kelidestan.com/keys/keys.php?key=288

برای رفتن به یک Activity ، با استفاده از نام آن Activity (با استفاده از یک رشته)، کلید زیر را بخوانید :

http://www.kelidestan.com/keys/keys.php?key=252

نکته : ممکن است که شما نخواهید که آخرین Activity ، از ابتدا اجرا شود، بلکه آخرین وضعیت خود را داشته باشد (مثلا یک بازی بوده و قصد دارید که کاربر مراحل طی شده را ادامه بدهد، یعنی قبلا pause کرده و حالا می خواهد ادامه دهد)، در این موارد نیز باید به روشی مشابه، اطلاعات آن Activity ذخیره شوند و در ابتدای کدهای همان Activity ، کدهایی را بنویسیم که اطلاعات آخرین وضعیت را خوانده و بر اساس آنها، ادامه کدها اجرا شوند. ولی اگر این مورد اهمیت ندارد، تنها کافی است که کاربر را به Activity مورد نظر منتقل کنیم.

bookbook 
لطفا برای درج کد، از دکمه مخصوص درج کد در ادیتور انجمن استفاده کنید.
در مورد برنامه نویسی، مدیران تنها راهنمایی می کنند و نوشتن برنامه نهایی، به عهده کاربران می باشد (اینجا محلی برای یادگیری است، نه سفارش کدنویسی).
کاربران باید ابتدا خود به خطایابی برنامه بپردازند، نه اینکه به محض دیدن خطا، کدها را در انجمن، copy و paste کرده و از مدیران انتظار بررسی داشته باشند.
پاسخ
 سپاس شده توسط شماره مجازی امارات ، تلگرام ضد فیلتر 2023


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان