Android Not Defteri Uygulaması

Merhabalar arkadaşlar,

Kısa bir süre önce SQLite’ın ne olduğu ve android üzerinde nasıl kullanıldığıyla ilgili kısa bilgiler vermiştim. Vermiş olduğum bilgileri biraz daha anlaşılabilir hale getirmek adına yazmış olduğum “Not Defterim” uygulaması bugünkü yazımın konusu.

Yazının akışında, ilk olarak uygulamanın nasıl çalıştığını görselleriyle anlatacağım daha sonra ise uygulamanın yorum satırlarınıda içeren kaynak kodu paylaşacağım. Sqlite ve customlistview  konusunda içerik barındıran bir uygulama olan “Not Defterim” uygulamasının  uygulamalarınızı geliştirirken yardımcı olması dileğiyle ;).

Uygulamanın Çalışması

Not defteri uygulaması, not ekleyip notlar üzerinde düzenlemeler ve silme işlemi yapabileceğiniz bir uygulama. Eklenen notlar sqlite veritabanında kaydediliyor ve ihtiyaca göre sorgularla çağrılıyor. Ayrıca notları listelerken kullanılan listview yapısının elementleri custom olarak hazırlanmış bir layoutun listeye adapte edilmesiyle oluşuyor.


Uygulamanın nasıl çalıştığını ekran görüntüleri üzerinde anlatmak gerekirse;

1. Not Listesi

Uygulamamızı açtığımızda eklemiş olduğumuz notları görüyoruz. Eğer hiç notumuz olmasaydı uygulamamız bizleri otomatik olarak not ekleme kısmına yönlendirecekti.

2. Operasyonlar

Tüm operasyonları not listesindeki elemanlara  normal ve uzun süreli tıklama işlemleriyle gerçekleştiriyoruz.

2.1 Tek Tık (Click) : Konuyla ilgili notun içeriğini gösterir.

2.2 Uzun Süreli Tıklama (longClick) : Notla ilgili operasyonları sunar. ( Yeni Not Ekle, Notu Düzenle, Notu Sil)

2.2.1 Yeni Not Ekle : Konu ve içerik girilerek yeni not eklenir. Konu ve içerik girilmeden ekleme yapılmak istenildiğinde  kullanıcı uyarılır.

2.2.2 Notu Düzenle: Listeden seçilen not düzenleme ekranında gösterilir ve not güncellenebilir.

2.2.3 Notu Sil: Silinmek üzere bir not seçilir. Daha sonra kullanıcıya notu silmek istediğinden emin olup olmadığı sorulur. Kullanıcı “Evet” seçtiğinde not silinir ve not listeleme ekranı yenilenir, “Hayır” seçtiğinde ise işlem iptal edilir.

**”Not Defterim” uygulamasının kaynak kodunu yazının devamında bulabilirsiniz. 

Kaynak Kod:


Not.java


NotDefteriDBHelper.java


NotDefteriDatabase.java


CustomListAdapter.java


NotEkleActivity.java


GuncelleActivity.java


NotlariListeleActivity.java



ekleguncelle.xml


listele.xml


notsatiri.xml


Paylaşmış olduğum içeriğin uygulama geliştirme aşamalarınızda  yardımcı olmasını diliyorum. :) Kullandığım tüm görsel öğelerin düzenlenmesi şahsıma aittir. Saygılarımla.

Okuduğunuz için teşekkürler ;)

Kaynak Kodu Buradan İndirlebilirsiniz.

 

Kaynakça: developer.android.com, The Android  Developer’s Cookbook  Building Applications with  the Android SDK (James Steele, Nelson To ),  vogella.de, sqlite.org

,

