MOB İ L UYGULAMA GEL İ ŞT İ RME Hafta 11. VER İ LER İ SAKLAMA Android sistemlerinde hazırlanacak projelerde verileri saklamak için android sisteminin.

Slides:



Advertisements
Benzer bir sunumlar
Java Programlama Giriş/Çıkış
Advertisements

Saatte V km hız ile giden bir aracın t zamanda aldığı yolu bulan metodu yazınız. Metodu kullanacak bir program yazınız. ( yol=hız*zaman, x=V*t) — Metot.
C# - Metotlar.
Activity Ekleme İşlemi
SCANNER SINIFI ve KLAVYEDEN VERİ OKUNMASI
VERİ TABANI TEMEL KAVRAMLAR.
Tuğba DEMİREL
Yığın ve Kuyruk.
Programlama-II (Java ile Bilgisayar Programlama)
dataReader- DataAdapter
Miras Alma EM-406 Java.
CHAIN OF RESPONSIBILITY
OOP UYGULAMA 5.
MATLAB’ de Programlama
P AKET E RIŞIMLERI SıNıFLARıN YENIDEN KULLANıMı. P AKET ( P ACKAGE ) Paketler kütüphaneleri oluşturan elemanlardır. import java.io.BufferedReader; BufferedReader.
Nesneye Yönelik Programlama Dr. Pelin GÖRGEL
Veritabanı Kopyalama/Taşıma
BPR152 ALGORİTMA VE PROGRAMLAMA - II
Erişim Denetimi, Fonksiyon
NESNE TABANLI PROGRAMLAMA -METOTLAR-
METODLAR.
C# Metot Overloading (Aşırı yükleme)
İndex Yapıları.
JAVADA PROGRAM DENET İ M İ VE OPERATÖRLER. int a ; a=4 ; // do ğ ru bir atama 4=a ; // yanlış bir atama!
METODLAR Canan Işıl. 1 İçindekiler Açıklamalar, Örnekler, Sorularınız? Kaynakça, Teşekkürler..
İSİM UZAYLARI (NAMESPACE)
C#.NET 5.0 C# .NET 5.0 Eğitimleri Volkan KANAT.
İş Parçacıkları Thread(s)
Metotlar.
METOTLAR.
ÇOK BİÇİMLİLİK POLYMORPHISM
Önceki Dersi Hatırlama !!
JAVA’DA DÖNGÜLER.
EDUTIME Java Day 8 Serdar TÜRKEL.
Kalıtım , Sınıf Asli Ergün.
Demet AYDIN METODLAR Demet AYDIN
Oluşturulan layout dosyasında 2 tane Editview ve 2 tane buton bulunmaktadır. Editviewlardan alınan değerler ilk butona tıklandığında veritabanına yazılır.
Sınıflar ve Nesneler Sınıf: bir nesnenin şablonunu, kalıbını, şeklini, davranışını, kalıtımını değişkenleri, metodları ve ebeveynleri vasıtasıyla tanımlar.
Bölüm 5 Nesneler ve Metotlar
Bil 102 Bölüm 6 Diziler.
Bil 102 Bölüm 3 Java’da Program Akış Denetimi Bil 1021.
Bilgisayar programlarının en büyük avantajı, kullanıcının işini kolaylaştırmalarıdır. Her bilgisayar programı bunu değişik metotlar kullanarak sağlar.
JAVA PROGRAMLAMA ORNEKLER
Excel’de VBA programlama (Visual Basic Application) Ders 5
Görsel C# ile Windows Programlama
Modül 1: Giriş. Genel Bakış Temel.NET kavramları Geliştirme ortamında gezinti Bir C# projesi oluştur Use Visual Studio.NET Veriye eriş Hata ayıkla ve.
BSM447 – MOBİL UYGULAMA GELİŞTİRME
MOB İ L UYGULAMA GEL İ ŞT İ RME Hafta 12. VER İ TABANI Di ğ er sistemlerde oldu ğ u Android projelerinde de verileri saklamak, hızlı bir biçimde erişmek,
BSM447 – MOBİL UYGULAMA GELİŞTİRME Öğr. Gör. Nevzat TAŞBAŞI 7. Hafta.
BSM447 – MOBİL UYGULAMA GELİŞTİRME
Kompozisyon Bir Sınıf diğer sınıf nesne referanslarını içinde barındırabilir. Bu referanslar sınıfın üyeleridir.
BSM447 – MOBİL UYGULAMA GELİŞTİRME Öğr. Gör. Nevzat TAŞBAŞI 6. Hafta.
Sayfa Ayarlari Projelerimizde uzerinde yogunlasacagimiz dosyalar Java ve XML dosylari olacaktir.
İbrahim Olgaç PROGRAMLAMA DİLLERİ SUNUMU C#
STRING FONKSİYONLARI Dim ders As String
BİLGİSAYAR PROGRAMLAMA Ders 10: Dosyalama İşlemleri
METOTLAR.
ACTIVE DIRECTORY.
Nesneye Dayalı Programlama Temel Kavramlar Hüseyin ESKİ.
ANDROID STUDIO İLE UYGULAMA GELİŞTİRME ÖRNEKLERİ SAVAŞ TUNÇER.
ANDROID STUDIO İLE UYGULAMA GELİŞTİRME ÖRNEKLERİ 2 SAVAŞ TUNÇER.
ANDROİD STUDİO SAYFA NESNELERİ SAVAŞ TUNÇER
Nesneye Dayalı Programlama 1
Kurucular(Yapıcılar), Yıkıcılar
Nesneye Dayalı Programlama 1
MTM216 GÖRSEL PROGRAMLAMA
BLP 4210 PLATFORM BAĞIMSIZ PROGRAMLAMA
Nesneye Dayalı Programlama 1
NİŞANTAŞI ÜNİVERSİTESİ
BLP 4210 PLATFORM BAĞIMSIZ PROGRAMLAMA
Sunum transkripti:

