Windows Phone 7.1 Value Converter Kullanımı

By Burak TUNGUT - 21.11.2012 - Kategori Windows Phone 8

Windows Phone 7.1 uygulamalarımızda Data Bind'in yanında Value Converter işlemini nasıl yapacağımızı bu makale ile göreceğiz.
Herzamanki gibi küçücük, miniminnacık bir seneryo ile olayı çok daha iyi bir şekilde kavrayacağız..

Öncelikle harika esintili bir Temmuz akşamında, İstanbul'dan biraz da iş yorgunu olarak herkese merhaba :)
Özellikle son 2 haftadır çekilmeyecek kadar sıcak olmaya başlayan İstanbul'da bugün ki güneşin az esintinin bol olduğu bir gün yaşadık ve biraz daha böyle gitmesini ümit ediyorum :)

Daha fazla konumuzu dağıtmadan hemen senaryomuzdan bahsetmek istiyorum.
Uygulamamızın ana sayfasında 1 adet ListBox itemimiz var ve bize verilen makale konu başlıklarının Seo linklerini bu listenin içine atmak istiyoruz. Çok küçük bir örnek verecek olursak,

Konu başlığımız -> "value converter nasıl kullanılır" iken,
Seo Linkimiz -> "value_converter_nasil_kullanilir.html" şeklinde olmalıdır.

Hiç şüphesiz gelen değerimiz biraz replace işlemine tabi tutulacak ve sonuna html eki getirelecek. Olabildiğince basit düşünelim ve bu işi bir method ile yapmak isteyelim.

Kodumuz üç aşağı beş yukarı aşağıdaki gibi olacaktır ;
 

private string getSeoLink(string title)
        {
            string first = "öüıçğş";
            string last = "ouicgs";
            StringBuilder sb = new StringBuilder(title.ToLower().Replace(' ','_'));
            for (int i = 0 ; i < sb.Length ; i++)
            {
                int found = first.IndexOf(sb[i]);
                if (found != -1)
                    sb[i] = last[found];
            }
            return sb.Append(".html").ToString();
        }


Methodumuz istediğimiz fonksiyonaliteyi yerine getirecektir. Fakat web servisten ya da başka bir kaynakdan komplex listeler çektiğimizi düşünün hepsini bu işleme tabi tutmak içinden çıkılamayacak kadar zor olacaktır.

Devamı

Windows Phone 7.1 Frame Rate Nedir

By Burak TUNGUT - 21.11.2012 - Kategori Windows Phone 8

Bu makalem ile Windows Phone 7.1 de emulator ekranızın sağ tarafındaki frame rate sayacının ne işe yaradığını ve nasıl kapatılacağını göreceğiz.
5 Bloktan oluşan ve geliştirme sürecinde işimize yarayacak fakat publish etmeden önce kapatmamız gereken frame rate kavramını hemen incelemeye başlayalım.

Öncelikle herkese güzel bir yaz sabahında Merhabalar :)
Konuya girmeden önce birşeyi fark ettiğimi söylemeden geçemeyeceğim. Normalde makale ve çeşitli yazılarımı her ne kadar mesai saatleri dışında özellikle de akşam yazmak istesem de artık ilham mı desem, yazı yazmanın heyecanı mı desem bu istek hep mesai saatleri içersinde geliyor :)

Ben daha fazla açık sözlü olmadan konuya başlamakta fayda görüyorum :)
Windows Phone 7.1 de uygulama geliştiren arkadaşlar mutlaka şahit olmuşlardır emulator de sağ üst köşede dikey bir şekilde sıralanmış 6 bloktan oluşan digit efektli bu sayılara. Gelin öncelikle bu sayıların anlamlarını inceleyelim.

 

Composite Thread FPS Ekranın hangi sıklıkla güncellendiğini gösterir.
User Interface Thread FPS UI'nin iş parçacığının güncellenme sıklığını gösterir.
Texture Memory Usage Medyaların bellekte oluşturduğu doluluk oranını gösterir.
Surface Counter UI'den aktarılan elementlerin toplam yüzey alanını gösterir.
I. Surface Counter Render işlemincen önce aktarılan tüm elementlerin ilk yüzey alanlarını gösterir.
Screen Fill Rate Counter Normal çözünürlüğün kaç defa kullanıldığını gösterir.

Composite Thread FPS

Çeşitli senaryolar ile Composite Thread, UIThread'ın iş yükünü hafifletmek için bazı iş parçacıklarını çözmek üzere iplement edilir. Bahsettiğimiz bu iş parçacıkları yani bazı render işlemlerini aşağıdaki gibi sıralayabiliriz ;

  • Rotate
  • Scale
  • Translate
  • Opacity
  • Plane

Normal değer aralığı 60 Frame Per Second olan bu metriğimizi fazla, özellikle de 30'un altına düşürmemekte özen göstermeliyiz.

Devamı

Windows Phone 7.1 Zoomable Image

By Burak TUNGUT - 21.11.2012 - Kategori Windows Phone 8

Bu makalemiz ile Windows Phone 7.1 uygulamalarımız da kullandığımız Image kontolünü zoomable yapacağız.
Gesture eventler konusu altında geçen bu makalemizde yapacağımız uygulama ile sayfa üzerindeki resimlerimize zoom in ve zoom out yapabileceğiz.

Önceki makalelerimiz de gerek Image kontrolünü gerek tab eventlerini işledik. Bu makalemiz ile elimizdeki Image kontrolünü bir resim galerisi için kullanmamız durumunda zoom in ve zoom out olaylarını tab eventinin haricinde nasıl yapabileceğimizi göreceğiz.


