Android Material Switch

Bugün Android içerisinde “Material Design” ile açık kapalı durumlarını belirten “Switch” bileşenine göz atacağız. Buna girmeden önce “Material Design” ile ilgili daha fazla bilgi almak için https://material.io/guidelines/ sitesine göz atabilirsiniz ancak burada kod kısmıyla ilgili bilgi bulunmuyor. Yine bugün yapacağımız “Switch” ile ilgili bilgiyi de buradan alabilirsiniz.
Okumaya devam et Android Material Switch

Unity3D DLL Projesi Oluşturma

Bugün Visual Studio üzerinden bir DLL dosyası oluşturarak bunu Unity içerisinde kullanmaya bakacağız. Böyle bir şey kullanma sebebimiz ise paylaştığımız script dosyalarının içerisinde ki kodları okumalarını engellemek. Tabi bunun bazı dezavantajları da mevcut. Örneğin oluşturduğunuz projeyi Asset Store üzerinden satmayı düşünürseniz projeyi DLL olarak almaya kullanıcılar pek sıcak bakmıyorlar. Sebebi ise, her hangi bir hata durumunda projenin her hangi bir yerine müdahale edemiyorlar. Tabi diğer taraftan bazen bunu yapmak size güvenlik olarak katkı sağlayabiliyor. Örneğin Google reklam servisi olan Admob ‘u projeye dahil etmek isterseniz, bazı dosyaların DLL olarak geldiğini görebilirsiniz. Artık başlayalım.

Öncelikle bir Visual Studio projesi oluşturacağız. Yani Unity den bağımsız olarak Visual Studio’yu açalım. Buradan “File -> New -> Project” yolunu izleyelim. Ardından “Visual C# -> Class Library” seçelim.

Proje için isim, dizin ve “solution” ismini değiştirebilirsiniz.
Proje oluşturulduktan sonra “Solution Explorer” içerisinde “References” altında ki bütün kütüphaneleri siliyoruz.
Daha sonra sağ tıklayarak “Add Reference” seçiyoruz. Daha sonra “C:\Program Files (x86)\Unity\Editor\Data\Managed” dizini içerisinde “UnityEngine.dll” ekliyoruz. “OK” diyerek kapattıktan sonra artık “UnityEngine” kullanıma hazır durumda.
Şöyle toplama işlemi yapabileceğimiz küçük bir metot ekleyelim.

Artık “build” işlemi yaparak Unity içerisinde kullanmaya başlayalım.
Öncelikle “Solution Explorer” üzerinden projeye sağ tıklayarak “Properties” seçelim. “Target Framework” altında “Unity 3.5 .net full Base Class Library” seçeneğini seçerek kapatalım.
Şimdi “Solution Explorer” üzerinden projeye sağ tıklayarak “Build” seçelim. “Output” ekranında her hangi bir hata vermez ise projeyi oluşturduğumuz dizinde proje içerisinde “bin -> debug” altında “.dll” uzantılı bir dosya oluşacak.
Şimdi Unity her hangi bir proje açalım. Proje “Assets” klasörü altına yukarıda ki “.dll” uzantılı dosyayı sürükleyerek ekleyelim. Yeni bir C# “script” dosyası ekleyerek test işlemini yapalım.

Gördüğünüz gibi kütüphaneyi “using UnityTestDLL” diyerek projeye dahil ettik ve “Start” fonksiyonu içerisinde yeni bir “Test” sınıfı nesnesi oluşturarak toplama işlemini gerçekleştirdik.
Bir “Game Object” üzerine “script” dosyasını ekleyerek test edelim.

Teşekkürler, görüşmek üzere.

Kaynaklar;
https://docs.unity3d.com/Manual/UsingDLL.html
https://forum.unity3d.com/threads/compiling-c-scripts-to-dll-files.318803/

Unity3D Editor Log Kullanımı

Bugün Unity3D içerisinde çıktı aldığımız zaman dosya boyutumuzla ilgileneceğiz. Unity3D ile proje oluştururken “Asset Store” üzerinden veya farklı kaynaklardan proje içerisine bir çok “Asset” dahil etmiş olabiliriz. Bunların içerisinde çok fazla dosya olabilir ancak biz bunlardan birkaçını kullanabiliriz. Yani proje dosyamız gb boyutlarında olabilir ancak çıktı aldığımız zaman bu boyut mb olabilir. Bunun en temel sebebi, Unity3D dosyaları çıktı dosyası içerisine eklerken tamamen projeyi eklemek yerine kullanılan ve o kullanılan dosyaya gerekli dosyaları ekliyor. Hatta bunun yanı sıra bazı sahneler oluşturmuş olabiliriz ve bu sahneleri “Build Settings” altında eklemediysek onları da çıktı dosyası içerisine eklememekte. Böylelikle çıktı dosyamızın boyutu küçülüyor.
Okumaya devam et Unity3D Editor Log Kullanımı

Android Retrofit Kütüphanesi ile Post İşlemi

Bir önceki yazımızda web servis ile iletişim kurmak adına Android üzerinde “Volley” kütüphanesi ile “post” işlemine bakmıştık. Dilerseniz buradan okuyabilirsiniz. Bugün de benzer işlemi yapan açık kaynaklı olarak geliştirilen “Retrofit” kütüphanesine bakacağız.
Okumaya devam et Android Retrofit Kütüphanesi ile Post İşlemi

Android Volley Kütüphanesi ile Post İşlemi

