Merhaba. Yine uzunca bir aradan sonra yazmaya devam ediyorum. Bu yazımda, veritabanında değinmediğim Where ifadesine yer vereceğim. Bunun için telefon rehberi tarzında basit arayüzü olan bir uygulama hazırladım. Bunu where nasıl kullanılır onu göstermek için yaptım. Uygulama aslında pek de telefon rehberine benzemiyor.
İlk olarak projeyi oluşturdum. Bunun için size sadece ilk adım olan proje bilgilerinin girildiği ekranı paylaşıyorum. Bundan sonraki tüm adımları Next Next diyerek tamamlayın. Project Name kısmında türkçe karakter ve boşluk kullanmayın. Uygulamanız çalışmaz ya da apk’sını telefona kuramazsınız.
Şimdi uygulamanın arayüzünü tasarladım ve bunu Relative Layout kullanarak yaptım. Arayüzüm ise şu şekilde :
Arayüzde kullandığım item’lerin isimlendirmesini, önceki derslerden birinde anlattığım gibi strings.xml‘e yazarak yapıyorum. Bunun için values altındaki strings.xml dosyasına, sayfama eklediğim her item için bir satır ekliyorum. Görüntüsü aşağıdaki gibidir.
Buradaki name etiketleri benim id‘m olacak. Karşısındaki ise onun değeri. Şimdi layout’umda bunu nasıl kullandım onu göstereyim.
İşaretli alanda, butonumun ismini doğrudan vermedim (hardcore), strings.xml‘deki id değerinden çektim. Her zaman bu şekilde yapın. Yapmazsanız sarı ünlem çıkacaktır layout’daki item üzerinde.
AndroidManifest dosyasının içeriği ise şu şekilde olacak :
Şimdi Veritabanı sınıfımı oluşturdum. Burada veritabanımla ilgili tanımlamaları yaptım. Veritabani sınıfı ise şu şekilde olacak :
Burada ad,soyad ve tel alanlarım var. Veritabanı adım telefonrehberi, tablomun adı ise kisiler. Bunu ben MainActivity sınıfımda kullanacağım. Şimdi de hemen MainActivity sınıfıma geçiyorum. Asıl işler burada dönecek tabiki.
Burada açıklama satırları ile durumu anlatmaya çalıştım. Bu resimdeki en önemli olay, kaydet butonuna basınca değerlerimizi kaydet metoduna göndermesidir. Şimdi kaydet metodunun içeriğine bakalım.
Burada SQLiteDatabase sınıfından bir nesne ürettik ve bu nesnenin Writable olduğunu yani bir yazma işlemi yapacağımızı belirttik. Sonra content nesnesine, tablomuzdaki hangi alanlara ekleme yapacaksak onları yazdık. Sütun adı ve değeri şeklinde. Sonra bağlantımızı kapattık ve ilgili mesajları verdik.
Bu aşamaya kadar yapılanları test ettim ve ekran görüntülerini aldım.
Kaydet butonuna basınca kişimiz veritabanına eklenmiş oldu. Şimdi kontrol edelim. Bunun için File Explorer‘dan bakıyorum. Bunun nasıl yapıldığını önceki derslerde göstermiştim.
Burada veritabanımı görüyorum. Bunu masaüstüne çıkarıyorum ve SQLite Expert ile açıyorum. Açtığım zaman aşağıdaki gibi kaydın eklenmiş olduğunu görüyorum.
Şimdi isim girip bu isme ait olan bilgileri getireceğim. Bunun için MainActivity sınıfındaki ilgili butonumun click eventini oluşturuyorum.
Bu bilgileriCek() metodumun içinde de veritabanımda bu isme ait olan satırı getiriyorum ve alert içinde gösteriyorum. Bunun için ilk olarak bilgileriCek() metodumun içini yazacağım.
Gerekli yerlerde açıklama satırları koydum. Şimdi ise çekilen verileri ekranda Alert ile göstereceğim. Kodlarım ise şu şekilde :
Alert için verdiğimiz adapter nesnesi, içerisinde veritabanından gelen değerleri tutuyor. Burada veritabanında bir tane değerimiz olduğu için 1 kayıt geldi. Daha fazla ekleseydim alt alta yazacaktı. Tabi bunun için bir önceki resimdeki arrapadater2.add() metodunun içini düzenlemeniz gerekir.
Son Ekran Görüntüleri :
Burada Getirilen Kayıtlar sayfasında, kayda tıklanınca o kayıtla ilgili düzenleme ya da silme işlemi yapabilirsiniz. Bunu size bırakıyorum. Bir önceki resimde silme ve değiştirme için gerekli metodlar var ve içerisi boş. Bunu siz doldurmaya çalışın.
teşekkürler.gerçekten bu blogdan çok faydalanıyorum… ve devamını bekliyorum 🙂
Merhaba, ilk veri tabanı örneğini inceledim ve yaptım(bunu da inceleyip yapacağım) fakat bir sorum var.Oluşturulan kayitlar isimli veri tabanı dosyası nereye oluşturuluyor.Ben bu dosyaya nasıl ulaşabilirim.(elle birden fazla kayıt girip on kullanmak istiyorum)… Sizin anlattığınız yöntemden farklı bir yapılışı mı var…. Anlatımlar ve cevap için teşekkür ederim…
https://www.mehmetkirazli.com/android-dersleri-26-veritabani-islemleri-3-ve-sqlite-arayuzu-kullanimi/ anlatımında varmış.Ben direk fileexplorer’dan bakmıştım.Eksik yapmışım…Tekrar teşekkürler…
bu uygulamanın aynısını yaptım. fakat eclipste data klasörüm boş gözüküyor neden acaba. uygulamayı çalıştırınca kayıt ekleme felan yapabiliyorum.
hangi projenin data klasörüne bakıyorsunuz yanlış bakmış olmayasınız ? Doğru baktığınız halde gelmiyorsa emülatör açıkken ddms tab’ından baktığınıza emin misiniz ?
acil bi sorum olacak bu uygulamayı nereden bulup açacagız ? indirdim dediginizi
En altta var link
projeyi bende indirdimde yeni olduğum için indirdiğim projeyi android studioda açamıyorum.
Google dan android studio ya eclipse projesi nasıl import edilir onu araştırın.
Çoook teşekkürler çok işime yaradı. Allah razı olsun emek harcayandan..
Merhaba. Çok güzel bir anlatım olmuş. Bunun üzerinden yapmaya çalıştığım projede telefon rehberinde eklenen kişilere id veriyorum.
Bundan sonra rehberden kayıt getiriken isim yazarak aratmak yerine listeden “isimleri” (numara olmadan) getirip, sonra listeden seçilen kişnin idsini kullanarak veritabanından istediğim bilgilerini getirmek istiyorum.
Listemi oluturup getirebiliyorum. Fakat bir türlü seçilenin id sini alamıyorum.
Bunu muhtemelen (yani anlayabildiğim kadarıyla)
String strName = (String) arrayAdapter2.getItem(which);
Bu satırda bir yerlerde yapmalıyım. Yani bir türlü seçilenin id sini alamadım.
internetten 1 haftadır araştırıyorum bir sonuç bulamadım. Bunu nasıl yapabileceğim konusunda yardımcı olmanız mümkün mü? Yada benzer bir uygulama yaptıysanız paylaşabilir misiniz? Yoksa ben bu projeden vaz mı geçeyim :).
Dersler tek kelimeyle harika. Çok şey öğrendim buradan. Teşekkürler.
Merhaba,
Veritabanındaki id’lerin sıralamasıyla listview’deki id’lerin sıralaması aynı olmalı. Veritabanındaki id 0’dan başlamalı (listview’da ilk kaydın id si 0 dır çünkü) Buna göre düzenleme yapıp tekrar deneyin.
merhaba. uygulamanın aynısını yaptım, kayıt yaparken sorun yok ama kisiara kısmında ara yaptıgımda uygulama hata verip kapanıyor. nerde hata apmış olabilirim
Sebepleri çok olabilir. Kodları detaylı gözden geçirin
güncelleme işlemini yapabilmek için alertdialog içinde kullancagımız metotu göstermeniz mümkün mü? o kadar ugraşmama ragmen yapamadım
merhaba hocam kaynok kodu çalıştıramadım hata alıyorum.Yardımcı olursanız sevinirim.
Merhaba,
Nasıl bir hata alıyorsunuz. Çalıştırırken hangi adımları izliyorsunuz
Sorunu hallettim hocam çok teşekkür ederim.Emeğinize sağlık.
böyle bir site hazırladığınız için çok teşekkür ederim. Gerçekten çok faydası oldu.
Merhaba hocam bu arama kısmında yalnızca adına göre değil de soyadına ve e-posta adresine göre de arattırma yapacam tek butonda acaba bunu nasıl yapabilirim yardımcı olur musunuz?
Selam. Sqle or ile epostayı da ekleyin.
merhaba mehmet hocam;
hocam kayitlar kısmında sil ,değiştir butonların yanında aramayı nasıl ekleyebiliriz yardımcı olursanız sevinirim .
şimdiden teşeekürler
Merhaba. Aşağıdaki linkten faydalanabilirsiniz.
http://www.mkyong.com/android/how-to-make-a-phone-call-in-android/
Merhaba hocam
linki inceledim örnekte telefon numarası hazır girmiş. bunun gibi çok örnek araştırdım.
benim istediğim
Intent callIntent = new Intent(Intent.ACTION_CALL);
callIntent.setData(Uri.parse(“tel:0377778888”));
startActivity(callIntent);
telefon numarası hazır girilen yere sizin örnekte bir kişinin üzerine tıkladığında çekilen bigilerdeki numaranın aramasını istiyorum
İşte bilgiyi çekeceksiniz. Çektiğiniz bilgiyi Uri.parse metodunun içine parametre olarak verin.
Hocam hatalarla karşılaşıyorum . Yardımcı olursanız sevinirim…
Vaktim o kadar yok maalesef. Biraz araştırın bence. Zor bir örnek değil. Vt den veriyi okuyup bir değişkene atın. Parametre olarak da o değişkeni verin. Değişkenin içinde telefon numarası olacak zaten
Merhaba, güzel olmuş elinize sağlık. Emulator’de hata alıyorum, projeyi nasıl çalıştıracağımızı anlatır mısınız?
Merhaba,
Genymotion emülatöründe ya da telefonunuzda çalıştırmayı deneyin
Şu decode byte array şeklinde resimleri sunucuya ekleyıp cekme hakkında bır ders anlatsanız? ya da kıtabınızda bu konu varsa kıtabı alıcaktım onda da yok. Şu konu hakkında yardımcı olsanız super olurdu yahu.
Uzun zamandır planlıyorum ancak vaktim olmadı. Hatırlattığınız için teşekkürler. Tekrar düşüneceğim yetiştirmeye çalışacağım
hocam bu sil on click kısmında silme diye bir method yapıp çalıştırıyorum ama silmiyor
builderInner.setNegativeButton(“Sil”,new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog,int which){
silme(kod);
v1.close();
Toast.makeText(getApplicationContext(), “Veriler Silindi…”, Toast.LENGTH_LONG).show();
}
private void silme (String kod){
SQLiteDatabase db = v1.getReadableDatabase();
db.delete(“veriler”,”kod”+”=?”, new String[]{kod});
}
});
builderInner.show();
}
});
builderSingle.show();
}
}
kodlar bu şekilde
merhaba sil ve değiştir methotlarıını verebilirmisiniz lütfen 2 saat sonra proje sunacağım sizin projenizi sunmak istiyorum
Alert ile bilgileri ekrana görüntüleme işleminde ufak bir yuvarlak var pencere üzerinde. O yuvarlağın yanına yazı yazamaz mıyım yada o yuvarlak şey nasık oluştu. Ona tıklayınca “değiştir” ve “sil” seçenekleri geliyor biliyorum ama görsel olarak düşününce daha başka ne yapılabilirdi o kısma? Yada o yuvarlak kısım nasıl kendiliğinden geldi.Android’de default olan bir şey mi?
Hocam rehberde kayıtlı olan kişileri gruplamak istersek nasıl bir yol izlememiz gerekir?
Sorgunuzda group by kullanmanız gerek