21 Responses to Android Not Defteri Uygulaması

  1. Gökhan Akgöl diyor ki:

    Merhaba , uygulamana baktım güzel olmuş eline sağlık, ama alt tarafta verdiğin kod yapısını acemi birisinin anlaması çok çok zor aralara neyi neden yaptığını net bir şekilde açıklama satırları olarak eklersen çok daha iyi olacaktır.Tavsiye :) İyi çalışmalar.

    • Tuğrul Aşık diyor ki:

      Öncelikle yorumun ve tavsiyen için çok teşekkürler. Yorum satırlarında kodun işleyişini anlatmaya çalışıyorum; ama genel anlamda düşündüğümüzde birinin yazdığı kodu anlamanın zor olduğuda bir gerçek. Detaylandırmaya çalışırım. İyi çalışmalar. ;)

  2. gokhan qq diyor ki:

    hocam emeğinize sağlık, kodu daha rahat okuyabilmek açısından kaynak dosyalarını da paylaşabilir misiniz ?

  3. sedat diyor ki:

    merhaba;
    sizin not defteri uygulamanızı indirip baktım. Gayet iyi bir uygulama. Benim şu an yapmaya çalıştığım şey ise bunun biraz daha farklısı. listviewde başlık şeklinde olan ve görseli sizin veri tabanına kayıt yapılmasının ardından yaptığınız görüntü gibi olup, o başlıklara basıldığı zaman yeni sayfa açıp, açılan sayfada başlık hakkında bilgi veren ve bu bilgiyi veri tabanından çekecek bir uygulama. bu konuda yardımcı olabilir misiniz?

    • Tuğrul Aşık diyor ki:

      Merhabalar,
      Öncelikle ilginiz için teşekkürker. Uygulamamda Ekle,güncelle için bende yeni bir sayfaya yöneliyorum zaten. Burada yapmanız gereken listview’deki herhangi bir iteme tıkladığınızda sizinde yeni bir layout olarak oluşturduğunuz sayfaya geçiş yapmanız. Database’ten veri cekmeye gelince aynı şekilde ek bir tablo yaratın ve tablodan sorgulamak istediğiniz veriyi ekranda gösterin istediğiniz bir display yöntemi ile. Yoğun olmasam kod içeriği olarakta yardım edebilirdim. Çok politik bir cevap olacak ama biraz daha dikkat edip yoğunlaştığınızda üstesinden rahatlıkla gelebilirsiniz. Biraz sabır ve çalışma sadece tüm gereken ;). Saygılarımla iyi çalışmalar.

  4. hasan can diyor ki:

    hocam merhaba emegınıze saglık guzel olmus fakat bende eclıpse kurulu aynı kodları yazıyorum fakat hata verıyo acaba neden boyle yapıyo yardımcı olursanız sevınırım androidde cok yenıyım hatta yenı baslamak zorunda kaldım proje odevımde ıse yarayabılır aslında ben word ve excell yapıcam sanırsam bunu gelıstırebılırım dıye dusunuyorum eger yardımcı olursanız cok sevınırım sımdıden tesekkur ederım

    • Tuğrul Aşık diyor ki:

      Merhabalar,
      Aynı kodları yazmak yerine projeyi direk workspace’e import etmeyi dene. Word ve excel yapacaksan java API’lerini incelemeni öneririm. ilk başlarda basit hatalardan canının sıkılması normal, bir süre sonra hiçbir problem kalmayacaktır. İyi çalışmalar

  5. Mehmet ÖZTÜRK diyor ki:

    uygulamanızı indirdim ama çalıştıramadım yardımcı olur musunuz bird ebenzer bir proje ödevim varda sqlite veritabanındaki kayotları listwiew’e nasıl aktarabilirim?

    • Tuğrul Aşık diyor ki:

      SQLite kullanırken emülatör kullanıyor iseniz zaman zaman sıkıntı çıkartabiliyor. Diğer yandan kaynak kodu mu yoksa yazımın içinde paylaştığım kod satırlarını mı kopyalayıp çalıştırmayı denediniz. Eğer direk kaynak kodu indirdiyseniz workspace’e dökümanı kopyalayıp import etmeyi deneyin.(NOT: SDK güncellemelerinden sonraki farklardan dolayıda zaman zaman import sorunları yaşanabiliyor .) Eğer veritabanınızda az sayıda ve sabit veriler varsa direk olarak bir dosyayı assets klasörünede ekleyerek kullanabilirsiniz. Ya da veri tabanınızın her değişimde versiyonunu değiştirerek uygulamayı calıstırmayı deneyin.

      Kolay gelsin, iyi çalışmalar.

  6. Mehmet ÖZTÜRK diyor ki:

    Sayenizde proje ödevini yaptım gerçi kayıtları listeye aktarmayı öğrenemesemde yaptığınız uyguluma çok yardımcı oldu Allah razı olsun size teşekkür ederim

    • Tuğrul Aşık diyor ki:

      Merhaba,
      Yorumunuz için teşekkürler. Umarım yardımcı olmuştur. Öncesinde bir yorum yazsaydınız listeye aktarma konusunda da detaylı cevap yazabilirdim ;). İyi çalışmalar.

  7. Ahmet Selami diyor ki:

    Tuğrul bey sunumunuzdan istifade ettim ve bazı şeyleri öğrendim. Teşekkür ediyorum.
    Fakat uzun araştırmalarıma rağmen anlayamadığım bir nokta var.
    Ben sizin örneğinizdeki gibi bir listView e resimde eklemek istiyorum.
    Yani bir list.xml dosyası oluşturup içeriğine bir resim bir textView ve bir de buton eklemek istiyorum. Ve custom ListView yapısıyla bu xml elemanlarını sqlite den gelen verilerle birleştirip döndürerek bir custom listView oluşturmak istiyorum. Nasıl yapabilirim.

    • Tuğrul Aşık diyor ki:

      Selamlar,

      Yoğunluğumdan dolayı yorumuna çok geç cevap veriyorum, şu anda çözümü bulup bulmadığına emin değilim. Fakat yinede anlatayım.
      Satır icin ayrı bir xml’de dilediğin tasarımı yap. Yaptığın tasarımdaki xml’i daha sonra customlistview için kullan. Örnekte paylaştığımın aynısı, sanırım bazı detaylar dikkatinden kaçmış.

      Anladığım kadarıyla örneğin, bir aracın resmi olsun ve yanında modeli ve yılı yazsın gibi bir satır istiyorsun listede göstermek üzere. Araçları listelediğinde resimleri ve araçların bilgileri yer alsın. Tam anlamıyla format olarak bu sanırım yapmak istediğin.
      Direk yukarıda bahsettiğim adımı uygula . Biraz dikat et, küçük syntax hataları yapıyor olabilirsin ;)

      Kolay gelsin, iyi çalışmalar.

  8. Ahmet Selami diyor ki:

    Tuğrul hocam öncelikle sunumunuz için teşekkürler.
    Şimdi ben bu holder içerisinde if kullanınca sorun çıkartıyor.
    Örneğin eğer veritabanından gelen veri “şu” ise yazının rengini kırmızı yap diyorum. Fakat yapmıyor. İf yapısı içinde “0″ == “0″ yapıp deniyorum hepsini kırmızı renge çeviriyor. Fakat teker teker yapmıyor yardımcı olurmusunuz?

    • Tuğrul Aşık diyor ki:

      Elementlere değer atamadan önce kullan. Örneğin çift satırlar için kırmızı, tek satırlar için sarı yazı rengi kullanmak gibi. Daha önce yaptım çalıştı herhangi bir sıkıntı çıkarmadı.

      Renk vermek istediğin noktata sıkıntı olabilir. Aşağıdaki yardımcı olacaktır.

      —————————

      Kolay gelsin, iyi çalışmalar.
      /*
      * veritabanındaki her değeri custom olarak belirlediğimiz ve 2 adet textview’den oluşan
      * layouttaki tv’lere atıyoruz.
      */
      //burada … burada…
      holder.mTarih.setText(notlar.get(position).kayittarihi);
      holder.mKonu.setText(notlar.get(position).konu);

      —————————-

  9. burhan diyor ki:

    Merhaba

    Kaynak kod linki çalışmıyor acaba başka link verebilirmisiniz?

    Teşekkür ederim

  10. Ataberk Dönmez diyor ki:

    Tamda böyle bir çalışmaya ihtiyacım vardı. teşekkürler.

Bir Cevap Yazın

%d blogcu bunu beğendi: