
آموزش کار با فایل سیستم در اندروید
آموزش کار با فایل سیستم در اندروید یکی دیگر از آموزش های گروه آموزشی پرووید می باشد که در این قسمت آن را به شما معرفی می کنیم. این بسته آموزشی نیز یکی از دوره های آموزشی دیگر که در حوزه فارسی سازی آموزش های انگلیسی تنظیم شده است می باشد. عنوان این بسته آموزشی، آموزش کار کردن با فایل سیستم در اپلیکیشن های اندورید است که با نام اصلی Android File System از شرکت Pluralsight منتشر شده است.
فایل سیستم اندروید
شبیه به هر سیستم عامل مدرن دیگری، سیستم عامل اندروید نیز یک فایل سیستم مبتنی بر دیسک را در اختیار برنامه نویسان قرار می دهد. بطور کلی در سیستم عامل اندروید دو گزینه برای ذخیره سازی داده ها با نام های internal storage و external storage وجود دارند. فضای ذخیره سازی internal که با نام internal storage نیز شناخته می شود به فضای حافظه ی غیر پایدار و درونی سیستم اشاره میکند. دستگاهها می توانند حافظه های قابل حذف کردن از قبیل SD card نیز داشته باشند که تحت عنوان فضای ذخیره سازی خارجی و یا external storage از آنها یاد می شود. این در حالی است که از internal storage اغلب تحت عنوان permanent storage به معنی فضای ذخیره سازی ماندگار نیز یاد می شود. فایل هایی که در internal storage ذخیره می شوند بطور پیش فرض فقط توسط اپلیکیشنی که آن فایل ها را ذخیره کرده است قابل استفاده هستند. از طرفی external storage می تواند در هر زمانی از دستگاه جدا گردد و فایل هایی که بر روی آن ذخیره شده اند می توانند توسط هر شخصی مورد استفاده قرار بگیرند.

