12 Haziran 2014 Perşembe

Joda ve Proguard felaketi

Uygulamayı hazırladınız herşey güzel ve zaman hesaplamaları için efsanevi derecede harika çalışan (ciddiyim) JodaTime kullandınız. Birden proguard export hataları vermeye başladı. İşte sıçtığınızın resmi :) Korkmayın kormayın ben olayı çözdüm size anlatayım :)) İlk olarak import ettiğiniz lib'ler lib klasörünüzde varmı diye bakın daha sonra joda-time-x.x.jar dosyanız var mı diye ve daha daha sonra da onun yanında joda-convert-x.x.jar dosyanız libs klasörünüzde var mı kontrol edin. Daha sonra projenizin properties bölümünden > Java Build Path > Libraries bölümünde bu jar dosyalarının üstlerde ve check'li olup olmadığını kontrol edin. Eveeet geldik asıl trick'e :) joda-convert-1.5.jar değil de joda-convert-1.4.jar indirin ve onu kurun. Çalışacaaaak kısmetse :) Hepinize comolokko, öptüm

8 Haziran 2014 Pazar

Facebook için yapabileceğiniz birçok şeye deva bulduk

Bu akşam arkadaşım Aybars'la oturup Facebook SDK'i dibine kadar oyduk. 2.0, 3.0 ve 3.1 SDK versiyonlarının arka arkaya Facebook tarafından publish edilmesinden dolayı falafoş olmuş bir çok örnek internette mevcut. Bir örneğin komudu bile yok, diğer örneği methodu deprecate olmuş bir başkası Graph API değiştiğinde dolayı çalışmaz hale gelmiş. O yüzden kendim adım adım test ede ede yeni bir single FacebookManager sınıfı oluşturduk. Kullanım gayet kolay.

1. FacebookManager.getInstance.setContext(this); satırını ana activity'nizin onCreate methodunun sonuna ekleyin.
2. postToWall komudu hariç diğer komutlar login komudunu çağırmanızı gerektirmektedir.
3. parametreleri doldurup aşağıdaki komutları çağırabilirsiniz.

login
logout
getUser
getUserFriendIds
postToWall
postToPhotos
isSessionOpened

Umarız beğenirsiniz, adyos.

http://www.dogancoruh.com/files/TeslaClient.zip

2 Haziran 2014 Pazartesi

Kendi yazdığım bileşeni layout içinde kullanamıyorum?

Evet kendiniz için özel bir bileşen hazırladınız. Bu bileşen mevcut bir bileşenin ek özelliklere sahip bir versiyonu ya da birden fazla UI bileşenini ihtiva eden bir composite control olabilir. Her neyse. Yazma işlemi bitti keyiflisiniz ve activity'nizin layout'una ekleyip bi denemek istediniz ama garip garip RuntimeException'lar ya da resource hataları alıyorsanız :) küçük bir şeyi unutuyorsunuz. Layout'un root bileşenine (muhtemelen bir LinearLayout) bir attribute eklemeniz gerekiyor.
xmlns:app="http://schemas.android.com/apk/res-auto"
Bu ifadeyi attribute olarak ekleyince Android SDK sizin yazdığınız bileşenin resource'larını da olaya dahil ediyor. Hadi kolay gelsin :)

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:background="#e6e1da"
    android:tag="contentView"
    >


layout içinde örnek bileşen kullanımı

<com.dogancoruh.myproject.controls.CountButton
                        android:id="@+id/countButtonProfileCheckins"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:layout_weight="1"
                        android:layout_marginRight="5dp"
                        android:layout_marginBottom="5dp"
                        app:text="Checkin"
                        app:count="0"
                        />