MOB İ L UYGULAMA GEL İ ŞT İ RME Hafta 11

VER İ LER İ SAKLAMA Android sistemlerinde hazırlanacak projelerde verileri saklamak için android sisteminin sa ğ ladı ğ ı imkânlar kullanılabilir. Örnek olarak e ğ er birden fazla dil desteklenecekse dil dosyaları kullanılabilir. Uygulamada yapılacak verilerin uygulama her çalıştı ğ ında daha önceki yapılan de ğ işikliklerden etkilenecek şekilde saklanması için farklı yapılar kullanılabilir.

VER İ LER İ SAKLAMA Uygulamada yapılacak verilerin uygulama her çalıştı ğ ında daha önceki yapılan de ğ işikliklerden etkilenecek şekilde saklanması için farklı yapılar kullanılabilir. Uygulamada kullanıcının belirledi ğ i de ğ işiklere göre çalışması istendi ğ inde, kullanıcının belirledi ğ i parametrelere göre işlemlerine devam etmesi için veya oyun, test, e ğ itim gibi uygulamalarda kullanıcının puanlarını saklama gibi durumlarda bu tür verileri kullanıcının cihazında saklayabiliriz.

VER İ LER İ SAKLAMA Bu yöntemler; SQL Lite veritabanı, disk dosyaları ve Shared Preferences dir. Cihaz içerisinde saklanmak istemeyen veya faklı cihazlardan da ulaşılmak istenen veriler için a ğ ba ğ lantısı bulunan sistemlerde uzaktaki sistemlerde de saklanabilir.

SHARED PREFERENCES Android projelerinde android ile birlikte gelen preferences yapısı kullanılır. Bu yapıda veriler anahtar de ğ erlerle birlikte bir XML dosyası içerisinde kullanılır. Kullanıcının verilerini anahtar-de ğ er ikilisi olacak şekilde saklanacak yapılarda rahatlıkla kullanılabilir. Bu yapılar android projesinde belirli bir konumda saklanır. Büyük miktarda olmayan çeşitli ayar verilerini saklamak amacıyla rahatlıkla kullanılabilecek bir yapıdır.

SHARED PREFERENCES De ğ erleri aktarmak için SharedPreferences türünden bir de ğ işken oluşturmak gerekmektedir. Oluşturulan bu de ğ işkene getSharedPreferences(, ) metodu ile oluşturaca ğ ımız yapının içine ulaşıyoruz. SharedPreferences sakdos = getSharedPreferences("Sayilar", MODE_PRIVATE);

