تکنولوژی و فناوری‌

معرفی حافظه داخلی یا 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){
}
}
});
}
}


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

آموزش برنامه نویسی اندروید

این مقاله چقدر براتون مفید بود؟

از ۱ تا ۵ به این مقاله امتیاز بدید

میانگین رتبه 5 / 5. تعداد امتیاز ها: 1

تا حالا امتیازی ثبت نشده است! برای این مقاله امتیاز ثبت کنید.

حسین شریفی

راه موفقیت، همیشه در حال ساخت است؛ موفقیت پیش رفتن است، نه به نقطه پایان رسیدن . ما در تحقیقستان تلاش میکنیم تا بهترین ها را برای شما به ارمغان آوریم.

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا