Programlama

Adobe AIR Devam

27.03.2008

Efendim selamlar saygılar. Bugün günün büyük bir bölümünü AIR ile proje geliştirmekle geçirdim. Buradan sizlere karşılaşacağınız sorunları yazayım ki siz de saç baş yolmayın :)...

Öncelikle proje www.cadi.com.tr adresinden bir sayfa kullanarak yazılan son 10 yazıyı AIR uygumalası içinde göstermekti. Aslında ben Flash ile bu projeyi yaparım diyordum ama ne hikmetse AIR dökümanlarında yazanları Flash'da yaptığım zaman saçma saçma hatalar veriyor. Neyseki Dreamweaver ile de gayet güzel AIR projeleri geliştirilebildiğini bildiğimden hemen salladım Flash platformunu :)... Dreamweaver ile nasıl bir proje oluşturulabildiğine dair bir önceki yazıda bahsettiğim için bunu esgeçiyorum. Bu sefer daha düzenli bir şekilde css, image, javascript dosyalarını falan ayırarak cillop gibi çalıştım efenim.

Beni büyük sıkıntıya sokan ilk konu Türkçe karakter sorunu oldu. Zaten bir projede (özellikle yeni bir teknoloji ise) Türkçe karakter problemi yaşamassanız başınıza taş yağar... Efendim bu problemi AJAX'da kullandığım UTF-8 dönüştürücüsüyle hallettim. AIR projesinin header'ini <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> yaptım ve uzaktan aldığım yazıları return iconv("windows-1254", "UTF-8", $value); kodu ile dönüştürdüm. Böylece Türkçe karakter problemi kalmadı. Yalnız bunu daha Mac ortamında falan da deneyeceğim. Hadi bakalım hayırlısı :)

Efenim 2. büyük problem pencere kenarlarını yoketmem ve pencere taşıma işlemi için kod aramam oldu. Bir sürü yerde kod var fakat bir türlü yemedi. Sonra bir yerden bulduğum şu kod bütün sıkıntılarımı giderdi :

document.getElementById("header").addEventListener("mousedown",doMove);
function doMove(event)
{
    window.nativeWindow.stage.nativeWindow.startMove();
}

Bu kodun window.nativeWindow.stage.nativeWindow.startMove(); kısmı için aramadığım yer kalmadı. İşin asıl gıcık tarafı her türlü AIR kodunu bir güzel renklendiren ve tamamlayan Dreamweaver'ın bu kodu tanımaması ve renklendirmemesi oldu. Yalnız prewiev kısmında falan hata vermiyor cillop gibi çaışıyor kod.

Efendim uzaktan içerik alma ile de ilgili bir kod parçası koyayım da sevinsin gariban insanımız :)

        var request = new air.URLRequest(url);   
        var loader = new air.URLLoader();

        try
        {
            loader.load(request);
        }
        catch (error)
        {
            hideLoader();
            alert("Yazılar Alınırken bir hata oluştu!");
        }
       
        loader.addEventListener(air.Event.COMPLETE, onComplete);
       
        function onComplete(event)
        {
            hideLoader();
           
            yazilar = loader.data;
           
            document.getElementById(dest_div).innerHTML = yazilar;
           
            var tags = getTagName('div');
           
            for (i = 0 ; i < tags.length ; i++)
            {
                if(tags[i].id.substring(0,4) == 'link')
                {
                    addEvent(tags[i], "click", displayDetay);
                }
            }
        }

Artık programcı olan anlar bu koddan bir şeyler çıkarır yok öyle beleş ekmek :) Lakin Krokiller kardeşim isterse en delikanlısından gönderirim bütün projeyi o benim canım :)

Hadi bakalım bol AIR'lı günler... hasss oradan :D



Bunları da Oku, Sorucam

Yorum Yok

Yorum Yaz