Bu işlemi yaparken gesture eventleri kullancağımızı daha önce de söylemiştim. Tabi ki bize Gesture Listeneri sağlayacak olan Windows Phone Toolkit kütüphanesini öncelikle buraya tıklyarak indirelim ve oluşturduğumuz uygulamaya referans ederecek build işlemini gerçekleştirelim.

xaml tarafda LayoutRoot içeriğimiz aşağıdaki gibi olmalıdır ;

 

 

<Grid x:Name="LayoutRoot">

 

 

        <Image Name="MainImage" RenderTransformOrigin="0.5,0.5" CacheMode="BitmapCache">
            <Image.RenderTransform>
                <CompositeTransform x:Name="transform" />
            </Image.RenderTransform>
            <toolkit:GestureService.GestureListener>
                <toolkit:GestureListener PinchStarted="OnPinchStarted" PinchDelta="OnPinchDelta" />
            </toolkit:GestureService.GestureListener>
        </Image>
    </Grid>


Devamı

C# Enlem ve Boylam ile Şehir Öğrenme

By Burak TUNGUT - 21.11.2012 - Kategori Windows Phone 8

Bu makale ile enlem ve boylam bilgisini parametre olarak alıp, geriye plaka bilgisini döndüren bir method yazacağız.
Tüm bu işlemleri yapabilmek için öncelikle GeoCode adındaki Google Api'sini inceliyor ve örnek içinde kullanıyor olacağız.

Bir senaryo düşünelim,
Uygulamamız Türkiye de ki tüm hastanelerin konumlarını içeren bir bilgiye sahip ve GPS yardımıyla en yakın hastaneleri görmek istiyoruz. Bu durumda önümüze 2 yol çıkacaktır.

  1. Tüm hastanelerin enlem ve boylamları mevcut olduğundan dolayı, GPS ile konumumuzu alarak fizik derslerimizden hepimizin hatırladığı 2 nokta arasındaki fark (x ve y koordinatlarının kendi aralarında kare farklarının toplamları) formülü ile belli bir aralıktaki verileri alabiliriz. Ancak İstanbul gibi bir yerde uzaklık-yakınlık konusu için belli bir aralığı girebilmek pekde kolay olmayacaktır :)
  2. Ve bizim bu makale ile kullanacağımız yol ise yine GPS den enlem ve boylam bilgisini çekmek ve bu bilgiler ile hangi şehirde olduğumuzu bulmak, o şehirdeki tüm hastaneleri listelemek olacaktır.

Tabi ki uygulama için hastane gibi bir entity yaratmaya kalkmayacağız. Sadece Enlem ve boylam bilgisi ile nasıl bilgiler alabileceğimizi göreceğiz.
Tüm bu bilgileri çekebileceğimiz neyseki bir Google Api'si mevcut. Enlem ve boylam bilgisini alan ve geriye çeşitli bilgiler geri döndüren bu api yi inceleyelim,

http://maps.google.com/maps/api/geocode/xml?latlng={latlng}&sensor={sensor}&region={region}

İlk parametre enlem,boylam ikinci parametre false olarak kullanacağımız sensör ve üçüncü parametremiz ise tr olarak kullanacağımız bölge değerlerini alacaktır.
İstanbul da rasgele bir nokta seçelim. Aslında bu noktada emulatörümüzü kullanabiliriz,

Emülatörümüzün sağ tarafında en alttaki butona tıklayarak Tools sayfamıza ulaşalım ve Location bölgesinde arama kutusuna İstanbul yazıp enter diyelim. İstanbula herhangi bir noktaya resimdeki gibi sizde işaretleyin. Alt kısımda işaretlediğiniz noktanın enlem ve boylam bilgilerine ulaşacaksınız.

http://maps.google.com/maps/api/geocode/xml?latlng=41.0843,028.9886&sensor=false&region=tr

Devamı

Windows Phone 7.1 Item Source & Data Binding

By Burak TUNGUT - 21.11.2012 - Kategori Windows Phone 8

Bu makalem ile bir önceki makalemizde ki konuya devam ediyor, oluşturduğumuz Template için Listbox kontrolünde Data Bind işlemlerini inceliyor olacağız.
Sabah hazırladığım bu örneği sizler ile paylaşmak için cidden sabırsızlanıyordum, uygulamaya baktıkça bakasım geliyordu açıkçası :)

Bir önceki makalem de Listbox kontrolünü ve Data Template'lerin Item Template olarak nasıl source edilebileceğini görmüştük. En sonda ise 1 adet Image ve 2 adet Textblock alabilen bir Listbox Item Template hazırlamıştık.
Bu makale ile hazırladığımız Item Template e devam ediyoruz, sadece Image kontrolümüzün boyutlarını 100x100 yapıyoruz.

Sabah hazırladığım örneği sizler ile paylaşmak için sabırsızlanıyorum :)
Klişe kullandığım "Visual Studio IDE'lerimizi açalım" yerine bu sefer, kaldığımız yerden devam ediyoruz diyorum :)

Data Template düzenlemeye kaldığımız yerden devam edelim ve sayfamızda ki Image kontrolüne tıklayarak sağ bölümdeli "Data Binding" tuşuna tıklayalım ve gelecek olan pop-up dan Data Binding seçeneğine tıklayalım.

Üst tarafdaki seçeneklerimizden verilerimizi kod tarafında içine aktaracağımız DataContext e tıklayalım ve resimdeki combobox u işaretleyerek Resim bilgisin i birazdan oluşturuyor olacağımız entity yapımızdaki Resim adında ki üye değişkeninden alacağını bildirelim.

Aynı işlemi iki adet TextBlock içinde yapalım. 1.TextBlock için "AdSoyad", 2.TextBlock içinse "Unvan" bilgilerini girip binding bilgilerini dolduralım.

Devamı
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
Facebook
Son Yorumlar