07 Ara 2011 Yazılımcılar İzmir'de Buluşuyor! Etkinliği Kaçırmayın! Kategori: Yazılım Etiketler: Windows PhoneMicrosoftSeminer 0 Yorum Etkinlik ile ilgili ayrıntıları buradan inceleyebilirsiniz.
06 Ara 2011 Windows Phone Geliştiricileri İçin İki Çok Önemli Rehber Kategori: Yazılım Etiketler: MicrosoftWindows Phone 0 Yorum Bütün Windows Phone Mobil Geliştiricileri! Uygulamanızın Marketplace’e taşınması ve yayınlanması için Microsoft Sertifikasyon gereksinimlerini sağlaması gerekmektedir. Uygulamaların yayınlanma sürecini hatasız dolayısıyla daha hızlı yapmak için uygulama gönderim sürecini adım adım anlatan bu dökümandan faydalanabilirsiniz. Kodlamaya yeni başlamış öğrenciler için başlangıç kılavuzuYazılım dünyasında yeni olmanız hayalinizdeki uygulamayı geliştirmeniz için bir engel değil. Bu kılavuz sayesinde öğrenciler için ücretsiz olan Microsoft araç ve kaynaklarının dünyasına giriş yapacaksınız. Aktif, bilgili ve motive öğrenci gruplarıyla iletişime geçme şansınız olacak. İlk Windows Phone uygulamanızı geliştirmek için kodlama ve uygulama yazılımlarını bilmenize gerek yok. Size tüm araçları, çalışmaları, tavsiyeleri ve desteği sağlıyoruz. Bu kılavuzu takip ederek uygulamanızı Windows Phone Marketplace’de görebilirsiniz. Kaynak: yazgelistir.com
06 Ara 2011 Microsoft’tan üniversite öğrencilerine Windows Phone kazanma şansı! Kategori: Yazılım Etiketler: MicrosoftWindows Phone 0 Yorum Eğer üniversite öğrencisiyseniz ve mobil uygulama geliştirmek ilginizi çekiyorsa tam size göre bir fırsatımız var. 21 Aralık’a kadar Windows Phone uygulamanızı geliştirin 5 adet Windows Phone işletim sistemli LG E900’dan biri sizin olsun. Kampanya DetaylarıÜniversite öğrencisi olma şartı aranmaktadır.Dreamspark üyesi olmak: Tüm üniversite öğrencileri edu.tr uzantılı email adresleri ile dreamspark.com adresinden üye olabilirler. Bu üyelik ücretsizdir. Üye olmak için hemen tıklayın.Dreamspark’a üye olduğunuz e-posta adresiniz ile bu adrese kaydolun.Uygulamalarınızı 21 Aralık’a kadar bu adrese yükleyin.Uygulamanızı gönderimden önce mevcut ücretsiz araçlar ile hatalara karşı test edin.Güncel Windows Phone SDK sürümünü indirerek en yeni geliştirme araçlarına sahip olun. Ayrıca uygulama geliştirilirken ve uygulamanızı gönderilirken dikkat edilmesi gerekenleri bu rehberden öğrenebilirsiniz. İndirmek için tıklayın!Uygulamalarınız jüri tarafından 1 Ocak – 31 Ocak arası değerlendirmeye alınacaktır.Değerlendirme sonucunda da 5 adet Windows Phone işletim sistemli LG E900 sahiplerini bulacak.Kampanya başlangıç tarihi: 2 Aralık 2011Uygulamaları yüklemenin son tarihi: 21 Aralık 2011Uygulamaların yüklenen sitede yayınlanması: 31 Aralık 2011Jüri değerlendirme süreci: 1 – 31 Ocak 2012Kazananların duyurulması: 16 Şubat 2012Her türlü sorularınız için: yardim@msakademik.netJüri Üyelerimiz: Melek PulatkonakSelçuk UzunCeren MetinMustafa KasapEkin ÖzçiçekçilerDetaylı bilgi için tıklayınız.
06 Şub 2008 WAP – Mobil Aygıta Göre Sayfaların Render Edilmesi Kategori: Mobil Etiketler: Windows Phone 0 Yorum Merhaba arkadaşlar, bu makalemizde WAP kontrollerinden device specific kontrolünden bahsedeceğiz. Bu kontrol bize telefon modeline göre sonucun WML, HTML, XHTML, CHTML olarak render edilmesini sağlıyor.Daha önceki makalem de Wap kontrollerini anlatırken çok kısa da olsa bu kontrolün ne ise yaradıgını anlatmıstım. Hatırlatmak gerekirse; Cep telefonlarının destekledigi markup diline göre kodumuzun render edilmesini saglar. Örnegin html destekleyen bir telefonda sonuç html üretilir, WML destekleyen bir telefonda sonuç WML olarak üretilir. XHTML destekleyen telefonda da XHTML olarak üretilir. Bu kontrolü niçin kullanırım? Bir wap uygulaması gelistirdigimizde her ziyaretçinin uygulamayı sorunsuz sekilde kullanabilmesi için bu kontrolü kullanırız. Kullanıcı arka planda telefonun ne destekledigini bilemeyeceginden yada bu uygulama bu telefon da çalısmaz diyemeyecegimizden bu kontrol ile uygulamamızın tüm telefonlar da çalısmasını saglarız. Choice Render edilecek Markup dili belirliyor. WML render edilecekse içerisine WML'e göre kod yazıyoruz. Html ise Html'e göre yazıyoruz. ContentTemplate Her yerde oldugu gibi burada da ContentTemplate çıkıyor karsımıza. Content Template içerisine Choice'de seçilen dile göre content template içerisindeki kod render edilecek. DeviceSpecific Kullanımı Uygulamanın WML ve HTML destekleyen telefonlar da çalısabilmesi için asagıdaki gibidir; <mobile:Panel ID="Panel1" runat="server"> <mobile:DeviceSpecific ID="DeviceSpecificControl" Runat="server"> <Choice Filter="isWML11"> <ContentTemplate> <!- WML Render Edilecek --> </ContentTemplate> </Choice> <Choice Filter="isHTML32"> <ContentTemplate> <!-- HTML Render edilecek --> </ContentTemplate> </Choice> </mobile:DeviceSpecific> </mobile:Panel> Bu kodun çalısması için WebConfig dosyasına Tanımlı DeviceFilter'ları eklememiz gerekir. Genel olarak 2 DeviceFilter kullanılsa da farklı devicefitlerlar'da bulunmaktadır. Asagıda bazı device filter'lar gösterilmistir. <deviceFilters> <filter name="isWML11" compare="PreferredRenderingType" argument="wml11" /> <filter name="isHTML32" compare="PreferredRenderingType" argument="html32" /> <filter name="isCHTML10" compare="PreferredRenderingType" argument="chtml10" /> <filter name="isMyPalm" compare="Browser" argument="MyPalm" /> <filter name="isPocketIE" compare="Browser" argument="Pocket IE" /> <filter name="isJPhone" compare="Type" argument="J-Phone" /> <filter name="isEricssonR380" compare="Type" argument="Ericsson R380" /> <filter name="isNokia7110" compare="Type" argument="Nokia 7110" /> <filter name="supportsColor" compare="IsColor" argument="true" /> <filter name="supportsCookies" compare="Cookies" argument="true" /> <filter name="supportsJavaScript" compare="Javascript" argument="true" /> <filter name="supportsVoiceCalls" compare="CanInitiateVoiceCall" argument="true" /> </deviceFilters> Farklı bir Filter(örnegin CHTML ve PocketIE) ile render yapılmasını istiyorsak; asagıdaki gibi kullanırız. <mobile:Panel ID="Panel1" runat="server"> <mobile:DeviceSpecific ID="DeviceSpecificControl" Runat="server"> <Choice Filter=" isCHTML10"> <ContentTemplate> <!- WML Render Edilecek --> </ContentTemplate> </Choice> <Choice Filter=" isPocketIE "> <ContentTemplate> <!-- HTML Render edilecek --> </ContentTemplate> </Choice> </mobile:DeviceSpecific> </mobile:Panel> Örnek Konu ile basit bir örnek yapalım. Örnegimizde WML ve HTML destekleyen basit bir sayfa hazırlayacagız. Projemize yeni bir Mobile Form ekleyelim. Mobile Formumuza bir DeviceSpecific kontrolü ekleyelim. Yukarıda anlattıgım DeviceFilter'ları da webCofig'e ekleyelim. Formum yukarıdaki gibi bir görüntü olustu. Simdi html kısma gidelim; asagıdaki kodları yazalım. DeviceSpecific.aspx <%@ Page Language="C#" AutoEventWireup="true" CodeFile="DeviceSpecific.aspx.cs" Inherits="WAPSamples_DeviceSpecific" %> <%@ Register TagPrefix="mobile" Namespace="System.Web.UI.MobileControls" Assembly="System.Web.Mobile" %> <html xmlns="http://www.w3.org/1999/xhtml"> <body> <mobile:Form ID="Form1" Runat="server"> <mobile:Panel ID="Panel1" Runat="server"> <mobile:DeviceSpecific ID="DeviceSpecificControl" Runat="server"> <Choice Filter="isWML11"> <ContentTemplate> Bu Sayfa WML ile Render Edilmistir... </ContentTemplate> </Choice> <Choice Filter="isHTML32"> <ContentTemplate> Bu Sayfa HTML ile Render Edilmistir... </ContentTemplate> </Choice> </mobile:DeviceSpecific> </mobile:Panel> </mobile:Form> </body> </html> Gördügünüz gibi çok basit. Simdi sayfamızı test edelim. Evet; farklı telefonlar da farklı sonuçlar aldık. Birde Web'den bakalım Evet artık wap uygulamalarımızı her yerde çalıstırabiliyoruz J Bu makalenin de sonuna geldik. Bir sonraki makale de görüsmek üzere. Iyi çalısmalar dilerim Sem Göksusem.goksu@yazilimgunlugu.com www.semgoksu.com | www.yazilimgunlugu.com Kaynaklar http://www.w3schools.comhttp://www.msdn.com
01 Şub 2008 Kendi WAP Sitemizi Nasıl Yaparız? Kategori: Mobil Etiketler: Windows Phone 0 Yorum Merhaba arkadaşlar, bu makalemizde kendi WAP sitemizi nasıl yapacağımıza bakacağız..Ilk 2 makalemiz de WAP' a giris yapmıs ve WAP' da kullanabilecegimiz kontrolleri incelemistik. Bu makalemiz de ise tüm bu bilgileri toparlayıp kendi WAP sitemizi gelistiriyor olacagız. Bunun için gerekli olan Materyaller su sekildedir J Visual Studio, MS Access (Siz isterseniz SQL Server yada MySQL de kullanabilirsiniz), ASP.NET Destekli Bir Hosting. Access de kullanacagımız tablolar asagıdaki gibidir. Kategoriler ve Icerikler isimli 2 tablo olusturuyorum. Içerisini kendimize göre dolduralım J Kategoriler Hakkımda Resimler Haberler Icerikler Hakkımdaki bilgilere buradan ulasabilirisiniz Resimlerimi burada bulabilirsiniz Benden haberleri buradan takip edebilirsiniz Evet bilgilerimizi bu sekilde olusturduk. Simdi asıl konumuza dönelim ve wap sayfamızı olusturalım. Yeni Bir Web projesi olusturalım ve projemize Default.aspx ve Icerik.aspx isimli 2 adet mobil form ekleyelim. Default.aspx de Kategorilerimiz listelenecek. Icerik.aspx de ise o kategoride yer alan haberler listelenecek. Default.aspx <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> <%@ Register TagPrefix="mobile" Namespace="System.Web.UI.MobileControls" Assembly="System.Web.Mobile" %> <html xmlns="http://www.w3.org/1999/xhtml"> <body> <mobile:Form ID="Form1" Runat="server" Title="Sem GÖKSU - WAP"> <mobile:Image ID="Image1" Runat="server" ImageUrl="csharp.gif" NavigateUrl="default.aspx"> </mobile:Image> <br /> <mobile:Panel ID="Panel1" Runat="server"> </mobile:Panel> <mobile:Label ID="Label1" Runat="server"> </mobile:Label> <mobile:Image ID="Image2" Runat="server" ImageUrl="google.gif" NavigateUrl="http://wap.google.com"> </mobile:Image> </mobile:Form> </body> </html> Default.aspx.cs protected void Page_Load(object sender, EventArgs e) { try { OleDbConnection Conn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+Server.MapPath("wapsite.mdb")); OleDbDataAdapter Da = new OleDbDataAdapter("Select * from Kategoriler", Conn); DataSet Ds = new DataSet(); Da.Fill(Ds, "tbl"); for (int i = 0; i < Ds.Tables[0].Rows.Count; i++) { Link myLink= new Link(); // myLink isimli yeni Bir Link Türetiyoruz. myLink.Text = Ds.Tables[0].Rows[i]["KategoriAdi"].ToString(); //Text Özelliginde Kategori Adı Yazacak.. myLink.NavigateUrl = "Icerik.aspx?KategoriID=" + Ds.Tables[0].Rows[i]["KategoriID"].ToString() + "&KategoriAdi=" + Ds.Tables[0].Rows[i]["KategoriAdi"].ToString(); // Gidecegi sayfayı belirtiyoruz... Panel1.Controls.Add(myLink); // Olusturdugumuz Linki panel içerisine ekliyoruz. } } catch (Exception) { // Response.Write("Baglanamıyorum :("); // Bu sekilde kullanamıyoruz Label1.Text = "Sistem de hata meydana geldi, Lütfen daha sonra tekrar deneyiniz :("; } } Ana sayfamızın son hali yukarıdaki gibidir. Simdi içerikleri görüntüleyecegimiz sayfaya geçelim. Icerik.aspx <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Icerik.aspx.cs" Inherits="Icerik" %> <%@ Register TagPrefix="mobile" Namespace="System.Web.UI.MobileControls" Assembly="System.Web.Mobile" %> <html xmlns="http://www.w3.org/1999/xhtml"> <body> <mobile:Form ID="Form1" Runat="server"> <mobile:Image ID="Image1" Runat="server" ImageUrl="csharp.gif" NavigateUrl="default.aspx"> </mobile:Image> <br /> <mobile:TextView ID="TextView1" Runat="server"> </mobile:TextView> <mobile:Link ID="Link1" Runat="server" NavigateUrl="default.aspx">Ana Sayfa</mobile:Link> <br /> <mobile:Image ID="Image2" Runat="server" ImageUrl="google.gif" NavigateUrl="http://wap.google.com"> </mobile:Image> <mobile:Label ID="Label1" Runat="server"> </mobile:Label> </mobile:Form> </body> </html> Icerik.aspx.cs protected void Page_Load(object sender, EventArgs e) { if (Request.QueryString["KategoriID"] != null && Request.QueryString["KategoriAdi"] != null) { try { OleDbConnection Conn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("wapsite.mdb")); OleDbDataAdapter Da = new OleDbDataAdapter("Select * from Icerikler where KategoriID = " + Request.QueryString["KategoriID"], Conn); DataSet Ds = new DataSet(); Da.Fill(Ds, "tbl"); string Content = ""; Content ="<b>" +Request.QueryString["KategoriAdi"].ToString() + "</b><br/>"; Form1.Title = Request.QueryString["KategoriAdi"].ToString(); for (int i = 0; i < Ds.Tables[0].Rows.Count; i++) { Content += Ds.Tables[0].Rows[i]["Icerik"].ToString(); } TextView1.Text = Content; } catch (Exception) { // Response.Write("Baglanamıyorum :("); // Bu sekilde kullanamıyoruz Label1.Text = "Sistem de hata meydana geldi, Lütfen daha sonra tekrar deneyiniz :("; } } else { RedirectToMobilePage("default.aspx"); // Mobile Formlarda yönlendirme bu sekilde oluyor. } } Içerik sayfamızda sekildeki gibi, geriye kalan tek sey Emulatorden yada cep telefonumuzdan ilk wap sitemizi test etmek. Iste Sonuç :) Bu makalenin de sonuna geldik. Bir sonraki makale de görüsmek üzere. Iyi çalısmalar dilerim Makale ile ilgili dökümanı indirmek için tıklayınız Sem Göksusem.goksu@yazilimgunlugu.com www.semgoksu.com | www.yazilimgunlugu.com Kaynaklar http://www.w3schools.com http://www.msdn.com