Xamarin ile Visual Studio 2015’de Android Programlama Bölüm1

Selamlar;

Visual Studio 2015 ile birlikte Microsoft Cross Platform’ı desteklemeye başladı. Aslında uzun süredir open source olarak yürütülen MonoTouch ve Android için Mono projelerinin  Miguel De Icaza önderliğinde 2011’in Mayısında Xamarin   şirketi altında toplanarak, Visual Studio 2015 ile birlikte Microsoft tarafından biz yazılımcılara sunulmasıdır. Xamarin’in free kullanımı kısıtlıdır. Yani esasen ücretli bir uygulamadır. Ama bu demek değildir ki biz android veya IOS için uygulama geliştirip bunu mobile cihazlarımıza yükleyemiyeceğiz:) İşte bugün Android için Visual Studio Ultimate 2015 Preview altında Xamarin ile native bir uygulama geliştirip, mobile cihazımıza yükleyeceğiz.

android1

Yukarıdaki ekranda da görüldüğü gibi Android sekmesi altında bir Blank App açıyoruz. Kim derdiki Visual Studio ortamında Cross Platform Android’e uygulama geliştiricez :) Demek o gün bugünmüş..

Eğer ilk kez çalıştırdı iseniz karşınıza aşağıdaki gibi bir ekran gelecektir. Kısaca Xamarin’in yüklenmesi gerekmektedir.

android3

Xamarin’i yükledikten sonra halen yukarıdaki ekranı alıyor iseniz. Önce Control Panel\Programs\Programs and Features’den  Xamarin’i bulun. Sağ click ve change’ı tıklayın. Altta görüldüğü gibi Visual Studio 2015’i checkleyip onu da yükleyin. Daha sonra Xamarin’i bir kere daha yüklemek zorunda kalabilirsiniz. Her seferinde Visual Studio’nuzu restart etmeyi unutmayın. Bütün işlem bukadar. Önemli hatırlatma Xamarin’i güncellemeyin..

change  2015

Karşınıza alttaki gibi bir ekran gelecek. Tasarım ekranı Main.axml’dir. Detayları görmek için resmi tıklayabilirsiniz.

firstscreen

Main.axml’in source code’u aşağıda görüldüğü gibidir. Tüm eklenen nesneler xml formatında’dir. Örneğin Xamarin yerine  ücretsiz uygulama Cordova ile uygulama geliştirse idik tasarım ekranın’ın HTML 5 olduğunu görürdük.

Biz bugün ilk giriş konusunun anlaşılır olması adına xamarin bloğundaki ilk hello word örneğenin bir benzerini yapıcağız. Kodlardan ziyade ilk kez mobile uygulama geliştiricek arkadaşlar için bahsedilmesi gereken çok fazla kavram olduğundan, derinlemesine örnekleri 2.Bölümde yapıcağız. Bu makalede klavye üzerindeki harfleri tuşlayıp , bu harflere karşılık gelen sayıları bulucağız . Daha sonra arama tuşuna basarak ilgili numarayı arıyacağız ve aranan bu numaraları belli bir alanda saklayıp başka bir ekranda history list olarak göstereceğiz. Bununla ilgili ekran tasarımı alttaki gibidir. Label gibi düşünebileceğiniz bir TextView, karakterlerin girileceği bir text alan EditText(id’si:PhoneNumberText) ilk default text’i: “1-546-BKASMER”, harfleri sayılara çeviren Button(id’si:TranslateButton), arama Buttonu(id’si:CallButton) ve önceden aranan numaralı gösteren Button(id’si:CallHistoryButton) önceden aranan numara olmadığından başlangıçta callButton pasif olarak atanır.Sonuç olarak toplam 3 button ve diğer text kontroller aşağıda görüldüğü gibi Main.axml dosyasında aşağıdaki gibi tanımlanmıştır.

screen

Main.axml: İlgili ekranın design’ı yukarıda, xml şeklinde source da altta gözükmektedir. Nesnelerin id tanımlamalarına dikkat ederseniz @+id/ .. şeklinde tanımlanmaktadır. Ayrıca bazı buttonların textleri @string/callHistory şeklinde tanımlanmıştır. Bunun anlamı Resource/values/Strings.xml altında key value şeklinde tanımlı text guruplarından atanmaktadır. Yani mesela yukarıdaki callHistory aslında aşağıda görülen Strings.xml dosyasındaki karşılığı Önceki Aramalar’dır.

Strings.xml:

Main.axml:

