معرفی حافظه داخلی یا Internal در اندروید با مثال

نویسنده:

Internal در اندروید

اندروید حافظه های متفاوتی برای ذخیره سازی داده های مربوط به اپلیکیشن ها ارائه می دهد.
این حافظه ها عبارتند از:

  • preference های به اشتراک گذاشته شده
  • حافظه ی داخلی (internal)
  • حافظه ی خارجی (external storage)
  • حافظه ی QLite
  •  ذخیره سازی از طریق اتصال به شبکه.

آموزش برنامه نویسی اندروید ( کلیک سایت ) : در این مقاله قرار است حافظه ی داخلی (internal) را مورد بررسی قرار دهیم.
حافظه ی داخلی (internal) محل ذخیره سازی داده های شخصی بر روی حافظه ی دستگاه می باشد.

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

ثبت داده ها بر حافظه:

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

Mode آن می تواند شخصی یا همگانی باشد.

سینتکس  آن در زیر ارائه شده است :

FileOutputStream fOut = openFileOutput(“file name here”,MODE_WORLD_READABLE);

متد ()openFileOutput نمونه ای از FileOutputStream را بر می گرداند . بنابراین شما آن را در آبجکت FileInputStream  دریافت می کنید. پس از آن می توانیم متد نوشتن (write method) را برای نوشتن داده روی فایل، فرا بخوانیم.
سینتکس آن را می توانید ببینید  :

String str = “data”;fOut.write(str.getBytes());fOut.close();

خواندن داده ها از حافظه (Reading file) :

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

FileInputStream fin = openFileInput(file);

پس از آن می توانید متد خواندن (read method) را برای خواندن یک کاراکتر از فایل فرا خوانده و سپس آن را چاپ کنید.

سینتس آن مانند زیر می باشد :

int c;String temp=””;while( (c = fin.read()) != -1){   temp = temp + Character.toString((char)c);} //string temp contains all the data of the file.fin.close();

علاوه بر این متد های نوشتن ، متد های مفیدتر دیگری نیز برای نوشتن وجود دارند که در کلاس FileOutputStream ارائه می شوند ؛
این متد ها در زیر ارائه شده اند :

FileOutputStream:

یک FileOutputStream جدید می سازد که روی فایل می نویسد.

()getChannel  :

این متد یک write-only FileChannel را گزارش می دهد که موقعیت خود را با این جریان به اشتراک می گذارد.

مثال :

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

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

  1. برای ایجاد یک اپلیکیشن اندروید از Android Studio IDE تحت پکیج  com.example.storage.استفاده خواهیم کرد.
  2. فایل src/MainActivity.java را برای افزودن کد لازم تغییر دهید.
  3. res/layout/activity_main را برای افزودن مولفه های XML مربوطه تغییر دهید.
  4. برنامه را اجرا کنید، یک دستگاه اجرایی اندروید انتخاب کنید و برنامه را روی آن نصب کرده و نتایج را بررسی کنید.

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

package com.example.sairamkrishna.myapplication; import android.app.Activity;import android.os.Bundle;import android.view.View;import android.widget.Button;import android.widget.EditText;import android.widget.TextView;import android.widget.Toast;import java.io.FileInputStream;import java.io.FileOutputStream; public class MainActivity extends Activity  {   Button b1,b2;   TextView tv;   EditText ed1;    String data;   private String file = “mydata”;    @Override   protected void onCreate(Bundle savedInstanceState) {      super.onCreate(savedInstanceState);      setContentView(R.layout.activity_main);       b1=(Button)findViewById(R.id.button);      b2=(Button)findViewById(R.id.button2);       ed1=(EditText)findViewById(R.id.editText);      tv=(TextView)findViewById(R.id.textView2);      b1.setOnClickListener(new View.OnClickListener() {                  @Override         public void onClick(View v) {            data=ed1.getText().toString();            try {               FileOutputStream fOut = openFileOutput(file,MODE_WORLD_READABLE);               fOut.write(data.getBytes());               fOut.close();               Toast.makeText(getBaseContext(),”file saved”,Toast.LENGTH_SHORT).show();            }            catch (Exception e) {               // TODO Auto-generated catch block               e.printStackTrace();            }         }      });       b2.setOnClickListener(new View.OnClickListener() {                  @Override         public void onClick(View v) {            try {               FileInputStream fin = openFileInput(file);               int c;               String temp=””;               while( (c = fin.read()) != -1){                  temp = temp + Character.toString((char)c);               }               tv.setText(temp);               Toast.makeText(getBaseContext(),”file read”,Toast.LENGTH_SHORT).show();            }            catch(Exception e){            }         }      });   }}

جهت مشاهده مقاله کامل به همراه کلیه کدها به لینک زیر مراجعه نمایید :

معرفی حافظه داخلی یا Internal در اندروید با مثال

می خواهیم  اپلیکیشن  ذخیره سازی خود را اجرا کنیم. فرض می کنیم که در هنگام انجام تنظیمات محیط، AVD خود را ایجاد کرده اید. برای اجرای برنامه از Android studio ، یکی از فایل های اکتیویتی پروژه را باز کنید و روی آیکون Run از نوار ابزار کلیک کنید. Android studio اپلیکیشن را روی AVD شما نصب و آغاز می کند و اگر همه چیز در مورد برنامه و تنظیمات درست باشد، پنجره ی Emulator زیر نمایش داده خواهد شد.

معرفی حافظه داخلی یا Internal در اندروید با مثال