Lottie ile Hareketli Splash Screen Yapımı

Merhabalar,

Xamarin ile uygulamalar geliştirirken Lottie paketine denk gelmişsinizdir. Genel olarak Lottie, after effects ile hazırlanmış olan animasyonları, Bodymovin eklentisi ile .json formatına çevirerek mobil uygulamalarınızın kullanımına sunuyor.

İlk iş olarak Xamarin.Android ve Xamarin.iOS için Lottie eklentisini yüklememiz gerekiyor.

Xamarin.Forms uygulamalarınızdaki sayfalarınızda kullanmak için de Xamarin.Forms paketi var.

Yeni bir Xamarin.Forms projesi açtıktan sonra Xamarin.Android için gerekli nuget paketinin yükleme işlemini gerçekleştirdim. Daha sonra splash screen için kullanacağımız layout, activity ve style işlemlerini yapmamız gerekiyor.

<RelativeLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <com.airbnb.lottie.LottieAnimationView
        android:id="@+id/xamarinview"
        android:layout_width="wrap_content"
 															

Devamı


Xamarin Uygulamalarınız için Spotify API Kullanımı

Merhaba,

Bu örneğimizde Xamarin ile geliştirdiğimiz mobil uygulamalarımızda Spotify API kullanarak, Spotify üzerinde oluşturduğumuz playlistlerimize ve detaylara ulaşacağız.

Öncelikle https://developer.spotify.com/dashboard/applications adresinde yeni bir uygulama yaratmamız gerekiyor. Daha sonra Spotify API docs inceleyerek önce auth ve token işlemlerini yapacağız sonrasında ise playlist ve şarkı işlemlerine geçeceğiz.

Spotify uygulaması kullanarak yaptığınız tüm işlemleri bu API docs içerisinde bulabilir ve kendi uygulamalarınıza entegre edebilirsiniz. Bu örneğimizde sadece auth ve playlist işlemleri yapılacak.

Spotify’ın Android ve iOS kütüphaneleri mevcut fakat ben örneği API kullanarak geliştireceğim.

Authorization

