Android’den Para Kazanma Sanatı – GDG Sunumu

May 05 2016 Published by under mobile, software development

GDG Kocaeli Üniversitesi etkinliğinde yaptığım “Android’den Para Kazanma Sanatı” isimli sunuma aşağıdaki linkten ulaşabilirsiniz:

AndroiddenParaKazanmaSanati

Comments are off for this post

Android’de XMPP Client Geliştirme

Oct 23 2011 Published by under mobile

Android’de bir chat uygulaması yazmak isterseniz bu yazı tam da sizin için diyebilirim. Öncelikle bir chat sunucusuna ihtiyaç var. Bunun için OpenFire biçilmiş kaftan zira açık kaynak kodlu (GPL ile lisanslı), yönetimi kolay ve güvenli. Üstelik GTalk ve Facebook dahil piyasadaki chat uygulamalarının bir çoğu bu sunucuyu kullanıyor.

XMPP client geliştirmek için İlk olarak OpenFire sunucusunu bilgisayarımıza kuruyoruz.  (http://www.igniterealtime.org/projects/openfire/) Sunucuyu kurduktan sonra başlatıyoruz:

Sunucu kısmını hallettikten sonra client tarafına geçebiliriz.  XMPP client için en uygun kütüphane SMACK API. (http://www.igniterealtime.org/projects/smack/) SMACK jar’larını aldıysak Android uygulamamızı geliştirmeye başlayabiliriz.

Chat sunucusuna bağlanmak için:

Chat uygulaması icin bir login ekranına ihtiyacımız var. Android’de ekrana bileşenler ekleyip onlardan değerleri almayı bildiğinizi varsayarak bu kısmı atlıyorum. (http://developer.android.com/guide/index.html)

Login ekranından aldığımız kullanıcı ismi ve şifreyle Openfire sunucusuna bağlanmak için (login başarısız olduğunda XMPPException atar.):

Login olduktan sonra ulaşılabilir (available) olduğumuzu da sunucuya göndermemiz gerekiyor:

Eğer giriş yapan kullanıcı OpenFire sunucusunda herhangi bir gruba üye değil ise default grup yaratıyoruz:

Giriş yaptıktan sonra arkadaşlarımızı görmek için önce chat gruplarına ulaşıyoruz. (Grupları listelemek için String RosterGroup.getName() metodunu kullanabiliriz.

Grup üyesi olan kullanıcıları listelemek için:

Listelenen kullanıcıları da hallettik. Artık chat yapabilmek için yeterli altyapıya sahibiz. Chat yapmak için ChatManager sınıfına ihtiyacımız var:

Kullanıcının üzerine tıklandığında yeni bir chat başlatmamız gerekiyor. İlk parametre chat’in ismi. Yani chat yaptığınız kullanıcının ismi. İkinci parametre şimdilik önemsiz.

Chat yarattıktan sonra gelen mesajların ekranımızda görünmesi için bir Listener’a ihtiyacımız var:

Send tuşuna basıldığında yazılan mesajı göndermek için:

Chat için ihtiyacımız olan metodlar bunlar. Ancak tabii bir chat uygulamasının login olan kullanıcının bir dahaki girişinde isterse kullanıcı ismi ve/veya şifresini hatırlatma ve gönderilen mesajların history’sini kaydetme gibi özelliklerinin olması gerekmektedir. Android’de DB işlemleri için SQLite kullanıyoruz. DB yaratmak için SQLiteOpenHelper sınıfından extend eden bir sınıf yazabilir ve SQLiteDatabase sınıfıyla da scriptlerinizi çalıştırabilirsiniz. Ayrıca kullanıcının kendisinin sisteme kaydolması için de gerekli metodlar Smack API’de mevcut.

Yukarıdaki işleyişin doğru çalışması için OpenFire chat sunucusundan grup yaratmanız ve kullanıcı eklemeniz gerekmektedir. Bu işemlerin ekran çıktıları aşağıdadır:

Kullanıcı listesi: (OpenFire sunucusu admin ekranı)

Bu API ve yukarıdakilerle aşağıda ekran çıktılarını bulabileceğiniz türden bir uygulamayı çok rahat yazabilirsiniz:

Login ekranı:

Arkadaş listesi ekranı:

Konuşma penceresi:

3 responses so far