wp7 etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
wp7 etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

13 Şubat 2012 Pazartesi

WP7 SOAP Web Service with Custom Headers

Evet, page rank lazim gençler. İngilizce yazalım, sevgili yabancı arkadaşlarımız da algılasınlar. Hem zaten bizler zeki insanlarız, İngilizce'de nedir yani?


Fellows! Today I am going to show you how you can add your custom headers to your web service requests. I have searched for it for a while in the past, lost my hope, forced my customers to write a new web service with a naive authentication. 


But the thing we are going to accomplish is not easy at all.


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Header>
<AuthHeader xmlns="http://tempuri.org/">
<Username>string</Username>
<Password>string</Password>
</AuthHeader>
</soap:Header>
<soap:Body>
<BolgeSorgu xmlns="http://tempuri.org/" />
</soap:Body>
</soap:Envelope>


In here we see the soap envelope that we are going to send to get a response. I added the web service with Service References -> Add.

12 Şubat 2012 Pazar

WP7 Picasa Upload

Yeni yazi dizimizde (cok cool bir insan gibi hissetmek (aslinda coolum selam.)) telefonumuzdan picasa'ya resim upload edecegiz. Benim gibi bir bardak sütü önünüze alıp, Visual Studio'nuzu açın. Arkadan MFÖ çalsın, yoksa  Exception veriyor.


Projeyi açalım, adı PicasaUploader olsun. Sayfaya 1 adet Button koyalım, adı uploadBtn, content'ı "Fotoğraf Çek" olsun.


Blend ile sayfamızı açalım, 8gb ramli i7 makinamda, Visual Studio nedense designer'da çok yavaş. Evet.


private void uploadBtn_Click(object sender, RoutedEventArgs e)
{
     Microsoft.Phone.Tasks.CameraCaptureTask task = new Microsoft.Phone.Tasks.CameraCaptureTask();
     task.Completed += new EventHandler<Microsoft.Phone.Tasks.PhotoResult>(task_Completed);
     task.Show();
}
Evet, button'a bastığımızda, CameraCaptureTask açılıyor. Task bittiğinde event handler yoluyla task_Complete fonksiyonuna gidiyor. Event Handler'ı verdikten sonra task'ı çalıştırıyoruz.


Şimdi, kod yazacağımız yer completed eventı.


Eğer kullanıcı, resim çekmiş yada seçmiş, ardından OK tuşuna basmışsa, upload yapıcaz.


if (e.TaskResult == Microsoft.Phone.Tasks.TaskResult.OK)
{

}

İşte o IF ifadesi.

Amacımız çekilen resmi byte arrayine çevirmek, stream'e yani.

BitmapImage bmpl = new BitmapImage();
bmpl.SetSource(e.ChosenPhoto);
WriteableBitmap wb = new WriteableBitmap(bmpl);
MemoryStream memSt = new MemoryStream();
wb.SaveJpeg(memSt, 1024, 768, 0, 70);
Sırasıyla, bitmap image yaratıyoruz, çekilen resmi içine atıyoruz, bu bitmapten writablebitmap yaratıyoruz, bu obje içeriğini bir stream'e yazabiliyor, o stream ise MemoryStream'i.

Neyse, bir şekilde resmi, stream'e çevirmeyi başardık. 
Şimdi yapmamız gereken şey, bir rest client bulmak.

RestSharp gayet güzel, kullanışlı. Buyrun: http://restsharp.org/
var client = new RestClient("https://www.google.com");
var request = new RestRequest("accounts/CLientLogin"Method.POST);
request.AddParameter("service""lh2"ParameterType.GetOrPost);
request.AddParameter("accountType""google"ParameterType.GetOrPost);
request.AddParameter("source""exampleCo-exampleApp-1"ParameterType.GetOrPost);
request.AddParameter("Email""upload@hebele.me"ParameterType.GetOrPost);
request.AddParameter("Passwd""91sa99113d"ParameterType.GetOrPost);

Buradan account bilgilerinizi giriyorsunuz, o account'un picasa hesabına upload edeceğiz. Albüm ID vermek mümkün, default albüme atmak ta mümkün. Lütfen mail hesabıma girmeyin, kredi kart bilgilerimin hepsi onda.

Source kısmı ne işe yarıyor çok merak ediyorum. Application adı sanki ama, laylaylom koysam olcak gibi.

Belli bir aşamada bu stream'i byte array'e çevirmek gerek tabi.

byte[] array = new byte[memSt.Length];
array = memSt.ToArray();
Onu da bu şekilde yapabiliyoruz. Kod geliyor!

WP7 Facebook Client Side Flow

Evet. Daron Yondem'in blogunda gösterdiği, wp7 uygulamalarınıza facebook desteği eklemek için Visual Studio'ya indirebileceğiniz eklentiler....

diye bir cümle kuruyordum fakat araya giren baş ağrısıyla yazıya 40 dakika sonra devam etmek zorunda kaldım.

Şimdi arkadaşlar, görev basit, WP7 ile Facebook post yapacağız. Malzemeler, bir adet Visual Studio, bir adet WP7sdk, bir adet internet bağlantısı, bir adet emulatör.

Şimdi sevgili, içinde Windows Phone 7 uygulama aşkını barındıran yazılımcı arkadaşım. Facebook'tan bir application yaratıyorsun. Bu adresten yapabilirsin onu: http://developers.facebook.com/

Hizmette sinir tanimiyoruz. Maksat insanlar windows phone kullansin, ablalarina windows phone alsin doğum günü hediyesi olarak. Neyse


  1. appID
  2. redirectUrl
adlarında iki değişken yaratalım sevgili WP7 severler. ikiside constant, ikiside string olsun, şimdi yürek yırtılır tey tey.

Ekrana bir adet WebBrowser kontrolü sürükleyip bırakın. Ben, adini feriha koydum ama siz webBrowser1 koyabilirsiniz.


Evet koda bakalim. appId miz var, bu facebook uygulamamizin idsi. Onun dışında facebook login için adresimiz var, bu da sabit bir adres.

Bizi ilgilendirek 1 event var, o da webBrowser1'in yani ferihanın başka bir sayfaya geçtiğinde elimize ulaşan html içeriği.

Onun dışında Initialize kısmında, sayfa yüklendiğinde, internet varsa, ferihayı login URLsine yolluyoruz.

11 Şubat 2012 Cumartesi

WP7 ItemsSource ile ListBox doldurmaca

İngilizce yazmıştım bu yazıyı sevgili okur, bi yerden Türkçe yazmaya başlamak lazım dedim. Türkçe güzel dil.
Kısa ve öz kesicem, ekran görüntüleri zaten hazırdı. Oku öğren, aklında soru olmasın. Olursa sor ama tamam mı şeker.


Şimdi diyelim ki, emülatörümüzde elimizdeki katalogdan, insanların isimlerini ve telefon numaralarını göstereceğiz ve her bir kayda tıklandığında numara aranacak.


İlk başta insanın telefon numarasını ve adını gösterebileceğimiz bir veri türüne ihtiyacımız var. Kendisi:




        public class Member
        {
            public string Name { get; set; }
            public string Number { get; set; }
        }
İşte burada. Member nesnesini tutacak bir generic list yaratıp, o listeyi doldurduktan sonra, Listemizin ItemsSource propertysine atadıktan sonra, tamam nerdeyse.