17 Mart 2013 Pazar

Java ile android içinde listelerin kullanımı List<>,ArrayList,HashMap'ler

Android içindeki Java kodunda sıkça ihtiyaç duyduğum listelemelerle ilgili biraz bilgi vermek istiyorum.
Nesnelerden oluşan bir liste yaratmak için
List<Nesne> listeAdi =new ArrayList<Nesne>();    kullanılabilir.

Veya bir key value yani anahtar değerle verilere erişmeniz gerekebilir, bunun için HashMap kullanabilirsiniz.
Map<Integer, Nesne> listeAdi = new HashMap<Integer, Nesne>();

Bir listenin içinde başka bir liste tutmak isterseniz, örneğin bir byte listesi (byte array) aradığınız budur.
List<byte[]> listeAdi =  new LinkedList<byte[]>();

Listede nesnelerin listesini tutmak içinse yine HashMap'ten yararlanmanız gerekecek, bunun kullanımı ise,
Map<Integer, List<Nesne>> listeAdi = new HashMap<Integer, List<Nesne>>();

Normal bir liste ise
int[] listeAdi=new int[listeboyutu]; veya String[] listeAdi=new String[listeboyutu];

Kolay gelsin

Java da String'lerin birbirleriyle karşılaştırılması

Java içinde String değerleri karşılaştırmak için if(string1==string2) ifadesi kullanılmaz. 
String karşılaştırmaları için   if(string1.equals("string2")) ifadesini kullanmalısınız.

Integer yani tamsayı değerleri karşılaştırmak için ise if(integer1==integer2) kullanılabilir.

12 Mart 2013 Salı

Bilgisayarınızdaki Sound Effects yani Ses Efektleri çalışmıyorsa

Bazen bilgisayarınızda değiştirdiğiniz ses efektleri çalışmıyor. Windows'un çözümü şu;

c:\Windows\System32\cmd.exe dosyasına sağ tuş ile basıp yönetici olarak çalıştır diyorsunuz.
Daha sonra açılan ekrana
sfc /scannow
komutu ile taratma yapıyorsunuz. Bu bir süre devam ediyor ve ekranda "Sistem tarama işleminin doğrulama aşaması başlatılıyor" diyor. Doğrulama tamamlandıktan sonra bilgisayarınızı yeniden başlatıyorsunuz.

Umarım işe yarar.

1 Mart 2013 Cuma

Biraz da Android Programlama

Bir .net programcısı iseniz ve Android programlamaya geçmeyi düşünüyor şunu söylemeliyim, korkmanıza gerek yok. Android programlamasını Java ile yapabiliyorsunuz. Eclipse arayüzünden programlama yapacağınız aleti tanıttığınızda, ta da...Normal bir proje sürecine ulaşmış oldunuz. Ayrıca testinizi dış makina yani telefonunuzda veya bir tablet üzerinde yaptığınızda ulaştığınız haz çok daha fazla.
Yıllar önce Java ile programlama yapmıştım ama o zamanlar gerek yazılım arayüzü gerekse "library"lerin hepsinin elle eklenmesi gibi sorunlardan, itiraf ediyorum, Java'dan nefret etmiştim. Şimdilerde Android üzerinde geliştirme yapmam gerekti ve bende bir amanın ne yapacağım, yine Java'nın karanlık dünyasında debeleneceğim hissiyatı başladı. İlk önce "bu benim bittiğim andır" diye diye Eclipse arayüzünü kurdum ama  açtıktan sonra artık eskisi kadar karanlık bir Java dünyası olmadığını farkettim. İşler aynı eski dosya yapısında olsa da özellikle C# yazılımcısı iseniz Java çok basit gelecek.

Android programlamasında anlayacağınız üzere Eclipse arayüzünü ve kullandığım test aletinde SqlLite veritabanını kullanıyorum. İnternette kaynak olarak aradıklarınızın aşağı yukarı tamamını http://developer.android.com adresinden temin edebiliyorsunuz. Ama yapılacakları size basitçe listeleyeyim.

1- Öncelikle http://developer.android.com/sdk/index.html#ExistingIDE  adresinden toplu olarak yazılım yapacağınız arayüzü indiriyorsunuz. Bu indirilecek pakette
  • Eclipse + ADT plugin
  • Android SDK 
  • Android Platform-tools
  • En yeni Android platform
  • emulatorünüz için en yeni resimler bulunuyor.
Bu paketin içinden çıkan 
  1.  adt-bundle-<os_platform>.zip isimli dosyayı açıp kendi makinenızda geliştirme yapacağınız bir klasöre çıkartıyorsunuz.
  2. adt-bundle-<os_platform>/eclipse/ klasörü içinden de eclipse uygulamasını başlatıyorsunuz. Artık geliştirmeye başlamaya hazırsınız. 
2- Bir sonraki adım geliştirme yapacağınız aletin eclipse tarafından tanındığından emin olmak. 
Oluşabilen sorun : Aletiniz makinanızda açılabiliyor ve tanımlı gözüküyor ama eclipse debug listesinde görüntülenmiyor. 
Bazı durumlarda Eclipse sizin aletinizi tanımıyor, hata veriyor veya debug listesinde aletinizi hiç görmüyor. Bunun nedeni aletinizin generik dll'lerinin bilgisayarınızda yer almaması olabiliyor veya daha basit aletinizden ayarlarınızı açmamış olabiliyorsunuz.
Öncelikle aletinizin USB bağlantısının takıldığından emin olun. Bilgisayarınız aletinizi tanımıyorsa, June Fabrics Technology tarafından geliştirilmiş olan PdaNetZ350 isimli programı bilgisayarınıza yükleyin, bu ihtiyaç duyduğunuz pekçok dll'i otomatik yükleyecek bir program.
Sonra Debug aleti olarak kullanacağınız aletinizin ayarlar menüsünde "geliştirici seçenekleri"nden  "USB Hata ayıklaması" tikini işaretleyin ve eclipse'i kapatıp yeniden açın. Hatta USB bağlantısını çıkarıp yeniden takın. Şimdi aleti görüyor mu tekrar kontrol edin.