• Şuradasınız
  • Anasayfa
  • Android
  • Android Dersleri 29 : Telefon Rehberi Uygulaması

Android Dersleri 29 : Telefon Rehberi Uygulaması

Merhaba. Yine uzunca bir aradan sonra yazmaya devam ediyorum. Bu yazımda,  veritabanında değinmediğim tek olay olan Where ifadesine yer vereceğim. Bunun için telefon rehberi tarzında çok basit arayüzü olan bir uygulama hazırladım. Bunu sadece where ifadesi 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.

1

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

2

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.

strings

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.

layout

İş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ğini de vereyim.

manifest

Şimdi Veritabanı sınıfımı oluşturdum. Burada veritabanımla ilgili tanımlamaları yaptım. Aşağıda paylaşıyorum sınıfımı.

veritabani

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.

main1

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ğini vereyim.

main2

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

ekran1 ekran2

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.

vt1

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.

vt2

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

kisiAra

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.

bilgileriCek

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

cekilenleriGoster

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 olarak ekran görüntülerimi de veriyorum.

ekran1 ekran2 ekran3

 

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.

 

Uygulamanın Kaynak Kodları : http://www.mehmetkirazli.com/KaynakKodlar/TelefonRehberi.rar

Benzer Yazılar

Yorumlar

  • mehmet , 23 Mart 2014 - 22:11

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

    Cevapla
  • Selçuk , 09 Nisan 2014 - 12:02

    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…

    Cevapla
  • murat , 26 Nisan 2014 - 17:12

    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.

    Cevapla
    • Mehmet Kirazlı , 27 Nisan 2014 - 10:39

      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 ?

      Cevapla
  • zeki , 12 Haziran 2014 - 10:50

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

    Cevapla
  • Serkan , 09 Temmuz 2014 - 15:50

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

    Cevapla
  • ozgur , 11 Temmuz 2014 - 12:11

    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.

    Cevapla
    • Mehmet Kirazlı , 11 Temmuz 2014 - 17:28

      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.

      Cevapla
  • eylm , 23 Temmuz 2014 - 15:12

    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

    Cevapla
  • mehmet , 25 Temmuz 2014 - 11:08

    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

    Cevapla
  • tuba , 02 Eylül 2014 - 14:47

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

    Cevapla
  • yusuf , 07 Eylül 2014 - 00:21

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

    Cevapla
  • Selman , 15 Aralık 2014 - 19:20

    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?

    Cevapla
  • ömer , 18 Aralık 2014 - 13:46

    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

    Cevapla
  • L , 06 Ocak 2015 - 18:55

    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?

    Cevapla
  • Mustafa Fırtına , 22 Şubat 2015 - 15:56

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

    Cevapla
  • yasin , 08 Haziran 2015 - 19:10

    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

    Cevapla
  • furkan , 12 Ağustos 2015 - 11:17

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

    Cevapla
  • Ali , 14 Kasım 2015 - 02:13

    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?

    Cevapla
  • Kübra , 12 Aralık 2016 - 20:32

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

    Cevapla

Yorum Yazın

Su elementleri kullanabilirsiniz : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Arama
RSS
Beni yukari isinla