Anasayfa / Android Dersleri / Android Dersleri 29 : Telefon Rehberi Uygulaması Yapıyoruz

Android Dersleri 29 : Telefon Rehberi Uygulaması Yapıyoruz

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.

android veritabanı sqlite

Şimdi uygulamanın arayüzünü tasarladım ve bunu Relative Layout kullanarak yaptım. Arayüzüm ise şu şekilde :

android veritabanı sqlite

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.

android veritabanı sqlite

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.

android veritabanı sqlite

İş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 :

android veritabanı sqlite

Şimdi Veritabanı sınıfımı oluşturdum. Burada veritabanımla ilgili tanımlamaları yaptım. Veritabani sınıfı ise şu şekilde olacak :

android veritabanı sqlite

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.

android veritabanı sqlite

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.

android veritabanı sqlite

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.

android veritabanı sqlite android veritabanı sqlite

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.

android veritabanı sqlite

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.

android veritabanı sqlite

Şimdi isim girip bu isme ait olan bilgileri getireceğim. Bunun için MainActivity sınıfındaki ilgili butonumun click eventini oluşturuyorum.

android veritabanı sqlite

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.

android veritabanı sqlite

Gerekli yerlerde açıklama satırları koydum. Şimdi ise çekilen verileri ekranda Alert ile göstereceğim. Kodlarım ise şu şekilde :

android veritabanı sqlite

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 :

android veritabanı sqlite android veritabanı sqlite android veritabanı sqlite

 

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.

Kaynak kodu buradan indirebilirsiniz.

Mehmet Kirazlı

İstanbul Eyüp'te ikamet ediyorum. Giresun Alucra'lıyım. Bilgisayar Mühendisliği bölümünden 2013 yılında mezun oldum. "Yeni Başlayanlar için Java 8" kitabının yazarıyım. Şu anda özel bir firmada Mobil Yazılım Geliştirme Uzmanı olarak çalışıyorum.

İlginizi Çekebilir

android dersleri

Android Dersleri 28 : Butonları Tek Bir Listener ile Kontrol Etme

Merhaba. Bu derste, android uygulamalarımızdaki butonların hepsi için tek bir listener oluşturmayı anlatacağım.

36 Yorumlar

  1. teşekkürler.gerçekten bu blogdan çok faydalanıyorum… ve devamını bekliyorum 🙂

  2. 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…

  3. 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 ?

  4. acil bi sorum olacak bu uygulamayı nereden bulup açacagız ? indirdim dediginizi

  5. Çoook teşekkürler çok işime yaradı. Allah razı olsun emek harcayandan..

  6. 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.

  7. 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

  8. 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

  9. merhaba hocam kaynok kodu çalıştıramadım hata alıyorum.Yardımcı olursanız sevinirim.

  10. böyle bir site hazırladığınız için çok teşekkür ederim. Gerçekten çok faydası oldu.

  11. 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?

  12. 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

  13. 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?

  14. Ş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.

  15. 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

  16. merhaba sil ve değiştir methotlarıını verebilirmisiniz lütfen 2 saat sonra proje sunacağım sizin projenizi sunmak istiyorum

  17. 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?

  18. Hocam rehberde kayıtlı olan kişileri gruplamak istersek nasıl bir yol izlememiz gerekir?

Bir cevap yazın

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