Volkan Atasever

mühendislik, edebiyat, retro computer, yazılım, şiir, nümismatik, bilişim, podcast ve daha bir çok yazılarım...

WP7 ile Ekran Görüntüsü Yakalama

clock Kasım 16, 2010 04:41 by author Volkan Atasever

Windows Phone 7 geliştirme yazımla herkese merhaba! Mobil dünyanın yeni çocuğu olan WP7 ile beta sürümleri ile geliştirmeyle ilgili bilgileri zamanında vermiştim. Peki final sürümü bize neler getirdi neler götürdü. Bu yazıda inceleyeceğimiz bu konu bizi oldukça heyecanlandıracaktır. Öncelikle bir iyi bir kötü haberim var.

İyi haber:

XNA ve Silverlight platformu mükemmel.

Kötü haber:

Native kod desteği ortadan kalktı.

 

Geliştirme yapısını MSDN üzerinden aldığım bir grafikle açıklamak isterim.

 

Üst katmanda iki seçenek görüyoruz. Silverlight projesi veya XNA projesi ile oyunlar adı altında. XNA eskiden sadece oyun geliştiricileri ilgilendirirdi ve genelde ben uzak durmayı tercih ederdim. Çünkü gerçek manada masaüstü platformu için oyun yazmak 80’lerdeki kadar kolay değil. Tek başına yapılacak bir işse hiç değil. Mobil platformlarda nispeten küçük oyunlar yazma konusu ise beni bu aralar cezbetmeye başladı. Fakat bizim asıl durmamız gereken ve en çok yazılım geliştireceğimiz proje tipi Silverlight olacaktır. Artık standart ve klasik windows kontrollerinden kurtuluyoruz. Uygulamalar, animasyonlar ve silverlight kontrolleriyle çok daha zengin uygulamalar yapabilceğiz. Bunun altında ise sensor API’lar mevcut nedir bu sensor API’ları derseniz bir IPhone’u yatay çevirdiğinizde verdiği tepkiyi sensörler gerçekleştirmekte. Aynı sensörler WP7 telefonlarımızda da bulunmakta. WM 6.x telefonlardaki en büyük zorluklardan birisi Media ve ses işlemlerinde ya 3. Parti yazılım kullanmak ya da oturup native kod yazma zorunluluğuydu. XNA API’ları ile bu çözülmüş durumda. Çekirdek kısımda ise her zaman bildiğimiz ve kullandığımız yeni versiyon bir .NET Comapct Framework durmakta. Yeni ve zengin kullanıcı arayüzü geliştirmek oldukça memnun edici bir durum olacaktır. En azından onca uğraş verdiğimiz uygulama son kullanıcı için daha cazip hale gelecektir. Önemli noktalardan biriyse artık yazdığımız kod satırları daha da azalıyor. .NET Compact Framework 3.5 ile karşılaştırdığımızda spesifik uygulamalarda yaptığımız kodların azaldığını görmekteyim. Çoğu zaman zaten native koda da ihtiyaç duymuyorsunuz. Herşeyin yönetilen kod olarak sunulduğu bu dünya oldukça eğlenceli. İsterseniz biraz WP7’nin deirnliklerine inelim. Bunun için bir uygulama yapıp neler olup bitiyor bunu inceleyelim.

Yapacağımız uygulama .NET CF üstünde 15-20 satırla yapabileceğimiz butona bastığımızda o anki ekran görüntüsünü yakalayabilen bir uygulama olsun. Bunun için uygulamamızda standart olarak gelen isim alanlarına aşağıdaki isim alanını ekleyelim.

 

using System.Windows.Media.Imaging;

 

Ardından formumuzun dizayn penceresine standar silverlight kontrollerinden olan buton kontrolü ve image kontrolü ekleyelim.

Uygulamamızın kullanıcı arayüzü:

 

Uygulamamızın C# kodu:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Net;

using System.Windows;

using System.Windows.Controls;

using System.Windows.Documents;

using System.Windows.Input;

using System.Windows.Media;

using System.Windows.Media.Animation;

using System.Windows.Shapes;

using Microsoft.Phone.Controls;

using System.Windows.Media.Imaging;

 

namespace WindowsPhoneApplication12

{

    public partial class MainPage : PhoneApplicationPage

    {

        public MainPage()

        {

            InitializeComponent();

        }

 

        private void button1_Click(object sender, RoutedEventArgs e)

        {

 

            WriteableBitmap bmp = new WriteableBitmap((int)this.ActualWidth, (int)this.ActualHeight);

            bmp.Render(this, null);

            bmp.Invalidate();

            this.image1.Source = bmp;

           

        }

    }

}

 

Uygulamamızın çıktısı:

 



Windows Phones 7 serisi ile Merhaba

clock Mart 24, 2010 04:47 by author Volkan Atasever

Visual Studio 2010 Express for Windows Phones IDE’si ile windows phones isimli yeni teknoloji için geliştirmeye merhaba dedik. Bu yazımda bu teknolojiyi incelerken geliştirme aracını ve yeniliklerden bahsedeceğim. Öncelikle windows mobil 5.0 dan beri telefonlarımıza yeni ROM yüklemeye alışmıştık. Bu aşamadan sonra ise Windows Mobile 6.5 telefonlarımıza dahi yeni işletim sistemini ROM güncellemesi ile yükleyemeyeceğiz. Donanımsal olarak cihazların yeterli teknolojiye sahip olmamasını sayabiliriz. Bunun dışında Multitouch özellipi ve kapasitif ekran özelliklerinin gelmesi aynı zamanda cihazın kullanım özelliklerine uygun olarak 3 tuşun bulunması gerekiyor. Bu özellikler dahi bende büyük heyecan uyandırmaya yetti. Windows Phones ile tüm yazılım geliştirme altyapısı Silverlight üzerine inşa edilmiş gibi gözüküyor bunun yanında XNA önemli bir yer tutmakta. Önceki versiyonlarda XNA desteği yerine DirectX programlama ile uğraşmak zorundaydık artık işlerimiz biraz daha kolay. Yinede yeni platforma alışmak yazılım geliştiriciler açısından biraz tedirginlik yaratabilir. Klasik windows mobile programlama alışkanlıklarımızı bir kenara bırakmak zorundayız. Öncelikle bildiğim temellerden biri Bluetooth API’sinin değişiklik göstereceğiydi. Diğer API’lerle ilgili durum şu anda bilgim dahilinde değil.