Bugün Android “Volley” kütüphanesi ile bir sunucuya veri yollayarak gelen veriyi parçalama işlemine bakacağız. Bu işlemi kütüphane kullanmadan “AsyncTask” üzerinde de yapmak mümkün ancak işleri daha kolaylaştırmak adına popüler kütüphanelerden olan “Volley” ile yapacağız. Bunun için imdb üzerinden en çok izlenen 5 filmi alarak küçük bir web servis kısmını yazdım. Tabi siz web tarafında veri tabanı ile işlemler yaparak farklılaştırmanız mümkün. Bunun için öncelikle Php kodlarını ekleyeyim. Test etmek isterseniz alt tarafta Java içerisinde Url adresi ile kullanabilirsiniz.
Okumaya devam et Android Volley Kütüphanesi ile Post İşlemi

Android Callback Kullanımı

Bugün Android üzerinde Java ile birlikte “Callback” ile yapısına bakacağız. Bununla birlikte birer tane “Runnable” ve “Handler” yapılarını örnek içerisinde kullanacağız. Bunlardan önce “Callback” kavramı nedir sorusunu yanıtlayalım. Kısaca, bir metodu çağırdıktan sonra bir süre sonra çağırdığımız yere tekrar dönmesidir. Örnek ile birlikte daha kolay anlayacağımızı düşünüyorum.
Öncelikle “Utils.java” adında yeni bir sınıf oluşturuyoruz. Ardından bir tane “interface” yazmamız gerekiyor. Bu “interface” içerisinde geri dönüşler için “override” edilecek metotları tanımlıyoruz. Sonra bir tane “static” olarak “countdown” adında metot yazıyoruz. Bu metot parametre olarak “Callback interface” ve bir tane tamsayı değeri alsın. Kısaca “static” metot demek o sınıfa ait nesne oluşturmadan metodu çağırabilmemiz anlamına gelmektedir. Ardından metot içerisinde “Handler” ve “Runnable” kullanarak bir tane geri sayım işlemi yapan yapı oluşturuyoruz. Oluşturduğumuz bu yapı aşağıdaki gibi oluyor. Zaman bittiği zaman ise öncelikle “Callback” içerisinde ki metodu çağırıyoruz ve ardından “countdown” işlemini tekrarlamak için “postDelayed” metodunu çağırıyoruz.

Şimdi “MainActivity.java” içerisinden çağırma kısmına geçelim.
Bahsettiğimiz gibi “static” olarak tanımladığımız için bir nesneye ihtiyacımız yok. Bunun için “Utils.coundown()” şeklinde içerisine parametreler vererek çağırabiliriz. Parametre olarak ise ilk önce “Callback” sınıfının bir nesneni, daha sonra kaçtan geriye sayacağını söylüyoruz. Burada dikkat etmemiz gereken bir şey daha var, zaman için milisaniye cinsiden değer almakta yani 1000 ile saniye çarpımı şeklinde yolluyoruz.

Log ekranının ekran görüntüsünü verelim.

Görüldüğü gibi her 5 saniye de bir kere “onEndTime” metodu içerisine giriyor.
Teşekkürler, görüşmek üzere.

Android ButterKnife Kütüphanesi Kullanımı

Bugün Android içerisinde “ButterKnife” kütüphanesinin kullanımına kısaca bakacağız. Kütüphane, kısaca XML tarafında yerleştirdiğimiz bileşenlere ait Java tarafında daha az kod yazarak kullanmamızı sağlıyor. Bunu yaparken de “annotation” kullanmaktadır. Biraz daha detaylı olarak örnek bir kod üzerinde bakalım.
Öncelikle “gradle” içerisine kütüphane eklemesi yapalım. “App” altında “build.gradle” içerisinde ki “dependencies” içerisine kütüphaneyi ekliyoruz.
Okumaya devam et Android ButterKnife Kütüphanesi Kullanımı

Android Calligraphy Kütüphanesi ile Font Değiştirme

Bundan önce ki yazımız da Java içerisinde tek tek “TextView” üzerinde font değiştirmeye bakmıştık. Bunu yapmak için “Assets” klasörü oluşturmaya bakmıştık. Bu yazımızda “Assets” klasörü oluşturma kısmını atlayacağım. Dilerseniz buradan inceleyebilirsiniz. Bu yazımızda ise “Calligraphy” kütüphanesi ile uygulamamızda varsayılan yazı tipini ve XML içerisinde font değiştirmeye bakacağız.
Okumaya devam et Android Calligraphy Kütüphanesi ile Font Değiştirme

Android Özelleştirilmiş Font Ekleme

Bu yazımızda Android içerisinde farklı yazı tiplerini kullanmaya bakacağız. Yeni bir proje oluşturduktan sonra ilk olarak proje içerisine “assets” klasörü eklememiz gerekmekte. Bunun için Android Studio içerisinde “File -> New -> Folder -> Assets Folder” yoluyla klasör oluşturalım.
Okumaya devam et Android Özelleştirilmiş Font Ekleme

Unity3D ile 2D Geliştirmede Ekran Boyutlandırması

Bugün Unity3D içerisinde 2D olarak oyun geliştirirken oyun içerisinde “Sprite” yapılarının her cihazda aynı şekilde görüntülenmesine bakacağız. Genel olarak Android cihazların sayısı oldukça fazla. Bununla birlikte birbirinden farklı ekran çözünürlükleri kullanılıyor. Bu demek oluyor ki, bir oyun yapmaya başladığımız zaman oyunumuz farklı ekran çözünürlüklerinde oynanacak. Örneğin oyunda bir arka plan için bir “Sprite” koyduğumuzda her cihazda yatay ve dikey olarak kaplamasını isteyebiliriz. Yani ekranın sağında ve solunda boşluklar olması ya da altında veya üstünde boşlukların bulunması istenmeyen bir durum oluyor.
Okumaya devam et Unity3D ile 2D Geliştirmede Ekran Boyutlandırması