Bu yazımızda emülatöre dosya aktarmayı ve aktardığımız dosyaları okumayı öğreneceğiz.

Emulatör Nedir ?
– Emulatör , Android tarafından yapılan, geliştiricilerin denemelerini yapabilecekleri, gözlemleyebilecekleri , hatta gerçek ortamı aratmayacak özelliklere sahip bir yazılımdır.
Bilgisayarınızda sanal bir telefon çalıştırır işlemcinizden hız alır , RAM alır sanallaştırma esaslarına birebir sahiptir.

Bunu yapabilmek için bilgisayarımızdaki eclipse ‘yi yükleyip , açıyoruz.

İlk olarak adımları takip ediyoruz.

 

“OK” dedikten sonra devam ediyoruz.

Şimdi öncelikle nedir bu dosya atma okuma ??
– Sonuç olarak sizler verilerinizi sürekli xml dosyalarınızda saklayamayabilirsiniz ve yeterli gelemeyebilir. Bunun için sürekli açtığımız emülatöre bir dosya aktarabilmek yada bir veri tabanı dosyası koyabilmek gayet doğal hakkınızdır. Ancak bunu yapabilmek için bazı koşullarımız olacak. Kendi telefonunuza dosya atabilmek gayet kolaydır ve istediğiniz yerden çekebilmektesinizdir. Android’in yapımcıları mevcut hafızayı tamamen kilitlemiş durumda (okuma) sadece belirli noktalarda sadece okuma ve yazma hakkı vermektedir.

Devam edecek olursak.

DDMS i seçiyoruz.


RUN tuşuna basarak emulatörümüzün çalışmasını bekliyoruz.

Sıralamayı takip ettiğimiz takdirde önümüze emulatörümüzün dosya sistemi gelecektir. Gördüğünüz üzere dosya sistemi bir dosya sistemine sahip Android linux tabanlı bir işletim sistemi olduğundan okuma ve yazma gibi durumlar seçtiğimiz klasörün içeriğinde -rw gibi anlam içerek yazılarla yazmaktadır. -r okuma -w yazma yetkilerinin temsil etmektedir.Dosya ekleyebilmemiz için
Data -> Data -> projeadınız -> Files bu yoldaki son klasöre ( Files ) dosya attığınız taktirde bunu yazılım ile gayet kolay bir şekilde okuyabileceksiniz.

gördüğünüz üzere com.example.asd projemin içinde Files klasörü bulunmamaktadır. Bu durumu çözebilmek için alttaki resmi inceleyelim ;

Siyah kutunun içinde soldan sağa giden butonlarımız bulunmaktadır.
Bunlar soldan sağa 1- telden dosya çek 2- tele dosya at 3- dosya yada klasör sil 4- klasör ekle

Şimdi emulatörümüzde olmayan files klasörünü eklerek işe başlayalım. 4. sekmeye tıklayalım ve dosya adını “files” yazıp onaylayalım.

Şimdi masaüstünde bir metin dosyası oluşturuyoruz ve içine istediğimiz yazıyı yazıyoruz.

Eclipseye geri dönüp , dosyayı ekliyoruz klasörümüze.

Dosyamızı seçip onaylıyoruz.


Gördüğünüz üzere dosyamız artık sanal telefonumuzda files ve denemefile.txt dosyamız artık alt alta dizilmiş bulunmaktadır.

Sıra geldi kod kısmına ;


Java EE kısmına basıp kod yazmaya başlıyoruz.

İlk olarak belirtilen yolu takip ederek bir TextView atalım.

TextView ‘imizi attıktan sonra şimdi attıgımız nesnenin adını öğrenip , kaydedip kapatıyoruz. Mainactivity.java ya gelip yazmaya devam ediyoruz.

package com.example.com;
 
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
 
import org.apache.http.message.BufferedHeader;
 
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.widget.TextView;
 
public class MainActivity extends Activity {
 
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //textview 'i tanıtıyoruz
        TextView yazi = (TextView)findViewById(R.id.textView1);
        //dosya adımızı belirliyoruz
        String FILENAME = "denemefile.txt";
 
        //dosya yazıcımızı tanımlıyoruz.
        InputStream inputstream = null;
 
       try {
    	   inputstream = openFileInput(FILENAME);
       	InputStreamReader isr = new InputStreamReader(inputstream);
       	BufferedReader buf = new BufferedReader(isr);
       	//
 
       	//dosyadan satır satır okuyoruz
       	String yazici = buf.readLine();
       	//textview 'e aktarıyoruz.
       	yazi.setText(yazici);
 
	} catch (FileNotFoundException e) {
		// TODO: handle exception
	}catch (IOException e) {
		// TODO: handle exception
	}
    }
 
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.activity_main, menu);
        return true;
    }
}

 

 

Ve işlemimizin sonunda run ‘lıyoruz. Sonuç :


Bu işlemi telefonda yada beagle gibi platform destekli cihazlardada test edebilmeniz gayet mümkündür. Bir başka makalede görüşmek dileğiyle iyi çalışmalar diliyorum.

______
Gökhan TARIM