Main.axml  dosyasına aşağıda görüldüğü gibi Resources/layout/Main.axml olarak erişebilirsiniz.

Right

Tüm işlemler aşağıda görülen MainActivity.cs üzerinden yürütülmektedir. Activity class’ından türetilmiştir. Tüm işlemler OnCreate() methodu altında çalıştırılmaktadır.

MainActivity.cs:

MainActivity.cs life cycle: Mobile uygulama üzerindeki çalışma adımları aşağıdaki gibidir. Biz onCreate() Methodunda önce ekran üzerindeki nesneleri FindViewById() methodunu kullanarak id’leri ile çekerek değişkenlere atadık.

  • EditText phoneNumberText = FindViewById<EditText>(Resource.Id.PhoneNumberText);
  • Button translateButton = FindViewById<Button>(Resource.Id.TranslateButton);
  • Button callButton = FindViewById<Button>(Resource.Id.CallButton);
  • Button callHistoryButton = FindViewById<Button>(Resource.Id.CallHistoryButton);

Life Cycle:

android-activity-lifecycle--methods

Şimdi sıra geldi çevir buttonun’a basılnca çağrılacak methodun ve ilgili eventin yazılmasına. Aşağıda görüldüğü gibi translateButton butonuna basılınca aranacak numaranın text alanının boş olup olmadığı kontrolü yapılır. Eğer boş değil ise en başta pasif olarak atanan callButton yani arama buttoun aktif hale getirlip, üzerindeki yazı “Call” + sayıya çevrilen değer olarak değiştirilir. Alan boş ise aranacak bir numara olmadığından callButton‘u pasif hale getirilip text’i “Call” olarak değiştirilir. İlgili kod parçacığı aşağıdadır.

translateButton.Click += (object sender, EventArgs e) =>
{
translatedNumber = Core.PhoneTranslator.ToNumber(phoneNumberText.Text);
if (String.IsNullOrWhiteSpace(translatedNumber))
{
callButton.Text = “Call”;
callButton.Enabled = false;
}
else
{
callButton.Text = “Call” + translatedNumber;
callButton.Enabled = true;
}
};

Yukarıda görülen Core.PhoneTranslator.ToNumber() static methodu aşağıda görülen PhoneTranslator.cs class’ında tanımlanmıştır.Aşağıda görülen resimdeki gibi ilgili harflere karşılık gelen sayılar string olarak birleştirilerek geri döndürülür. Yukarıda görüldüğü gibi geri döndürülen bu değer translatedNumber text’inin değerine atanır.

keypad

PhoneTranslator.cs:

  1.  Ekranda aşağıda görüldüğü gibi aranacak numara tuşlanır.
  2.  Ekranda Çevir butonuna basılır. Ara butonu aktif hale gelir. Girilen 0-GET-VISUALS textine karşılık gelen sayılar ara buttonu üstüne yazılır.
  3. Arama tuşuna basılınca arama amaçlı onay ekranına düşülür. Onaylanma durumunda ilgili numara aranır.

Screen1  Screen2  Screenshot_2014-12-08-11-27-11

Arama işlemi için aşağıdaki kod parçacığı kullanılır. AlertDialog ile onay alındıktan sonra Intent class’ı telefonun özelliklerine erişmek için kullanılan bir classdır. Burada Action.Call özelliğine erişilerek setData() method’u ile aranacak numara parametre olarak atanır. StartActivity() ile de ilgili action’a başlanır.

callButton.Click += (object sender, EventArgs e) =>
{
var callDialog = new AlertDialog.Builder(this);
callDialog.SetMessage(“Ara ” + translatedNumber + “?”);
callDialog.SetNeutralButton(“Ara”, delegate
{
phoneNumbers.Add(translatedNumber);
callHistoryButton.Enabled = true;
var callIntent = new Intent(Intent.ActionCall);
callIntent.SetData(Android.Net.Uri.Parse(“tel:” + translatedNumber));
StartActivity(callIntent);
});
callDialog.SetNegativeButton(“İptal”, delegate { });
callDialog.Show();
};

Yukarıdaki telefonun arama özelliğine erişebilmek için izin verilmesi gerekmektedir. İlgili izin proje altındaki Properties sekmesi çift tıklanarak Android Manifest sekmesi altındaki Requried permissions kısmından CALL_PHONE özelliği aşağıda görüldüğü gibi işaretlenerek yetki verilmelidir.

requrieds

Ayrıca callHistoryButton yani önceden ararnan numaraların gözükmesini sağlayan button yine burda aktif hale getirilir.