SHARED PREFERENCES Bu metoda gönderilen birinci parametre verilerin kaydedilece ğ i dosyanın adını, ikinci parametre ulaşım metodunu belirleyecektir. Bu ulaşım metodu dört şekilde belirlenebilir. Bu metodlar şu şekilde belirlenebilir: MODE_PRIVATE: Varsayılan metottur. Bu metotta oluşturulacak dosyaya sadece bu proje tarafından ulaşım izni verilecektir. MODE_WORLD_READABLE: Bu metot ile varolan projenin dışında di ğ er yazılımlarında bu dosyaya yazma amacıyla ulaşabilmesine izin verecektir.

SHARED PREFERENCES Bu metoda gönderilen birinci parametre verilerin kaydedilece ğ i dosyanın adını, ikinci parametre ulaşım metodunu belirleyecektir. Bu ulaşım metodu dört şekilde belirlenebilir. Bu metodlar şu şekilde belirlenebilir: MODE_WORLD_WRITEABLE: Bu metot ile varolan projenin dışında di ğ er yazılımlarında bu dosyaya okuma amacıyla ulaşabilmesine izin verecektir. MODE_MULTI_PROCESS: Farklı process türünde dosyaya yazma ve okuma amaçlı ulaşmak amacıyla kullanılan ulaşım metodur.

SHARED PREFERENCES Dosyaya erişim metodu belirlenerek dosyaya erişildikten sonra dosyaya yazma işlemini gerçekleştirmek için SharedPreferences’in Editor yapısı kullanırak yazma işlemini gerçekleştirecek bir de ğ işken oluşturulur. SharedPreferences.Editor yazici = sakdos.edit();

SHARED PREFERENCES Oluşturulan de ğ işkenin putString metodu ile anahtar-de ğ er atamaları gerçekleştirilir. String veri türünün dışında putBoolean, putFloat, putInt, PutLong veri türlerinde de ğ er atamaları yapılabilir. yazici.putString("SonDeger", sonDeger);

SHARED PREFERENCES Atamaların geçerli olması için SharedPreferences de ğ işkeninin commit metodu verilir ve de ğ işkenler dosyaya yazılır. yazici.commit();

SHARED PREFERENCES Yazılan de ğ erleri okumak amacıyla SharedPreferences de ğ işkeninin uygun veri türüne göre get metodu getString, getBoolean, getFloat, getInt, getLong metotlarına anahtar girilerek de ğ er elde edilir. sakdos.getString("SonDeger",null);

HESAPLAMA UYGULAMASı

import android.app.Activity; import android.content.SharedPreferences; import android.os.Bundle; import android.view.View; import android.widget.EditText; import android.widget.RadioButton;

HESAPLAMA UYGULAMASı public class MainActivity extends Activity { private void SonDegeriKaydet(String sonDeger){ SharedPreferences sakdos = getSharedPreferences("Sayilar", MODE_PRIVATE); SharedPreferences.Editor yazici = sakdos.edit(); yazici.putString("SonDeger", sonDeger); yazici.commit(); }

HESAPLAMA UYGULAMASı private String SonDegeriAl(){ SharedPreferences sakdos = getSharedPreferences("Sayilar", MODE_PRIVATE); return sakdos.getString("SonDeger",null); }

HESAPLAMA UYGULAMASı EditText sayi1;EditText protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); String deger=SonDegeriAl(); sayi1=(EditText) findViewById(R.id.editText1); sayi1.setText(deger); sayi2=(EditText) findViewById(R.id.editText2); }

HESAPLAMA UYGULAMASı public void hesapla(View v) { double s1=Double.parseDouble(sayi1.getText().toString()); double s2=Double.parseDouble(sayi2.getText().toString()); double sonuc; RadioButton carp=(RadioButton) findViewById(R.id.carp); RadioButton bol=(RadioButton) findViewById(R.id.bol); RadioButton topla=(RadioButton) findViewById(R.id.topla); RadioButton cikar=(RadioButton) findViewById(R.id.cikar);

HESAPLAMA UYGULAMASı if(carp.isChecked()) sonuc=s1*s2; else if(bol.isChecked()) sonuc=s1/s2; else if(topla.isChecked()) sonuc=s1+s2; else if(cikar.isChecked()) sonuc=s1-s2; else sonuc=0; sayi1.setText(String.valueOf(sonuc)); sayi2.setText(""); SonDegeriKaydet(String.valueOf(sonuc)); }