Visual Studio 2010 ile beraber gelen Mobil Proje tiplerini inceleyecek olursak karşımıza şu tipler çıkmakta;

 

İki seçeneğimizden ilki Silverlight for Windows Phone seçeneği. Burada Windows Phone Application seçeneği ile temel template’imiz karşımıza çıkmakta. Genel ve gelişmiş tüm programlarımızı bu yapı altında yapabilmekteyiz. Windows Phone List Application’da ise isminden anlaşılabileceği gibi listelerden oluşmuş uygulamalar yapabilmekteyiz. Class Library klasik alışkanlığımız olan kendi sınıflarımız için bir seçenek.

 

XNA Game Studio 4.0 ise Windows Phone Game, Game Livrary, Windows Game ,Xbox 360 gibi seçeneklerle beraber gelmekte.

Bizim ilk uygulamamız Silverlight tabanıyla windows phone application olacak. Karşımıza çıkan standart görüntünün aksine ilk incelediğim yer toolbox kısmı oldu. İhtiyacıma uygun araçları görmek oldukça sevindiriciydi. Bunların ise görsellik olarak standart windows kontrollerinden daha fazla tatmin edici olması işin sevindirici bir boyutu. Baktığınız zaman eski nesil cihazlarda windows formları ile benzerlik üst düzeydeydi. Hatta normal debug ettiğiniz bir uygulamanın penceresini windows üzerinden bile açabilmeniz için gerekli yöntemler mevcuttu. Düşündüğüm zaman WPF’i port etmeleri çok zorlu bir iş olurdu. Görsel olarak port edilebilecek bir uygulama olması açısında Silverlight’ın doğru bir seçim olduğuda düşünülebilir. Tabiki bildiğimiz anlamıyla başlı başına bir silverlight değil. Bir browser’a ihtiyacınız yok. Donanım tabanlı bir silverlight klonu karşınızda diyebilirim.

İlk işim açılan pencere ile beraber gelen gri tonlardan kurtulmak için çareler aramaktı. Baktığınız zaman ilk penceremizin gridlere ayrıldığını ve alttaki yapının contentgrid olduğunu gördüm. Rengi değiştirmek için background özelliğini kolayca buldum. Artık sıkıcı temel renklerden oluşan bir palet yoktu karşımda daha gelişmiş Red Green Blue değerlerini bile ayarlayabileceğim bir paletle karşılaştım.

 

Üstteki bölüm ise TitleGrid idi. Bundaki renkleride aynı metodla değiştirirken. TextBlocklarınıda ilk uygulamaya uygun bir isimle değiştirdim.

 

Hemen toolbox’umdan bir buton sürükledim. X ve Y koordinatından hizalama seçeneği mobil cihazda uygulama geliştirirken oldukça hoş bir özellik. Bu işlemleri yaparken Iphone’un eğlenceye yönelik piyasasınında sarsılacağı öngürüsünü oluşturmak zor değil. Profosyonel uygulamalarda ise Windows Mobile serisis zaten office uygulamaları ile tartışılmaz öncüydü.

 

Buton’a çift tıkladığımda klasik C# kod ekranım karşımdaydı. Kendimi tanıdık bir ekranda bulmak ise bu kadar görselliğin yanında oldukça büyük bir artı. Bu arada pencereme bir textbox’da sürükledim. Buton’un click event’ine her ilk yeni uygulamalarda olduğu gibi bir atama ile tamamladım.

 

NameSpace’lere bakmadan tabi olmaz. Yeni namespace’ler karşımda ve karıştırılacak çok şey olduğu gözükmekte.

Debug->Start without Debugging ile emülatörümü çalıştırmak üzere heyecanla tıkladım.

İlk uygulamamın ekran görüntüsü;

 

Gerçekten heyecan verici olduğu muhakkak. Fakat Windows mobile konusunda deneyiminiz varsa yeni platformda da zorluk çekeceğinizi zannetmiyorum. Kesinlikle eğlenceli zaman geçirerek adapte olabilirsiniz.

 



Volkan Atasever Kimdir ?

E-Mail: volkan(et)volkanatasever.com

Kurucu&Genel Müdür/Software4Galaxy Ltd.
Bilgisayar Mühendisi
Eğitmen ve Danışman, Teknoloji Yazarı, Şair, Araştırmacı, Girişimci, Amatör Telsiz Operatörü, Amatör Denizci, Akvarist, Nümismat, Filatelist, Bilim İnsanı

Genel Duyurular

-Yakın bir zamanda Amatör Telsiz , Amatör Denizcilik, Amatör Balıkçılık ve Shortwave Radio adında yeni dört kategori ile bilgilerimi paylaşıyor olacağım.

-RC Araçlar kategorisi ilgi alanımdadır artık bu konuda da araştırmalar yapıp zaman buldukça projelerimi paylaşacağım.

Yasal Bilgi

Sitedeki yazıları,kodlar ve diğer materyaller Volkan Atasever'e aittir. Yazarı ve siteyi kaynak göstererek yazıları paylaşabilirsiniz.  Copyright(c)2004-2019

Sign In