Ayrıca arama tuşuna basılınca aranan numara altta tanımlanan phoneNumbers listesine eklenir. Bu sayede doldurulan bu liste içindeki numaralar, Önceki Aramalar ekranında gösterilebilir.

Önceki Aramalar buttonuna tıklanınca aşağıda görüldüğü gibi CallHistoryActivity classına Intent class ile erişilerek, yukarıda doldurulan phoneNumbers Listesi PutStringArrayListExtra() methodu ile ilgili class’a gönderilir. Ve StartActivity() methodu ile ilgili sayfa çağrılır. Böylece MultiScreen ilk örneğimizi de yapmış olduk.

callHistoryButton.Click += (sender, e) =>
{
var intent = new Intent(this, typeof(CallHistoryActivity));
intent.PutStringArrayListExtra(“phone_numbers”, phoneNumbers);
StartActivity(intent);
};

list

CallHistoryActivity.cs: Aşağıda görüldüğü gibi class’ın ismi gene “@string/callHistory” şeklinde verilmiştir. Strings.xml’deki karşılığı: Önceki Aramalar dır. Bu listeleme yapılan class ListActivity‘den türetilmiştir.  phoneNumbers Intent.Extras.GetStringArrayList() methodu ile “phone_numbers”‘dan alınıp ListActivity classına özel ListAdapter‘a tanımlanır. ListAdapter sayesinde ilgili arama listesi ekranda gösterilir.Ayrıca override edilen OnListItemClick() methodu ile tıklanan herbir item yani önceden aranan numara, ekranın altında mesaj olarak gösterilir. Burda amaç herhangi bir list item tıklanınca detayı bu method sayesinde gösterilebilir.

tel

Simulator ve Versiyon Seçimi:

Uygulama derlenirken simulator olarak yukarıdaki Galaxy Nexus seçilmiştir. Seçilme ekranı aşağıdaki gibi Main.axml design ekranından yapılmaktadır. Android 4.0.3 versiyonu için derlenmiştir. Versiyon seçimi yine aşağıda görüldüğü gibi Properties ekranındaki Application altından yapılmaktadır. Benim telefonum 4.0.3’ü desteklediği için bu versiyonda derledim.

Resources/Layout/Main.axml:

ver

Properties/Application:

ver2

Icon seçimi, Derleme ve Yükleme:

Icon seçimi için Resources/drawable/ altına eklenecek dosya ile yapılmaktadır. Farklı modeller için farklı klasörlerde ve boyutlarda imagelar seçilebilir. Ben bu uygulamada 1 tane seçtim. Mobile Android telefona atılacak dosya .apk uzantlılı dosyadır. Aşağıda görüldüğü gibi Proje sağ tıklanıp Package TestAndroid for Android(.apk) paket dosyası oluşturulup telefonumuza atıldığı takdirde tıklanarak ilgili uygulama yüklenir.

apk

Yükleme sırasında cihaza dışardan bir uygulama yüklenmesi için aşağıda görülen resimdeki gibi ayarlar kısmından izin verilmesi gerekmektedir. Ayrıca yükleme sırasında uygulamanın telefonun arama özelliğini ve bölüm 2’de bahsedeceğim bir kaç diğer özelliğini kullanması için aşağıda görüldüğü gibi izin verilmesi geremektedir. Ayrıca kullandığım Xamarin uygulaması free olduğu için uygulama 24 saat sonra çalışmaz hale gelmektedir. Bunla ilgili uyarıyı uygulamayı ilk çalıştırdığında aşağıdaki gibi alınır. Ama korkmayın uygulamayı kaldırıp tekrar kurunca hiç birbir sorunla karşılaşmadan 24 saat daha kullanılabilmektedir.

Screenshot_2014-12-08-23-07-44  scr  Screenshot_2014-12-08-23-08-08  Screenshot_2014-12-08-23-08-27

Uygulama ile ilgili örnek video aşağıdadır.

Görüldüğü gibi artık Visual Studio ile Cross Platform Android ve daha nice araç için kolaylıkla uygulama geliştirebilmekteyiz. Bu Microsoft ve biz geliştiriceler için yepyeni bir ufkun kapısını açmştır. Artık istediğimiz gibi Code First ile data modellerimizi oluşturup, Web Api ile Rest servisler yazıp, Azure üzerinden yayımlaya biliriz. Daha sonra mobile bir uygulama yazarak Azure üzerinden dönen sonuçları kolaylıkla listeleyebiliriz. Gerektiği zaman ilgili tabloya yeni bir kolon eklediğimizde Database katmanından, Mobil’e kadar olan süreçte nerde ise hiçbir değişiklik yapmadan yeni sonucları kolaylıkla görebiliriz. Buda tekbir çatı altında Cross Platform uygulama geliştirmenin ayrıcalıklı güzellikleri. Bir sonraki bölümde daha kapsamlı bir uygulama ile mobil telefonların diğer özelliklerini kullanacağız. Tüm kodları 2.Bölümde alabilirsinz.