Spotify temelinde tüm işlemler için bir token istiyor. Bu token’ı üretmemiz için de tüm işlemlerden önce auth konusunu halletmemiz lazım.

    public class AccountService : HttpHelper, IAccountService
    {
     															

Devamı


Xamarin.Forms AutoTextCompleter

Sizlerle kendi yazdığım ufak bir control’u paylaşacağım.

Control’e liste verildikten sonra, yapacağınız aramalara göre uyumlu item’ları listeleyecektir. Hadi biraz control’den bahsedelim.

AutoTextCompleter

Her şeyden önce detaylı bilgi ve örnek projeyi görmek istiyorsanız Github üzerinden bakabilirsiniz.

  • İstediğiniz tipte liste verebilirsiniz.
  • Oluşturulan listedeki hangi property’i açılan listede göstermek istiyorsanız “NamePath” property’sini tanımlamanız gerekir. (autotextcompleter.NamePath = “Name”)
  • Tekli veya çoklu seçim yapabilirsiniz.
  • Item seçilirse “ItemClicked” event’ı tetiklenecektir. Bu event bize item’ı ve itemindex’ini geri döndürecektir.
  • SelectionMode property’si “Single” ise selecteditem property’si ile direk seçilen item’ı alabilirsiniz yada Multiple ise seçtiğiniz item’ları liste halinde geri alabilirsiniz.
  • ItemTemplate property’si sayesindede seçilen item’ların görüntüsünü istediğiniz şekilde değiştirebilirsiniz.

ItemTemplate

Sadece View yapıları desteklemektedir.

Nuget üzerinden RisePlugin yazarak indirebilirsiniz.

 

Özetle önemli olan kısımlar bunlar.

Devamı




Xamarin AutoComplete Input – Customization

Merhaba,

Bu yazımda geliştirmeye başladığımız AutoComplete Input kontrolünün özelleştirilmesiyle ilgili ihtiyaçlarımızı çıkartıp, kontrolümüze ek özellikler eklemeye çalışacağım.

İhtiyaçlar

  • Sadece List<String> tipinde değil, AutoComplete Input’a istediğim tipte liste gönderebilmeliyim.
  • Aramaya başlamasını istediğim karakterden sonra başlatabilmeliyim.
  • Seçili objenin değerine ulaşabilmeliyim.

Devamı


Xamarin AutoComplete Input – Binding Data

Merhaba,

Önceki yazımda Forms katmanında nasıl Android AutoCompleteTextView kullanacağımızı anlatmıştım. Bu yazımda ise, AutoComplete Input içerisindeki datayı Forms tarafından nasıl göndereceğimizi anlatacağım.

İhtiyacımız çok net! AutoCompleteEntryRenderer sınıfımızdaki ArrayAdapter oluşturma kısmına veriyi Forms katmanında taşımak, ama nasıl? AutoCompleteEntryRenderer sınıfımızdaki Names String Array’i yerine Forms katmanındaki bir datayı BindableProperty yardımıyla taşıyabiliriz.

BindableProperty Xamarin.Forms içerisinde özel bir tiptir. BindableProperty sayesinde istediğimiz bir Xamarin.Forms kontrolüne ihtiyaç duyduğumuz bir özellik ekleyebiliriz.

Devamı


Xamarin AutoComplete Input

Merhaba,

Genelde Xamarin kullanarak mobil uygulama geliştirmeye başladığımızda bazı durumlarda platform spesifik kod geliştirmemiz gerekebiliyor. Forms katmanının desteklemediği bir özellik veya bluetooth bağlantısı gibi.. Bu gibi durumlarda Android ve iOS spesifik (CustomRenderer, DependencyService) geliştirme yapmak yerine Forms katmanında veya 3th party paketler kullanarak hızlı bir şekilde çözmeye çalışıyoruz. Forms katmanında çözmek en son tercihiniz olsun 🙂

3th party paketlerde de karşımıza belli başlı firmalar ve o firmaların geliştirdiği kontroller çıkıyor. Fakat en ufak bir bug’ı 3 ay beklediğimiz zamanlar da oldu (Tamamen kendi tecrübem) Çok uzun bir zamandır 3th party kullanmayı bıraktım ve kendi ihtiyaçlarımı tamamen Android ve iOS katmanlarında yazıyorum .(Belirli bir süre sonra elinizde çok fazla custom tool olacaktır) Xamarin %100 API desteği verdiği için Android ve iOS projelerinin tüm hakimiyeti de bende oluyor!

Bu örneğimizde Xamarin.Forms projelerimiz için AutoCompleteEntry yapacağız.

Devamı


ASP.NET Core API Versioning

Merhabalar,

Geliştirdiğimiz mobil uygulamalarımızda web api konusu en az uygulama kadar önemlidir. Çünkü mobil uygulamalarımızın dış dünya ile haberleşmesini API katmanları ile sağlarız. Bu blog yazımda sizlere ASP.NET Core ile geliştirdiğimiz API projelerimizde versiyonlamayı nasıl yapacağımızı anlatacağım.

Detaylı bir şekilde ASP.NET Core ile API geliştirme video anlatımı yolda 🙂

API versioning, API katmanımızın güvenliği ve kod kalitesi gibi kavramları kadar önemli bir nokta. Çünkü geliştirdiğimiz uygulamaların isterlerini versiyonlayarak yönetmek bize birçok noktada rahat bir development alanı sağlayacaktır ve eğer dökümantasyon yapıyorsak hizmet verdiğimiz son kullanıcılar için de güzel bir kılavuz olacaktır. Konumuz “API Projelerimizi Versiyonlamanın Önemi” olmadığı için kısa geçiyorum fakat konunun ayrı bir blog-post serisi olması gerektiğini de eklemek isterim 🙂

Devamı