به نام خدا، سلام، در این جلسه می خواهیم در مورد shared preference صحبت کنیم. shared preference یک روش ذخیره سازی اطلاعات ساده در اندروید هست. در این جلسه قسمت پروفایل اپ را که قبلا ایجاد کرده بودیم را کامل تر می کنیم. زمانی که کاربر روی دکمه ی ثبت اطلاعات کاربر کلیک می کند، اطلاعات داخل shared preference ذخیره می شود و زمانی که دوباره به صفحه بازگردیم اطلاعات به نمایش در می آیند.
مطالب مطرح شده در این جلسه عبارتند از :
- SharedPreference چیست؟
- آشنایی با ساختار SharedPref
- درخواست ایجاد SharedPref
- اضافه کردن مقدار به SharedPref
- ذخیره مقادیر مختلف در Sharedpref
- دریافت مقادیر از Sharedpref
:: توجه
این مطلب یک جلسه از آموزش برنامه نویسی اندروید می باشد و برای مشاهده آن باید در دوره ثبت نام کنید.
سلام
توی ویدیو گفتید که پسورد رو در shared preferences ذخیره نکنیم، سوالی که برام پیش اومده اینه که پس کجا باید ذخیره بشه؟اصلا نیاز به ذخیره کردنش هست؟
سلام، استاندارد های مختلفی برای Authentication و Autherization وجود داره. یکی از استاندارد های خیلی معروف در این زمینه oAuth v2 هست که می تونید راجع بهش مطالعه کنید. به جای ذخیره سازی پسورد، یه توکن از سرور می گیرن و اون توکن رو ذخیره می کنن و همراه با درخواست هاشون Token رو سمت سرور ارسال می کنند. این روش نیاز به پیاده سازی سمت سرور داره.
برای استفاده از oAuth2 نیاز به استفاده از فریمورک یا کتابخانه خاصی هست؟
سوال دیگه ای که دارم اینه که پیاده سازی API با وردپرس کار درستیه؟
سلام٬ oauth یک استاندارد هست و می تونید خودتون هم پیاده سازی کنید. اما برای زبان های برنامه نویسی مختلف فریمورک های متفاوتی وجود داره.
پیاده سازی api با وردپرس چرا درست نباشه! وردپرس یک cms با زبان php هست که خیلی خوب پیاده سازی شده. درست پیاده سازی کردن api مهمه٬ زبانی که باهاش کار می کنید یه وسیله اس
سوال دیگه هم برای امن کردن برنامه تا حد ممکن برنامه در سمت کلاینت ، لطف میکنید یک چک لیست بدین ؟
تا طی انجام این چک لیست بتونیم حداکثر امنیت برنامه رو تامین کنیم
ممنونم
قول نمی دم اما اگه فرصت کردم اضافه می کنم.
لطفا جواب سوالات رو هم با تاخیر هفتگی یا ماهانه ندین
ممنونم
بهترین و امن ترین حالت برای ارتباط بین اپ موبایل و وب سرویس چی هست ؟
فرض کنید وب سرویس ما نیازه بر اساس یوزرهایی که role خاصی دارند ، کاری انجام دهند ( مثل ثبت محصول یا کالا توسط مدیر ) و همین امر برای کاربران عادی انجام نشود ! حالا چطور باید وب سرویس رو متوجه کنیم که این کاربر مدیر هست ؟ آیا باید یوزر و پاس کاربر جهت تایید شدن به وب سرویس ارسال شود ؟ اگر آره بهترین و امن ترین حالت چگونه هست ؟
با تشکر
سلام، برای این کار باید حتما یوزنیم یا ایمیل و پسورد به سرور برای تشخیص هویت در هر درخواست مهمی ارسال شود(روش دیگر جلوتر توضیح داده خواهد شد) ، سرور در این حالت برای امن بودن باید ssl داشته باشه ولی می شه خودمون رمزگذاری کنیم که البته به اندازه استفاده از ssl امن نیست. زمانی که سرور ایمیل و پسورد رو گرفت اون رو چک می کنه و می بینه آیا اون کاربر اجازه اون عمل درخواست کرده شده رو داره یا خیر.
روش دیگری هم هست که می شه زمانی که کاربر یک بار password خودش رو داد یک token دریافت کنه و تا مدت مشخصی بتونه با اون token کارهای خاصی که توی حوزه ی اختیاراتش هست انجام بده.
برای چنین مورد مهمی استفاده از sharedpreferences توصیه نمی شود ؟
روش account manager چطور ؟ میتونه جوابگو باشه ؟
یا همین روشی که فرمودین بهتره ؟
اکانت منیجر برای این استفاده می شه یوزر نیم و پسورد کاربر یک جای امن ذخیره می شه و اتفاقا بسیار مفیده ولی بخش عمده ی امنیت کلاینت به روش پیاده سازی api سمت سرور ربط داره
بسیار عالی استاد
لطف میکنید از این دو روش که فرمودین
برای هر کدوم لینک به مثال همراه با کد بدین ؟
ممنونم
سلام این موضوع بحث بسیار گسترده ایه و پراکنده اس، باید داخل اینترنت در رابطه با این موضوع سرچ کنید و مقاله های مختلف مطالعه کنید
استاد خسته نباشید خیلی عالی بود
یه سوال برای من پیش اومد
توی profile activity
از یوزر که نمونه گرفتید به این شکل گرفتید:
();
اما از UserSharedPrefManager
که گرفتید به این شکل بود:
چرا؟!
و اینکه تفاوتشون چیه؟!
و اینکه چه موقع باید از این و چه موقع از اون استفاده کنیم!
ممنون
سلام، تکه کد اول زمانی استفاده می شه که بخواهیم اطلاعات کاربر جدیدی رو وارد کنید. شما تکه کد دوم زمانی استفاده می شه که بخوایم اطلاعات کاربر رو از SharedPref بگیریم.
سلام برای دستیابی به داده ها مثل داده های این جلسه در شبیه سازی با موبایل دسترسی یا تنطیم خاصی وجود دارد
سلام، خیر
سلام
استاد شاهینی خسته نباشید…. عالی بود
فقط یه سوالاتی دارشتم ازتون اونم اینکه این sharaedPerfrence داده هایی که ذخیره میکنه تا کی می توانیم به این داده ها دستیابی داشته باشیم؟ تا موقعی که App تو گوشی نصب باشه….؟بعد از اینکه App حذف بشه اطلاعات ازبین میرن؟ اگر تعداد User بیشتر باشه از دیتابیس باید استفاده کنیم؟
سلام، این داده ها تا هر زمانی که کاربر اپ رو پاک نکنه یا clear data نکنه، وجود دارند. اگر مجموعه ای از مثلاً user ها داشته باشیم باید از database استفاده کنیم.