DOSYADAN OKUMA YAZMA Verileri kalıcı olarak saklamak amacıyla kullanılacak yöntemlerden biride verileri dosyalara kaydederek daha sonra dosyadan okuma işlemini gerçekleştirmektir. Cihazda bulunan dosya ile iletişime geçmek için OpenFileOutput metodundan yararlanılır.

DOSYADAN OKUMA YAZMA Bu metot iki parametre alacaktır. Bu parametrelerden birincisi verilerin kaydedilece ğ i dosyanın adıdır. Di ğ eri ise dosyaya erişim türüdür. FileOutputStream dosya=openFileOutput("deneme", Context.MODE_PRIVATE))

DOSYADAN OKUMA YAZMA Dosyaya erişme türleri şu şekilde belirlenebilir: MODE_PRIVATE: Varsayılan metottur. Bu metotta oluşturulacak dosyaya sadece bu proje tarafından ulaşım izni verilecektir. MODE_WORLD_READABLE: Bu metot ile varolan projenin dışında di ğ er yazılımlarında bu dosyaya yazma amacıyla ulaşabilmesine izin verecektir.

DOSYADAN OKUMA YAZMA Dosyaya erişme türleri şu şekilde belirlenebilir: MODE_WORLD_WRITEABLE: Bu metot ile varolan projenin dışında di ğ er yazılımlarında bu dosyaya okuma amacıyla ulaşabilmesine izin verecektir. MODE_MULTI_PROCESS: Farklı process türünde dosyaya yazma ve okuma amaçlı ulaşmak amacıyla kullanılan ulaşım metodur. MODE_ENABLE_WRITE_AHEAD_LOGGING: Dosyaya yazma işleminden önce dosyanın işaretlenerek açık bırakılması sa ğ lanır.

DOSYAYA YAZMA Dosyaya yazma işlemini gerçekleştirmek için OutputStreamWriter sınıfından bir de ğ işken oluşturulmalıdır. OutputStreamWriter yazmaislemi = new OutputStreamWriter(dosya));

DOSYAYA YAZMA Yazılacak de ğ erleri dosyaya oluşturulan de ğ işkenin write metodu ile gerçekleştirilir. yazmaislemi.write(deger);

DOSYAYA YAZMA Yazılacak de ğ erleri dosyaya oluşturulan de ğ işkenin write metodu ile gerçekleştirilir. yazmaislemi.write(deger);

DOSYAYA YAZMA try { FileOutputStream dosya=openFileOutput("deneme", Context.MODE_PRIVATE); OutputStreamWriter okumaislemi = new OutputStreamWriter(dosya); okumaislemi.write(data); okumaislemi.close(); } catch (IOException e) { }

DOSYADAN OKUMA Dosyadan okuma yapabilmek için dosyaya InputStream yapısı ile ulaşılmalıdır. InputStream okunacakdosya = openFileInput(dosya);

DOSYADAN OKUMA dosyadaki de ğ erleri okumak için InputStreamReader sınıfından birde ğ işken tanımlanır. InputStreamReader okunacak = new InputStreamReader(okunacakdosya);

DOSYADAN OKUMA Okunacak de ğ eri bufferlamak için BufferedReader yapısı kullanılır. BufferedReader okunacaklar = new BufferedReader(okunacak);

DOSYADAN OKUMA De ğ eri okumak için BufferedReader de ğ işkeninin readLine metodu kullanılır. Okunacaklar.readLine()

DOSYADAN OKUMA String ret = ""; try { InputStream inputStream = openFileInput("deneme"); if ( inputStream != null ) { InputStreamReader inputStreamReader = new InputStreamReader(inputStream); BufferedReader bufferedReader = new BufferedReader(inputStreamReader); String receiveString = ""; StringBuilder stringBuilder = new StringBuilder();

DOSYADAN OKUMA while ( (receiveString = bufferedReader.readLine()) != null ) { stringBuilder.append(receiveString); } inputStream.close(); ret = stringBuilder.toString(); }} catch (FileNotFoundException e) } catch (IOException e) { }

KAYNAKLAR