اپلیکیشن هایی که در سیستم عامل اندروید توسعه داده می شوند، میتوانند خود را طوری تنظیم کنند که بر روی external storage نصب گردند. این کار با استفاده از یک attribute با نام android:installLocation انجام می پذیرد. مقدار پیش فرض این attribute همان internal storage می باشد. زمانی که کاربر یک اپلیکیشن را حذف می کند، اگر اپلیکیشن مورد نظر بر روی internal storage نصب شده باشد، تمامی فایل های مربوط به آن نیز حذف می شوند.
تفاوت Internal Storage و External Storage در اندروید
در برنامهنویسی اندروید، انتخاب محل ذخیرهسازی فایلها به نوع داده و نحوه استفاده از آنها بستگی دارد. Internal Storage برای نگهداری فایلهایی مناسب است که به اپلیکیشن تعلق دارند و معمولاً نباید مستقیماً در اختیار سایر برنامهها قرار بگیرند. این فضا در محدوده اختصاصی اپلیکیشن قرار دارد و فایلهای ذخیرهشده در آن معمولاً هنگام حذف اپلیکیشن نیز پاک میشوند. به همین دلیل، برای دادههای خصوصی و فایلهای داخلی برنامه گزینه مهمی به شمار میرود.
External Storage برای سناریوهایی مناسب است که به فضای ذخیرهسازی مشترکتر یا فایلهایی با دسترسی متفاوت نیاز دارند. بااینحال، نحوه دسترسی به این فضا به نسخه اندروید، نوع محل ذخیرهسازی و سیاستهای امنیتی سیستم بستگی دارد. External Storage الزاماً به معنای کارت حافظه جداشدنی نیست و میتواند فضای اشتراکی داخلی دستگاه را نیز شامل شود. درک تفاوت این دو محل به توسعهدهندگان کمک میکند فایلها را متناسب با نیاز امنیتی و کاربردی برنامه ذخیره کنند.
ذخیره و بازیابی فایل در اپلیکیشن اندروید
ذخیرهسازی فایل در اندروید میتواند برای نگهداری تنظیمات، محتوای متنی، تصاویر و سایر دادههایی به کار رود که لازم است میان اجراهای مختلف برنامه باقی بمانند. انتخاب روش مناسب به حجم داده، میزان حساسیت اطلاعات و نیاز به اشتراکگذاری آنها بستگی دارد. برای مثال، فایلهای اختصاصی برنامه را میتوان در فضای داخلی ذخیره کرد، درحالیکه برخی فایلهای قابل دسترسی برای کاربر ممکن است به سازوکارهای ذخیرهسازی دیگری نیاز داشته باشند.
برای بازیابی فایلها نیز برنامه باید مسیر و روش دسترسی مناسب را انتخاب کند و احتمال خطاهایی مانند نبودن فایل یا نداشتن دسترسی را در نظر بگیرد. مدیریت صحیح جریانهای ورودی و خروجی، بستن منابع پس از پایان کار و رسیدگی به خطاها از اصول مهم کار با فایل هستند. همچنین نباید فرض کرد که هر فایل خارجی همیشه در دسترس خواهد بود. طراحی مناسب این بخش باعث میشود عملکرد برنامه در شرایط مختلف قابل اطمینانتر باشد.
مدیریت دسترسی و امنیت فایلها در اندروید
امنیت فایلها در اپلیکیشنهای اندروید به محل ذخیرهسازی، سطح دسترسی و نحوه استفاده از اطلاعات بستگی دارد. دادههایی که فقط برای عملکرد داخلی برنامه لازم هستند، معمولاً بهتر است در فضای اختصاصی اپلیکیشن نگهداری شوند. این کار به محدود کردن دسترسی مستقیم سایر برنامهها کمک میکند. در مقابل، فایلهایی که کاربر باید بتواند از طریق برنامههای دیگر باز کند یا به اشتراک بگذارد، ممکن است به روشهای کنترلشدهتری برای ارائه دسترسی نیاز داشته باشند.
مدیریت مجوزها و رعایت محدودیتهای نسخههای مختلف اندروید نیز در طراحی قابلیتهای فایل اهمیت دارد. برای اشتراکگذاری فایل، استفاده از سازوکارهایی مانند Content Provider و FileProvider میتواند دسترسی کنترلشده به محتوا را فراهم کند، بدون آنکه لازم باشد مسیر داخلی فایل مستقیماً در اختیار برنامه دیگر قرار بگیرد. بررسی ورودیها و جلوگیری از دسترسی غیرمجاز به اطلاعات نیز بخش مهمی از پیادهسازی امن است. توجه به این اصول به محافظت از دادههای کاربر و کاهش مشکلات امنیتی کمک میکند.
سرفصل مطالب آموزش ویدئویی کار با فایل سیستم در اندروید
فصل اول: مقدمه دوره آموزشی- مقدمه دوره آموزشی
- گزینه های مربوط به Persistent Storage و یا ذخیره سازی پایدار
- بررسی SharedPreferences و Internal Storage و External Storage
- بهره وری بیشتر از مطالب این دوره آموزشی
- معرفی کردن پروژه مربوط به این دوره آموزشی
- مقدمه ای بر نوشتن داده ها در Internal Storage
- نوشتن داده ها در Internal Storage
- خواندن داده ها از Internal Storage
- نوشتن و خواندن داده ها در Internal Storage
- کار کردن با Path ها، لیست فایل ها و حذف کردن فایل ها در Internal Storage
- جمع بندی
- بررسی کردن External Storage و Cache و فایل های Private و Public
- کار کردن با External Cache Storage
- کار کردن با External Storage و فایل های Private و Public
- حل و فصل کردن خطا ها و کار کردن با Permission های خطرناک
- تست کردن در دسترس بودن External Storage
- بررسی کد مربوط به نوشتن داده ها در External Storage
- جمع بندی
- بررسی اجمالی اپلیکیشن Camera App
- راه اندازی اولیه پروژه
- کار کردن با ContentProvider و FilePovider و Content URI
- ذخیره کردن عکس گرفته شده در External Storage با استفاده از File Provider
- بارگذاری کردن Bitmap تغییر اندازه شده از درون External Storage
- قدم های بعدی چیست؟







