folder Tahribat.com Forumları
linefolder Mobil Programlama
linefolder Nasıl Android Programlıyorsunuz?



Nasıl Android Programlıyorsunuz?

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    zeybekustasi
    zeybekustasi's avatar
    Kayıt Tarihi: 24/Mayıs/2012
    Erkek
    Bosluk bunu yazdı

    Aynen yahu nasıl bir aşk şevkle girişmiştim şu işe bide gunler sonra kuruyorsun bu sefer derlerken hata derledin emulator hata bitmiyor arkadas bu aralar yıne kurcalycam yeniharmanın dediği gibi linuxu denıycem bende

    Vay arkadaş demek ki bu kadar uğraşan bir ben değilmişim.

     


    https://www.youtube.com/watch?v=WC3-71NKwPw
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    JPriest
    JPriest's avatar
    Kayıt Tarihi: 09/Mart/2007
    Erkek

    SDK içinde intel için yeni bir image geliyor olması lazım artık. Onun yanında bir de Genymotion var. Oracle Virtualbox içine Android for x86 kuruyor diye hatırlıyorum. Emulator değil bunlar, simulator. O yüzden makinenizde sağlam ram varsa, gayet verimli çalışabilirsiniz bunlarla. Tabi ki gerçek bir Android cihazın yerini hiçbiri tutmaz. SDK içinde gelen emulatorler ne yazık ki inanılmaz kötü ve yavaşlar, Android'ten, yazılımdan, IDE'den, hayattan soğutabilirler.


    IDE olarak da Eclipse yerine Android Studio ya da IntellijIdea öneririm. Idea'nın community edition'u iş görür.

    Forumda başka konularda da yazmıştım sanırım, Idea (ya da studio) daha modern bir IDE. Ayrıca Maven ve Gradle ile de daha iyi anlaşıyor. Github'da bir sürü proje direkt Gradle projesi artık. Google çoktan default build system olarak onu seçti. Default IDE olarak da Android Studio'ya geçiş var. Bunun uzağında, gerisinde kalmamak lazım.

    Eleştiri yapacak olanlara kısa bir ön bilgi: Android'e 2010'da başladım. Sadece SDK'yı kurmak için günler harcanan zamanlarda. Çok aktif olmasam da yenilikleri takip etmeye çalıştım gelişim sürecini gördüm diye düşünüyorum.

    Yıllarca Eclipse kullanmış biri olarak yine de diyorum ki, Android Studio / IntellijIdea.

    Eğer ben Eclipse'in klavye kısa yollarına alıştım, orda her şey farklı derseniz, IDE'nin tüm kısa yollarını Eclipse'e göre ayarlayabilirsiniz. Eclipse'teki kısa yollar ile çalışmaya devam edip, herhangi bir yabancılık çekmeden geçi yapabilirsiniz.


    Sen hiç kaval çaldın mı?
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    MadJack
    MadJack's avatar
    Kayıt Tarihi: 07/Temmuz/2014
    Erkek
    JPriest bunu yazdı

     

    Hocam bu gradle ne oluyor/neye yarıyor tam olarak? Konuya hakimsen biraz detaylı bilgi verebilir misin?


    Everyone sees just what they want to see.
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    YeniHarman
    YeniHarman's avatar
    Kayıt Tarihi: 17/Haziran/2012
    Erkek
    JPriest bunu yazdı

    ...Emulator değil bunlar, simulator...

    Emülatör:)


    Olaylara karışmayın!
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    JPriest
    JPriest's avatar
    Kayıt Tarihi: 09/Mart/2007
    Erkek

    Eskiden SDK içinde gelen Android build tools vardı. Eclipse ya da diğer IDE'ler de bizim yerimize bir sürü işi hallediyorlardı bu toolları kullanarak, dolayısıyla arka tarafta neler döndüğü hakkında pek bilgi sahibi olmaya gerek kalmadan da işler yürüyordu. Ama belli başlı sıkıntılar vardı, bunların yetersiz olduğu kısımlar vs vardı. Daha sonra Dalvik eskide kaldı, yerine ART geldi. Süreç biraz daha değişti. Ayrıca Android çok farklı cihazlarda da çalışmaya başladı. Telefon ve tabletin yanında akıllı saatler, televizyonlar, arabalar vs. Her biri için ayrı bir build süreci vs de gerekiyordu. Şu görsele hızlıca göz atabilirsiniz build süreci için:

    Edit: image çıkmamış, url verelim: https://lh5.googleusercontent.com/MxH8wXEbpzjhfDzbDY52F8jp87ciFPaQxMPQN6xQvzRitaH_hQNarzkK90O3HYfieEPX8g1J2BlxmlSZwbAs5jrqiKeRNfnSmdW1OCKXG6DDmpDm_xA5XRGYDyuVx_50VA

     

    Third party kütüphanelerin sayısı artmaya başladı iyice. Bir proje yaparken yanına 10 tane de yardımcı kütüphane kullanmak gerekiyor bazen. Bunları her zaman Jar halinde alıp projeye dahil etmek doğru çözüm olmayabiliyor, güncel olarak repo'dan alıp, direkt proje olarak da ana projeye dahil etmek gerekebiliyor. Bu projelerin / library'lerin yönetimi de başlı başına bir problem. Github'dan bir proje çektin diyelim, üzerine bir şeyler ekleyip / değiştirip öyle kullanmak istediğinde mesela jar olarak ekleyemiyorsun.


    Ayrıca tüm kütüphaneleri jar olarak eklesen bile ana projeye, arada güncellemeler olduğunda o jarları silip, yenilerini indirip onları replace etmen gerekiyor.

    Ya da 10 tane library kullanıyorsun, bunlardan bazıları da ortak başka library'ler kullanıyor diyelim. Örneğin A library'si apache-commons'ın xyz versiyonunu kullanıyorken B library'si xyy versiyonunu kullanıyordur vs. Bu çakışmalar bazen problem yaratabiliyor.


    Büyük bir ekipte çalışıyorsun diyelim. Kod kalitesinin ölçülmesi gerekiyor. Kodun test yüzdesinin ölçülüp, scm'ye yapılan her committe unit testlerin otomamtik olarak çalıştırılması gerekiyor. Eğer testi geçemeyen bir kod commitleyen bir takım üyesi varsa, build fail olsun ve gerekli kişilere bunun raporu gitsin vs isteniyor gibi bir senaryo gerekli olabilir.

    Ya da takımda 5 kişi Eclipse kullanmak istiyor, 3 kişi Netbeans, arada VIM kullananlar, Androd Studio kullananlar vs. Aynı projede çalışalım ama farklı IDE'ler kullanalım isteyen takım üyelerin var diyelim..

    Bütün bunların yanında tek bir koddan, tek bir tuşa basarak, tabletler için ayrı, telefonlar için ayrı, akıllı saatler için ayrı, televizyon ve arabalar için ayrı, her birinin test / debug ve release'i için de ayrı ayrı APK üretilsin istiyorsun. Ya da hem free / freemium versiyonun için hem premium versiyonun için tek build çalışsın istiyorsun.


    Ya da ben burdan kodu scm'ye commitleyeyim, bütün unit testler çalışsın, hepsi geçerse apk üretilsin, bilgisayara bağlı kaç tane cihaz varsa hepsine yüklensin, belli başlı arayüz testleri otomatik çalışsın ve raporlar istenilen yerlere istenilen formatta gönderilsin istiyorsun.


    Yukarıdaki gibi daha onlarca senaryo için işleri otomatize eden ya da mümkün kılan bir build tool'a ihtiyaç var. Bunun için de eskiden Ant, Maven gibi ürünler kullanılıyordu. Hatta C/C++ için make..

    İşte Gradle "piyasadaki tüm build toolarının güzel yanlarını aldık, kötü yanlarını attık, üzerine de bir dünya güzel ve kullanışlı şey ekledik" iddiasıyla yola çıkan bir ekibin ürünü. JVM tabanlı bir tool. Maven gibi yüzlerce satır XML yazmıyorsun. Orada yüzlerce satır XML ile yapacağın işin aynısını, belki de daha effective bir şekilde 100 satırdan daha kısa bir boyutta Groovy script'i yazarak yapabilirsin. Groovy de Java bilen adam için öğrenmesi, okuması ve yazması basit bir dil (diyorlar). Ben genelde editledim ya da okudum, pek yazmadım.

    Projeni Gradle projesi olarak oluşturursan herhangi bir IDE ile, herhangi bir işletim sisteminde, herhangi bir makinede açıp build edebilirsin. Hatta IDE'ye de ihtiyaç yok, komut satırından da işler halledilebiliyor.

    Dahası dependency management için Maven'dan vazgeçip yeni bir şeylere de alışmaya gerek yok, Maven repolarını da kullanabiliyorsunuz.

    İlk akla gelen şeyleri yazmaya çalıştım. Tabi ki sadece bunlar değil Gradle'ın meyveleri. Ayrıca şuralara da göz atabilirsiniz:

    http://stackoverflow.com/questions/16754643/what-is-gradle-in-android-studio

    https://gradle.org/

    http://en.wikipedia.org/wiki/Gradle

     

    JPriest tarafından 16/Şub/15 15:10 tarihinde düzenlenmiştir

    Sen hiç kaval çaldın mı?
  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    JPriest
    JPriest's avatar
    Kayıt Tarihi: 09/Mart/2007
    Erkek
    YeniHarman bunu yazdı
    JPriest bunu yazdı

    ...Emulator değil bunlar, simulator...

    Emülatör:)

    O kısım yanlış olmuş galiba, sitelerine girip baktım onlar da emulator demişler haklısın. Hala bir satış stratejisi gibi görünmüyor değil ama gözüme :)

    iOS ve Windows Phone simulator ile Android ise emulator ile çalışıyor. Android de geçse hiç de fena olmayacak. Nice koç yiğitler eskitti o ilk çağdan kalma emulatorler :)

    Bu arada: http://jakewharton.com/android-needs-a-simulator/

     


    Sen hiç kaval çaldın mı?
  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    MadJack
    MadJack's avatar
    Kayıt Tarihi: 07/Temmuz/2014
    Erkek

    teşekkürler hocam.


    Everyone sees just what they want to see.
  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    CnkGn
    CnkGn's avatar
    Kayıt Tarihi: 09/Ocak/2011
    Erkek

    Linuxa geçip birde öyle deneyeceğim var mı başka önerisi olan?


    yo yo yo 1-4-8-3 to the 3 to the 6 to the 9 representing the abq. what up biaatch! leave at the tone...
  9. KısayolKısayol reportŞikayet pmÖzel Mesaj
    u235
    u235's avatar
    Kayıt Tarihi: 31/Mart/2008
    Erkek

    Hacı valla eclipse in üstüne kurdum android eklentisini sonra onun kendi cihazı yavaştı bende arkadaşların bahsettiği genymotionu kurdum takır takır çalışıyor.Zor bişey değil.Sen bişeyleri atlıyor olmalısın.

  10. KısayolKısayol reportŞikayet pmÖzel Mesaj
    CnkGn
    CnkGn's avatar
    Kayıt Tarihi: 09/Ocak/2011
    Erkek
    u235 bunu yazdı

    Hacı valla eclipse in üstüne kurdum android eklentisini sonra onun kendi cihazı yavaştı bende arkadaşların bahsettiği genymotionu kurdum takır takır çalışıyor.Zor bişey değil.Sen bişeyleri atlıyor olmalısın.

    Çalışmaya çalışıyor, fakat ilerleyen zamanlarda olur olmaz hatalar veriyor. Yanlış birşey yapmış olsaydım en başından beri çalışmaması gerekirdi diye düşünüyorum. Kaldı ki forumda da bu durumdan müzdarip birçok arkadaş var.


    yo yo yo 1-4-8-3 to the 3 to the 6 to the 9 representing the abq. what up biaatch! leave at the tone...
Toplam Hit: 1699 Toplam Mesaj: 21