REALM DB HİYERARŞİK VERİ OLUŞTURMA VE CSV DOSYASI OLARAK MAİL GÖNDERME.


Merhaba arkadaşlar. Yaptığım çalışmada realm db kullandım.Kullandığım bu db ‘deki verileri csv dosyası olarak alıp mail göndermem gerekmekteydi.Ancak ing. ve türkçe olarak detaylı bir örnek bulamadım yada gözden kaçırdığım yerler oldu.

Bu konuya giriş yapmadan önce .csv dosyası nedir,çalışma mantığı nedir araştırılması size çok güzel bir bilgi verecektir.Burada güzel bir örnek mevcut.

Kısaca açıklayacak olursak csv dosyasında excel göz önünde bulundurucak olursak virgüller(,) sütünları, satırlar (bir alt satıra geçmek) ‘da satırları oluşturmaktadır.

12 

Şimdi bunu göz önüne bulundurduğumuzda. Android uygulamamıza geri dönecek olursak.Benim oluşturduğum db hiyerarşisi aşağıdaki resimdeki gibi.

 

3

 

 

Yani hiyerarşiyi biraz daha açıklayacak olursam. Önce bir kullanıcı kaydediyorum.Sonra okullanıcıya ait test yapıldığı bir yer vucudunda (vucundunda neresinde ölçüm yapıldı ise)sonra vucudunun ölçüm yapılan yerinin neresi olduğu (örn test yeri kolu olsun side sağ kol yada sol koldur.).Sonrada bunu tarih olarak ayrı bir hiyerarşide tutuyorum. En sonda da bu ölçüme ait bütün kullanıcı verileri kaydediyorum.(Grafik verileri , max kuvvet ,ölçüm süresi vs..).Eyer buradaki anlatım iyi fikir vermediyse videoyu izlemeniz biraz fikir verecektir umuyorum.

 

 

 

Şimdi de RealmDB Kod yapısına geçelim. Buraya kadar anlattığımız hiyerarşi yapısı android realm database ‘de nasıl uygulanır onu görelim.

Hiyerarşi sırasına göre kodlar aşağıdaki gibidir.

 

 

RealmUsers.java

 

 

 

 

Your ads will be inserted here by

Easy Plugin for AdSense.

Please go to the plugin admin page to
Paste your ad code OR
Suppress this ad slot.

 

RealmTest.java

 

 

RealmSide.java

 

 

RealmTarih.java

 

 

Son olarak kullanıcı verilerini ve grafik verilerini tutttuğum class

RealmGrafikData.java

 

gördüğünüz gibi realm database hiyerarşisini ben böyle kurdum.Eksiklerim mutlaka olacak realmdb’yi ilk kullanışım.Mutlaka size bir fikir sunacağına inanıyorum.

Şimdi daha çok detaya girmeden realmdb datalarını .CSV dosyasına dönüştürmeye ve mail olarak göndermeye  bakalım isterseniz.

 

bakınız: video’ada  2:20 sn başlamaktadır.

 

ADIM 1:  Butona basılacak ve verileri gönderilecek kullanıcı seçilecek, mail adresi yazılıp gönder butonuna basılacak.

Şimdi bu adım uygulamada önce butona bastığında verileri telefon hafızasına kaydedelim oradan mail’e ekleyelim ve gönderelim.

Verileri telefon hafızasına kaydedeceğimiz için önce uygulamaya yazma izni vermemiz lazım.Bunu da android 6.0 la gelen runtime permission ile yapalım.Butona bastığımız yerde önce.

 

dedik ve kontrol ettik eyer izin yoksa kullanıcıdan izin isteyeceğiz vermezse sonraki adıma geçiş yok.

sonra bir custom dialog oluşturduk .

Mail gönderme butonuna bastıktan sonra kullanıcı izin vermişse geçekleşecek showCustomDialog kodları aşağıda burada yaptıklarımızı  sırayla anlatacak olursak

dialog başlıklarımızı,layout’umuzu,positive ve negative butonlarını tanımladık daha sonrası ise realm db gerekli verileri çekmeyi gerçekleştirdik. Sonra RealmBackUpReastore adında bir class  oluşturduk ve bu class’ aldığımız verileri gönderdik.Bu veriler  kaydedilecek dosyanın adı , ve kullanıcın RealmDb referanslarını gönderdik.Sonrası RealmBackUpReastore class ında gerçekleşecek. RealmDb deki veriler csv dosyasına dönüştürüldükten sonra cihaz hafızasına kaydedilir.Ve sonra yine bu showCustomDialog ‘ metot’umuzda mail gönderme işlemi yapılır ve işlemler bitirilir.

 

 

Şimdi RealmBackupRestore class’ımızı inceleyelim.Burada yapılan işlem for ile realm db ‘ki verileri alma ve her verinin arasına virgül(,) yada bir alt satıra geç (\n) komutu koymak.Daha sonrada veriyi telefonda istenilen bir yere kaydetmek.

KAYNAKLAR:

 

https://realm.io/

https://github.com/PhilJay/MPAndroidChart

https://stackoverflow.com/

Bir yorum ekleyin

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

nineteen + nine =

This site uses Akismet to reduce spam. Learn how your comment data is processed.