Geldik bir makalenin daha sonuna.

Yeni bir makalede görüşmek üzere hoşçakalın.

Herkes Görsün:

Sevebilirsin...

57 Yanıt

  1. MURAT YUKSEL diyor ki:

    mudurum mobil uygulamalar uzerınde makalelerini dort gozle bekliyorum

  2. Bertan diyor ki:

    Merhabalar
    Elinize sağlık. İos içinde örnek bir uygulama yapmayı düşünüyor musunuz ?

    • borsoft diyor ki:

      Selam Bertan. Öncelikle teşekkürler, Ios için den ziayede yani Native bir uygulama yerine belki Xamarin Form ile hepsi için tekbir kod yazıp tüm platformlara uyarlayabiliriz.

      • mr.Bengi diyor ki:

        Xamarin’i indirdim, IOS için program yapmak istiyorum. Windows üzerine yükledim,
        şimdi sizin tavsiye ettiğiniz şekilde Xamarin Form oluşturacağım. Fakat birşey sormak istiyorum. Xamaric Form, Android bileşenleri üzerinde mi oluşturuluyor ? Önce Android üzerinde ya da http://www.xamarin.com/android-player ile test edip ondan sonra mı IOS’a yüklemeliyim ?

  3. HastaneBul diyor ki:

    Teşekkürler, devamını dört gözle bekliyorum :) Sitem için bir Android uygulama yapma planım var…

  4. Yücel diyor ki:

    Merhaba, elinize emeğinize sağlık. Harika bir paylaşım.
    Size bir konu hakkında danışmak isterim; merak ettiğim şudur ki, kullanmakta olduğunuz Xamarin hesabı acaba Business pack midir? Zira, Indie hesabı edindik, fakat Visual Studio extension’ı pakete dahil değil olarak gözüküyor ve ancak trial hesap başlatıp Visual Studio’da proje build edebiliyorum, o da malum evaluation halinde 24 saat geçerli bir executable veriyor. Xamarin’in bu paketleri hakkında bi aydınlatmada bulunabilirsiniz çok memnun kalırım. Teşekkür ederim.

    • borsoft diyor ki:

      Selam Yücel;

      Öncelikle şu anlık free kullanıyorum. Ve android için native uygulama geliştiriyorum. Bu makalede olduğu gibi Visual Studio’da Xamarin kullanmak istiyorsanız Indie Pack malesef yalnış bir seçim. Ama yakın zamanda seminerlerde Business Pack kullanıcağım. Free Pack’de 24 saat sonunda dediğiniz gibi uygulamayı yüklediğiniz mobil cihazınızda kullanamıyorsunuz. Ama kaldırıp birdaha kurarsanız bir 24 saat daha kazanıp uygulamayı bu şekilde sürekli kullanabilirsiniz. Free pack tamamen eğitim için ve Xamarin Form kullanamıyorsunuz. Sadece Nativ uygulama geliştirebiliyorsunuz. Halbuki paralı versiyonda Xamarin’de bütün platformlar için tek bir uygulama geliştirip, O tüm paltformlar için sizin application’ınızı derliyor.

      Umarım yardım edebilmişimdir. Makalenin devamı için önümüzdeki günlerde sitemi ziyaret etmenizi tavsiye ederim.

      İyi çalışmalar.

      • Yücel diyor ki:

        Hızlı ve tatminkar geri dönüşünüz için çok teşekkür ederim. Indie Pack’i üniversite kimliğim vasıtasıyla ücretsiz olarak edindim, bu konuda bizlere kolaylıklar sağlamaları harika. Bu halde, durumum itibariyle alabileceğimin en iyisi Indie Pack’in sağladıklarıdır diye düşünüyorum. Vaktinizden çokça çalmamayı ümit ederek, son bir soru daha sormak isterim (bu konuya hakim birini bulmak oldukça zor, bulmuşken şansımı zorlamak isterim:)), Indie hesap ile tamamen yetkin halde native bir android projeyi build etmek Xamarin Studio’da mümkün. Peki, Visual Studio’da geliştireceğim bir solution’ı Xamarin Studio’da açıp sadece android projesinin compile işlemini burada gerçekleştirmem bir çözüm müdür?

        Tekrardan teşekkür eder, iyi çalışmalar dilerim.

        • borsoft diyor ki:

          Selam Yücel;
          Öncelikle Indie Pack Visual Studio için gerekli dosyaları içermiyeceği için büyük ihtimalle free versiyonla geliştirdiğin projeyi derleyemiyecektir. Ama genede denemeye değer bir fikir olduğnu kabul etmek lazım:) Üniversitelere gittiğim bir seminerde öğrenci guruplarından birinden Indie Pack edinip derlemeyi deniyeceğim. Sonucu bildiririm.

          İyi çalışmalar.

  5. Hasan diyor ki:

    Merhabalar,
    Bizimde bunları deneyebilmemiz için ücretli xamarin hesabımız olması gerekiyormu ?

    • borsoft diyor ki:

      Hayır;
      Gerek yok. Ücretsiz olarak kullanabilirsiniz. Sadece telefona yükleyince, 24 saat sonra kaldırıp tekrar kurmanız gerekmektedir.

  6. Hakan Kara diyor ki:

    Selamlar,
    Verdiğiniz emeklerden dolayı teşekkür ederim, çok faydalı bir makale oldu benim için.
    Aşılması gereken ufak bir problem var sadece, olağan xamarin kurulumundan sonra güncelleme yapmadım belirttiğiniz gibi, fakat publish .apk durumu disable konumda uygulamayı telefona atamıyorum, versiyon farkındanmı kaynaklanıyor bu durum anlayamadım, her dakika güncelle geçirdiği için yazılımlar ilk aklıma gelen bu oldu. Sizin xamarin versiyonunuz nedir acaba?
    Saygılar..

    • borsoft diyor ki:

      Selam Hakan;
      Yorumun için teşekkürler. Debug’da derliyosundur. Release’e geçtiğinde herşey enable olacaktır.

      İyi çalışmalar.

  7. selim diyor ki:

    iyi günler ben yeni öğrenmeye çalışıyorum yardımcı olma sansınız var mı. Selimari19031994@gmail.com adresinden ulaşırsanız çok sevinirim.Programın kurulumundan mı bilmiyorum aynı şekilde yapmama rağmen hata veriyor.

    • borsoft diyor ki:

      Selam Selim;
      Öncelikle ne hata aldığını belirtirsen sana daha çok yardımcı olabilirim. Hatta screenshot daha açıklayıcı olabilir. Belki Xamarin tarafında, ben bu uygulamayı yazdığım zamandan sonra yeni bir güncelleme gelmiş olabilir.Bir de gerekli tüm izinleri verip vermediğini kontrol edermisin…
      Mail adresim bora@borakasmer.com

      İyi çalışmalar.

  8. mehmet diyor ki:

    İyi günler öncelikle paylaşımınız için teşekkür ederim.Soru belki biraz konu dışında olacak fakat mobile ‘ a yeni geçmiş olan c# web üzerine geliştirme yapmakta olan bir yazılımcıyım.Gerçek zamanlı ve kapsamlı bir proje yürütmek durumundayım ve bu projenin ios,android ve windows phone da çalışmasını istiyoruz . Sizce güvenlik ve kolay kodlama açısından apache cordova mı kullanılmalı yoksa xamarin mi ?

    • borsoft diyor ki:

      Selamlar Mehmet;
      Güvenlik konusunda 2 platformda güvenli. Ama kolay kodlama açısından Xamarin bana daha yakın geliyor. Ben genelde Xamarin Business paketi ile kod geliştiriyorum.

      İyi çalışmalar.

  9. mehmet diyor ki:

    Eklentiyi kuruyorum fakat android yeni blank proje başlattığımda
    Object not set to an instance of an object hatası veriyor tekrar kurdum vs resetledim vs vs düzelmedi. vs 2015 RC community kullanıyorum.

    • borsoft diyor ki:

      Selamlar Mehmet;

      Windows Control Pannel’den Programs and Features’a gel.
      Buradan Xamarin’i sağ tıkla ve Change’i tıkla.
      Next Yap.
      Bir daha Change’ı tıkla.
      Buradan Visual Studio 2015 tıklayarak onu da seç ve kurulumu sağla. Bu kadar.

      İyi çalışmalar.

  10. mehmet diyor ki:

    30 Haziran 2015, 14:49 tarihindeki mesaja yazdığın cevaba cvp yazıyorum tekrar. İlgin için teşekkürler ancak o dediklerini yaptığım halde olmadığı için buraya yazmıştım. Aynı hata. Belki xamarin yeni versiyon yükleniyor şu an siteden. sende eski setup varsa upload eder misin. teşekkürler.

  11. Berk diyor ki:

    Merhaba öncelikle çok güzel yazı olmuş teşekkür ediyorum. Ancak ben Xamarin’ i yüklerken 381. MB’ ta duruyor ve hata veriyor. İki kere denedim ikisinde de aynı hatayı aldım. Hatanın ekran görüntüsünü almadım ancak şöyle bir şeyden bahsediyordu: Xamarin bir bütün olarak yüklenememekte. Siz el ile kurulum yapabilirsiniz. Ancak el ile de kurulum yapılamıyor. Lütfen yardım eder misin? Hiçbir yerde çözüm bulamadım.

  12. siirsen diyor ki:

    “telefona yükleyince, 24 saat sonra kaldırıp tekrar kurmanız gerekmektedir.” demişsiniz. Android işletim sistemi yüklü bir tablet için uygulama yapmayı düşünüyorum. Xamarin’i kuruyorum şimdi. Uygulamamı yaptıktan sonra kullanacak kişiler için de mi geçerli bu 24 saat kuralı? Sonuç olarak uygulamayı dağıtabilmek için satın almak mı gerekiyor? Bu konuda da ayrıntılı bir yazı yazarsanız sevinirim. Örneğin bir ‘Hello Word’ uygulamasının Xamarin’de yapılıp ‘Google Market’de yayınlanmasına kadar yapılacak işlemleri paylaşırsanız sevinirim.

    • borsoft diyor ki:

      Selam Siirsen;

      Yazdığın kodlar ile uygulama yapıp satmak ister isen Xamarini satın almalısın. Deneme amaçlı olarak ücretsiz Xamarin ile geliştirdiğin bir uygulamayı android telefona apk dosyası olarak atıp kurar isen, yada ister isen store’a da apk’yı koyabilirsin 24 saat sonra kullanıcı uygulamayı telefonunda çalıştıramaz. Bunun için uygulamayı kaldırıp ilgili apk dosyasından tekrardan kurmalıdır. Burada amaç ücretsiz olarak kullanılan Xamarin uygulamasının android bir telefonda nasıl çalıştığının test edilerek görülmesidir. 24 saat sonra kullanılamamasında ki amaç tahmin edebileceğin gibi emeğe saydı Xamarin’in full sürümünün satın alınmasıdır.

      İyi çalışmalar.

  13. ertugrul diyor ki:

    hocam İyi Akşamlar Visual Studio ULtimate 2015 sürümü nerden indirdiniz Link Alabilirmiyim ????

  14. anıl diyor ki:

    merhaba ben “Önce Control Panel\Programs\Programs and Features’den Xamarin’i bulun. Sağ click ve change’ı tıklayın. Altta görüldüğü gibi Visual Studio 2015’i checkleyip onu da yükleyin.” dediğiniz yeri bulamadım

    • borsoft diyor ki:

      Selam Anıl;
      Cevabın geçliği için özür dilerim. Alttaki resim sorunun cevabıdır.

      İyi çalışmalar. Hoşçakal..
      Xamarin Install For Visual Studio 2015

  15. Büşra KURT diyor ki:

    Merhabalar yazınız için öncelikle teşekkür ediyorum. Bende şöyle bir sıkıntı oldu. Projeye sağ tıkladığımda Package TestAndroid for Android(.apk) çıkmıyor. Yerine export Android Package(.apk) çıkıyor. Buna bastığımda ise ;

    No -tsa or -tsacert is provided and this jar is not timestamped. Without a timestamp, users may not be able to validate this jar after the signer certificate’s expiration date (2045-09-20) or after any future revocation date.

    hatası alıyorum.

    • borsoft diyor ki:

      Selam Büşra;
      Öncelikle ben teşekkür ederim. Ben böyle bir sorun ile daha önce hiç karşılaşmadım. Hangi Visual Studio’yu kullanıyorsun. Sanırım Xamarin’in expire date ile ilgili bir sorun var. Bence Xamarin’i kaldır bir kere daha kur.
      İyi çalışmalar.

    • Altuğ Karakayalı diyor ki:

      bu adımları yapınca aktif olacaktır

      Change the build output log verbosity as follows: Visual Studio Tools menu –> Options –> Projects And Solutions –> Build and Run –> MSBuild Project Build Output Verbosity, set this to Detailed.

      Now check the Visual Studio Output window for any hints or more information regarding the cause of the error.

      Change the number of threads used by MSBuild to 1 as follows: Visual Studio Tools menu –> Options –> Project And Solutions –> Build And Run –> Maximum number of parallel threads : set this to 1.

  16. Emrah EVREN diyor ki:

    Merhabalar hocam, öncelikle paylaşımlarınız, yardımlarınız için size içten bir teşekkür etmek istiyorum.

    Benim sorun yaşadığım nokta tam olarak yukarıda Anıl arkadaşa anlattığınız kısım.
    Denetim masasından dediklerinizi aynen yapıyorum. Değiştir-change vs aynen uyguluyorum, resette atıyorum. Fakat açılışta gene aynı ekran geliyor, aklıma takılan yer şurası ” Daha sonra Xamarin’i bir kere daha yüklemek zorunda kalabilirsiniz. Her seferinde Visual Studio’nuzu restart etmeyi unutmayın. Bütün işlem bukadar. ” derken Xamarin’i tekrar mı indirip kurmam gerekecek? Zaten kurulu olanı onar yaptım işlemlerin ardından sorun hala devam ediyo, şu telefon ekranını görmekte sabırsızlanıyorum.
    Yardım ederseniz çok sevinicem. Paylaşamınızla karşılaştığım için çok seviniyorum.. Çok teşekkürler.

    • borsoft diyor ki:

      Selam Emrah;

      Öncelikle güzel yorumların için teşekkür ederim. Video’da söylediğim kısımdan sanırım bahsediyorsun. Yok oranın bu konu ile alakası yok. Videoda şunu demek istedim. Uygulamadan oluşan apk dosyasını android telefona atınca kendi yazdığın uygulamanın kurulum işleminden sonra 24 saat kullanabiliyorsun. Daha sonra Telefonundaki yazdığın uygulamayı uninstall edip apk dosyasını telefonuna tekrar kurmalısın. Xamarin’in free version’ını kullandığını düşünerek cevap veriyorum. Senin visual studio’da xamarin’in açılmaması tamamen xamarin ile register problemi. Büyük ihtimalle trailer süren dolmuştur. 30 günden sonra Xamarin sana bu ekranı karşına çıkarır:( Çözüm için student paket vermeleri amaçlı Microsoft aracılığı ile konuşuyoruz. Eğer sorun trailer süresi dolmuş işe yeni bir account ile xamarin’e tekrar üye olup yeni microsoft account’un ile visual studion’a login olup bir 30 gün daha kazanmandır. Şu an için başka çözüm yok.

      İyi haftasonları Emrah…

  17. Ugur Gul diyor ki:

    Merhaba Hocam,
    Visual Basic diline hakimim. Bu platform üzerinden yukarıda anlattığınız gibi android,ios için program oluşturabiliyormuyum.
    Teşekkürler.

  18. Ogun diyor ki:

    Elimde WP için bir uygulamanın kaynak kodları var(C#). Bunu nasıl Android uygulamasına çevirebilirim ? Gerekli düzenlemeleri VS ile xamain üzerinden nasıl yapabilirim ? Yardımcı olursanız sevinirim.

    • borsoft diyor ki:

      Selam Ogun.
      Direk code converter yok. Xamarin üzerinde tekrardan kodlama yapmanlazım. Xamarinin Librarylerini kullanman gerekiyor..

      Kolay Gelsin…

  19. Sedat Tiryaki diyor ki:

    Merhabalar…
    Hocam ben Visual Studio Community 2015 sürümünü kurulu ama bende New Project/İnstalled/Templates/Visual C# sekmesinde Blank App (Android) yok neden olabilir? Acaba kurulum yaparken eksik mi kuruldu?

  20. fatih diyor ki:

    merhaba kolay gelsin…
    xamarin in academic versiyonunu kurdum vs 2015 RCile birlikte … xamarin in kendi sitesinden yönergeleri takip ederek birseyler yapmaya calısacağim ama dakika bir : main.axml ekranına textbox ekledikten sonra 2. nesneyi ekleyemyorum ! form nesnesinin özellikleri vs de açılmıyor ? Yanlış yaptıgım birsey var kesin ama… yardımcı olabilirseniz çok memnun olurum

    • borsoft diyor ki:

      Selam Fatih;
      Aslında ekliyorsun ama üzerine yapışıyor. Çözüm şu makalemde: http://www.borakasmer.com/xamarin-ile-tasarim-desenleri-sayesinde-mobilde-profiller-arasi-gezinme/

      İyi çalışmalar.

      • fatih diyor ki:

        Teşekkur ederim… hallettim o problemi.
        Konuya hakim birini bulmuşken birkaç soru sormak istiyorum müsadenizle
        1- Simdi daha one C# da ufak tefek seyler yapmışlıgım var. Ben bunları xamarin ile android ortamına aktarmak istiyorum. Aynı isimlerde butonlar vs. açiip değişken isimlerine dikkat ederekten aynı programları olusturablmem mumkundur heralde ?ama timer yok :) onun yerine ne kullanıyoruz ?
        2. sorum ise benim xamarin programında hesabı trial olarak gösteriyor. log in diyorum academic versiyon olarak görülüyor. Aynı mail adres ikiside… Böyle olunca da 24 saatlik derliyor programı. Bu konuda yorumunuz var mi ? acaba academic versiyonda da trial gibi mi calisiyor diye düşündüm.
        teşekkurler simdiden.

        • borsoft diyor ki:

          Selamlar Fatih,
          1-)Timer işlemi için aşağıdaki gibi 5sn bekletip sonra methodu recursive olarak çağrabilirsin.

          public static async Task Sleep(int ms){
          await Task.Delay(ms);
          }
          await App.Sleep (5000);

          2-) Sanırım Academic versiyon içinde 24 saat’de bir tekrar kurman gerekiyor. Ben business kullanıyorum. O yüzden pek bilmiyorum..

          İyi çalışmalar.

  21. Altay diyor ki:

    Bora hocam merhaba, Xamarin’e bu videonuzla giriş yapmış oldum. Ancak bu örnekte bir sorunla karşılaştım. Numarayı girip Ara dediğimde ve AlertDialog ile gelen pencerede tekrar Ara dediğimde emülatördeki telefonda “Unfortunately, App2 has stopped.” uyarısı alıyorum ve uygulamam sonlanıyor. Emülatör çalışmaya devam ediyor. Hatanın çözümü olarak Properties’teki Android Options sekmesinde bulunan “Use Shared Runtime” kutucuğunu kaldırınca düzeliyor deniliyor ancak bende durum halen aynı..

    • borsoft diyor ki:

      Selamlar Altay,

      Sanırım ben arama işlemini Emülatörde değilde, uygulamayı S3 bir android telefona atıp denemiştim. Bu sorun daha çok izinlerle ilgili gibi gözüküyor. Required permission Call Phone’a izin vermeniz gerekmektedir.

      İyi çalışmalar.

  22. Ali diyor ki:

    Uzun zaman olmuş ama projei bende yapmaya çalıştım ve şöyle bir sounla karşılaştım umarım yardımınız dokunur.
    http://i.hizliresim.com/l1Rd1p.png

    • borsoft diyor ki:

      Selamlar Ali,

      phoneNumbers[] dizisi tanımlı gibi değil. Bu tanımlamayı yazdığına emin misin? “static readonly List phoneNumbers = new List();”

      İyi çalışmalar.

  23. Kaan diyor ki:

    Merhabalar,

    Xamarin üzerinden facebook gibi bir kapsamlı app yapılabilir mi ? Sistemin daha iyi çalışması için native kodlama mı daha iyi oluyor .

    • borsoft diyor ki:

      Selam Kaan,
      Evet yaplabilir. Bir kere kodla heryerde çalışın mantığı 100% çalışıyor. Sadece Xamarin’de native’de olduğu kadar esnek olamıyorsun. O da sadece IOS üzerinde birkaç istisna var..

      İyi çalışmalar.

      • Kaan diyor ki:

        Bilgilendirmeniz için teşekkür ederim. Fakat sizden ricam olacak bir sorun yaşıyorum önyükleyici üzerinde yardımcı olabilir misiniz. Hyper-v üzerinde internet dağıtma kısmında hata yaşıyorum. Bilgisayarımın bütün interneti kesiliyor. Hyper-v üzerindeki sanal makine de internet olmadığı için başlatılamıyor. İki hafta kadar sorunu çözmeyi denedim fakat hiç bir şekilde düzelmiyor. (Xamarin Emulator)

  24. ali diyor ki:

    sa
    abi ben apk ya çevirip telde görüntüleyebiliyorum ama visual studioda debug yapınca hiçbirşey gözükmüyor

  25. ali diyor ki:

    abi avd manager dan start deyince andorid yazısı çıkıyor ama debug dediğimde altta deploy faile diyor

  26. sesli chat diyor ki:

    teşekkürler kardeşim

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir