دوره های آموزشی آکادمی پی وی لرن (پروژه محور و ویژه بازار کار)



  • ۱۹
  • آبان

جلسه ۴۲ : حافظه داخلی در اندروید

  • دسته‌بندی‌ها :
جلسه ۴۲ : حافظه داخلی در اندروید
    • جزئیات
    • نوع محتواآموزش تصویری

      مقدمه

      با عرض سلام و وقت بخیر خدمت کاربران سایت پی وی لرن . و کاربرانی که دوره کامل آموزش برنامه نویسی اندروید را دنبال می کنند. آندروید انواع مختلف ذخیره سازی را برای برنامه های کاربردی فراهم می کند تا قابلیت ذخیره سازی داده ها فراهم شود. این مکان های ذخیره سازی، shared preferences، ذخیره سازی داخلی و خارجی، ذخیره سازی در SQLite و ذخیره سازی از طریق اتصال به شبکه هستند. در این بخش ما به ذخیره سازی داخلی (Internal storage) نگاهی خواهیم داشت. ذخیره سازی داخلی ذخیره کردن داده های دریافتی در اپلیکیشن در حافظه دستگاه است. درحالت پیش فرض فایل هایی که با این روش ذخیره می شوند خصوصی بوده و فقط از طریق اپلیکیشن مربوطه قابل دسترسی هستند. در ادامه به آشنایی با حافظه داخلی در اندروید می پردازیم.

      کار با حافظه داخلی در برنامه نویسی اندروید

      در این مبحث به چگونگی کار با حافظه داخلی در برنامه نویسی اندروید جهت ذخیره سازی فایل می پردازیم.

      Writing file (نوشتن فایل)

      برای استفاده از حافظه داخلی برای نوشتن برخی داده ها در فایل، باید متد () openFileOutput استفاده کنید.

      برای استفاده از متد () openFileOutput باید نام و نوع فایل نیز ذکر شود.

      ساختار استفاده از متد فوق به صورت زیر است:

      مثال : 

      متد () openFileOutput نمونه ای از FileOutputStream را باز می گرداند. بنابراین شما آن را در شی FileInputStream دریافت می کنید.

      سپس می توانید داده ها را در فایل مورد نظر با ساختار زیر بنویسید:

      مثال : 

      Reading file (خواندن فایل)

      استفاده از متد () openFileInput با نام فایل. یک instance از FileInputStream را برای خواندن فایل، باز می گرداند.

      ساختار آن به صورت زیر است:

      مثال : 

      سپس می توانید از متد read برای خواندن تک تک کاراکترهای ذخیره شده در فایل استفاده کنید:

      مثال : 

      علاوه بر متدهای write و close متدهای دیگری نیز برای نوشتن در فایل توسط کلاس FileOutputStream ارائه شده که به شرح زیر است:

      ردیفمتد و توضیحات مربوطه
      ۱

      FileOutputStream(File file, boolean append)

      یک FileOutputStream جدید را برای نوشتن فایل ایجاد می کند.

      ۲

      getChannel()

      این متد یک FileChannel فقط قابل خواندن از فایل برمی گرداند.

      ۳

      getFD()

      این متد توصیف زمینه ی فایل را باز می کند.

      ۴

      write(byte[] buffer, int byteOffset, int byteCount)

      این متد تعداد بایت ها را از آرایه ی بافر بایت می نویسد.

      علاوه بر متدهای read و close متدهای دیگری نیز برای نوشتن در فایل توسط کلاس FileInputStream ارائه شده که به شرح زیر است:

      ردیفمتد و توضیحات مربوطه
      ۱

      available()

      این متد یک مقدار تخمینی از بایت های ذخیره شد را برای جلوگیری از ورود داده های اضافی برمی گرداند.

      ۲

      getChannel()

      این متد یک FileChannel فقط قابل خواندن از فایل برمی گرداند.

      ۳

      getFD()

      این متد توصیف زمینه ی فایل را باز می کند.

      ۴

      read(byte[] buffer, int byteOffset, int byteCount)

      این متد بایت های طول این stream را می خواند و آنها را در آرایه b شروع می کند که از صفر شروع می شود.

      مثال

      در ادامه به یک مثال ساده از ایجاد یک برنامه برای ذخیره سازی و خواندن داده ها در حافظه ی داخلی دستگاه می پردازیم.

      این برنامه داده ها را در قالب فایل در حافظه ی دستگاه بصورت خصوصی ذخیره می کند.

      شما می توانید این برنامه را در یک دستگاه اندروید واقعی یا شبیه ساز اندروید اجرا کنید.

      مراحل انجام کار:

      مراحلتوضیحات
      ۱مراحل ایجاد برنامه در اندروید استدیو را طبق بخش های قبلی دنبال کرده و نام پکیج را com.pvlearn.myapplication قرار بدهید.
      ۲به محتوای فایل src/MainActivity.java کدهای مورد نیاز را اضافه کنید.
      ۳طراحی مناسب این برنامه را در فایل res/layout/activity_main ایجاد کنید.
      ۴برنامه را اجرا کنید تا شبیه ساز اندروید نتیجه را نمایش دهد.

      محتوای فایل src/MainActivity.java:

      مثال : 

      محتوای فایل res/layout/activity_main.xml:

      مثال : 

      محتوای فایل res/values/string.xml:

      مثال : 

      محتوای فایل AndroidManifest.xml:

      مثال : 

      اجرای برنامه

      برای اجرای برنامه ی اندرویدی خود یکی از فایل های activity در برنامه ی خود کلیک کنید.

      سپس روی نماد  (Run) از نوار ابزار برای شروع اجرای برنامه کلیک کنید.

      سپس نتیجه اجرای برنامه را در دستگاه اندروید خود مشابه زیر مشاهده خواهید کرد:

      حافظه داخلی در برنامه نویسی اندروید

      حافظه داخلی در برنامه نویسی اندروید

      حالا باید متن مورد نظر را در کادر text مربوطه وارد کنید.

      سپس روی دکمه ی save کلیک کرده تا نتیجه را همانند تصویر زیر مشاهده کنید:

      حافظه داخلی در برنامه نویسی اندروید -تست ذخیره سازی

      حافظه داخلی در برنامه نویسی اندروید -تست ذخیره سازی

      سپس روی load کلیک کنید تا اپلیکیشن داده ها را از فایل بخواند.

      سپس داده ها را در صفحه برنامه به صورت زیر نمایش می دهد:

      حافظه داخلی در برنامه نویسی اندروید -خواندن داده ها

      حافظه داخلی در برنامه نویسی اندروید -خواندن داده ها

      همچنین می تواند با مراجعه به زبانه ی DDMS فایل ذخیره شده در دستگاه را مشاهده کنید.

      پس از مراجعه به زبانه ی DDMS ابزار file explorer را انتخاب کرده و به مسیر زیر مراجعه کنید:

      مثال : 

      اقدام فوق پنجره ای مشابه پنجره ی زیر را نمایش خواهد داد:

      حافظه داخلی در برنامه نویسی اندروید -مشاهده فایل ذخیره شده

      حافظه داخلی در برنامه نویسی اندروید -مشاهده فایل ذخیره شده

      کلام آخر

      اندروید به شما اجازه می دهد تا داده های متنی خود را در قالب فایل در حافظه ی داخلی خود به صورت خصوصی ذخیره کرده و در صورت لزوم داده های آن را خوانده و نمایش دهید، از این رو مباحث حافظه داخلی در برنامه نویسی اندروید برای آشنایی شما با این تکنیک ارائه شد.

      در بخش بعدی نیز به مباخث کار با JetPlayer در برنامه نویسی اندروید می پردازیم.

      QR:  جلسه ۴۲ : حافظه داخلی در اندروید
      به اشتراک بگذارید