Kod Panosu

Kopyala, Yapıştır, Hatırla, Kodla..

?

Keşfedince “keşke daha önce bunu biri paylaşsaydı da ben de araştırırken denk gelseydim” dediğim deneyimlerimi ve küçük kod parçacıklarını paylaşıyorum.

Yararlı olması dileğiyle.

7 responses to “?

  1. Burhan Aksendir 23/07/2014, 02:19

    Merhaba,
    e-posta adresinizi bilemediğim (bulamadığım) için buradan yorum bırakıyorum.

    Adobe Flash Builder’de Android için hazırladığım bir uygulamam var. Uygulamada basit bir şekilde bir liste olarak Arapça dualar var.

    Sorunum şu: Uygulamayı Android cihazım üzerinde test ettiğimde kısa dualar hızlıca görüntüleniyor, ancak uzun dualar çok uzun zaman sonra görüntülenebiliyor.

    Bu sorunun spark Label’daki render problemi olduğunu düşünüyorum. Ama nasıl bir yöntemle üstesinden gelebileceğim konusunda takıldım.

    Proje dosyamı ekte sizinle paylaşıyorum. Yardımcı olabilirseniz minnettar olurum.

    My Project FB 4.7 Link:
    https://drive.google.com/file/d/0B94geQNpqygPcG5jczFicTlNOU0/edit?usp=sharing

    My Project FB 4.6 Link:
    https://drive.google.com/file/d/0B94geQNpqygPX2lidGVBdWQxb0E/edit?usp=sharing


    Burhan

    • Snowblind 23/07/2014, 22:24

      Burhan Bey,

      Sorunuzun çözümünü en kısa sürede elimden geldiği ölçüde araştırmaya çalışacağım. Bulabildiklerimi sizle de paylaşırım, değerlendiririz.

      Ayrıca Kadir gecenizi de tebrik eder; size, ailenize ve tüm müslüman alemine hayırlara vesile olmasını dilerim.

      • Burhan Aksendir 24/07/2014, 00:33

        Çok teşekkür ederim ilginiz için. Eksik olmayın. Gerçekten çok memnun olurum. Ayrıca ben de sizin, ailenizin ve tüm Müslümanların Kadir gecesini en içten dileklerimle tebrik eder, hayırlar getirmesini dilerim.

        • Snowblind 24/07/2014, 01:25

          Burhan Bey,

          Anladığım kadarıyla sorun, sizin de tahmin ettiğiniz gibi Label’ın render edilmesinden kaynaklanıyor.

          Referans sayfasında da anlatıldığı gibi Label component’i Flash Text Engine (FTE) adlı bir motorla render ediliyor. Ancak embedded fonlarla ilgili bu sayfadaki yorumlardan Matthias Dehmel’a ait 29 Temmuz 2009 tarihli ilk yorumda FTE’nin TextField adlı bir başka render class’ına oranla yaklaşık 5 kat yavaş render edildiğini görüyoruz. Dolayısıyla böyle olunca aklıma Label yerine TextArea kullanmak geldi. TextArea normalde, FTE’den bile yavaş olan Text Layout Framework (TLF) kütüphanesini kullanır. Ancak mobil projelerde TextArea için varsayılan render class’ı TextField’dır. Bu yüzden Label yerine TextArea kullandığınızda hız farkını siz de gözlemleyeceksiniz. (Örnek kod)

          Ancak ne yazık ki herşey bununla bitmiyor. TextField ile render edilen bileşenler embedded fontları görmüyor. O yüzden Label’ı TextArea ile değiştirip programı cihaz üzerinde çalıştırdığınızda proje içinde kullandığınız Sakkal Majalla adlı font yerine daha farklı bir fontun kullanıldığını göreceksiniz.

          Dolayısıyla burada bir seçim yapmanız gerekiyor. Ya düzgün ama yavaş seçenek olan Label ile devam edeceksiniz ya da onun yerine hızlı ama tuhaf görünen TextArea’yı tercih edeceksiniz.

          Maalesef benden bu kadar. İnşallah problemi bir şekilde gönlünüze göre halletmenin bir yolunu bulur ve bizi de aydınlatırsınız.

          Kolay gelsin.

          • Burhan Aksendir 24/07/2014, 03:40

            İlginiz için size ne kadar teşekkür etsem azdır. Eksik olmayın.

            Düzenlediğin kod bölümünü çalıştırdım. Spark TextArea gerçekten de hız konusunda etkili oldu. Ancak farklı fontlar denememe rağmen hiç başarılı olamadım.

            TextArea içerisinde gömülü font kullanımı hakkında bir araştırma yaptım ama sonuca ulaşamadım. Sadece stackoverflow’daki şu yazıda*, soruyu soran kişi sorunun çözümünü projeyi yeniden oluşturarak çözdüğünü söylemiş. Benim projemde tabii ki işe yaramadı.

            Varsayılan font harekeleri doğru göstermiyor bazen o yüzden mecburen özel font kullanmak zorunda kaldım. Yoksa bu haliyle işimi görürdü. Araştırmaya devam ediyorum. İnşaAllah bir çözüm bulabilirim.

            Görüşmek dileğiyle,

            * spark TextArea not displaying embedded fonts http://stackoverflow.com/questions/9167059/spark-textarea-not-displaying-embedded-fonts

  2. Burhan Aksendir 05/08/2014, 03:18

    Yeniden merhaba, epey bir ter döktükten sonra problemimi şükürler olsun ki halletme imkanı elde ettim🙂 Yaptığım işlem sadece DetailView’de Label’e database’den gelen tüm veriyi bir anda yüklemek yerine, basit bir spark list oluşturup uzun yazımı split ile parçalara ayırarak, duayı tekrar bir liste halinde göstermek oldu. Böylelikle hem özel fontumu Spark Label’da sorunsuz kullanabildim hem de inanılmaz bir hız farkı oldu.

    Buraya kadar her şey yolunda gitti. Ama şimdi takıldığım konu daha karmaşık🙂 Ben mevcut uzun duayı split ile dua metni içerisine eklediğim bir işaret yardımıyla (|) böldüm.
    Ancak bu sefer de, ekrana sığacak karakter sayısını hesaplayamadığım için farklı ekran boyutlarında çok farklı sonuçlar oldu🙂 Benim split ettiğim bölümler, yüksek çözünürlüklü bir modelde (Galaxy S4) ekranın çeyreğini doldururken, daha düşük çözünürlüklü bir cihazda ekrana tam sığdı.

    Aslında benim istediğim, duamı özel bir işaret ile manuel olarak değil de ekranın ölçülerine (cihazın screen size’ına göre) göre dynamic bir biçimde split edebilmek… Böylelikle kullanıcıya ekranı sürekli aşağı kaydırmak yerine sağdan sola swipe ile bir kitap yapraklarını çevirme hissi verebilirim.

    Ne dersiniz, sizce bu tarz bir hesaplama yapabilir miyiz ? Yani uzun bir yazıyı ekranın ölçülerine göre tam sığacak şekilde bölüp Label ile sayfa sayfa gösterebilir miyiz ?

  3. Burhan Aksendir 17/08/2014, 17:39

    Merhabalar,
    sorunun çözümünü bulamadım. TLF önerenler oldu ama o da çok performanslı değil uzun metinlerde. Ne yazık ki projeyi Adobe Flash Builder ile bitiremedim. Ne yapmak istesem hep bir sorun oluyor. Bu yüzden Flex’i bıraktım ve Android öğrenmeye başladım🙂

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Connecting to %s

%d blogcu bunu beğendi: