Kotlin Dersleri 3 - Diziler

Kotlin Dersleri 3 – Diziler (Arrays)

Merhaba arkadaşlar.

Bu yazımızda Kotlin dilinde ki diziler konusuna bakacağız. Kısaca dizileri tanımlamak gerekirse; aynı tipten veriyi bir arada saklayan veri yapılarına denir. Boyutları sabittir ve değerleri değişebilirdir.

Kotlinde birden fazla dizi oluşturma yöntemi vardır. Bunlardan ilkine bakarak başlayalım.

Aşağıdaki tanımlama yöntemleri ile çeşitli diziler oluşturduk.

// Integer tipinde uzunluğu 10 olan bir dizi oluşturduk. 
// Başlangıç değeri olarak tüm elemanlarına hepsine 0 atadık.
val intArray = Array<Int>(10){0}
// String tipinde 10 elemanlı bir dizi oluşturduk.
// Başlangıç değeri olarak hepsine boş string atadık.
val stringArray = Array<String>(10){""} 
    
val doubleArray = Array<Double>(5){1.0}

arrayOf yöntemiyle dizi oluşturma

// arrayOf kotlin içinde bulunan bir başka dizi oluşturma metotudur.
val chars = arrayOf('A','B','C') 
// istersek arrayOf içerisine dizi tipini belirtebiliriz.
val ints = arrayOf<Int>(1,2,3) 

Kotlin üzerinde bulunan diğer yöntem ise primitive typeler için hazırlanmış özel metotlardır.
Bu tip tanımlamalarda initial value vermemize gerek yoktur. Performans olarak daha hızlı çalışmaktadırlar. Bu metotlardan bazıları; IntArray(), ShortArray(), LongArray()…

Continue reading

Kotlin Dersleri 2 – Değişkenler

Merhaba arkadaşlar.

Bu yazımızda Kotlin dilinde ki değişken tiplerine bakacağız. Aslında hemen hemen her dilde bulunan değişken tiplerinin hepsi Kotlinde mevcuttur.

Şimdi 1. dersimizde oluşturduğumuz projemizi açarak devam edelim.

Basitçe veri tiplerini listelemek gerekirse;

  • Byte
  • Short
  • Int
  • Long
  • Float
  • Double
  • Char
  • Boolean
  • String

İlk olarak String değişkeninden başlayalım. Projemizde fun main() içerisine aşağıdaki gibi string değişkenleri tanımlayalım.

Continue reading
Kotlin Dersleri 1 - Giriş

Kotlin Dersleri 1 – Giriş

Merhaba arkadaşlar,

Bu eğitim serisinde basitçe Kotlin diline giriş yapacağız. Bir yandan kendim öğrenirken bir yandan da blogumda paylaşma kararı kaldım. Öncelikle Kotlin dili nedir buna bir göz atalım.

Kotlin; java virtual machine(JVM) üzerinde çalışan bir programlama dilidir. Java’nın kullanıldığı tüm alanlarda kullanılabilir.(Web ve mobil programlama ve dahası). Kotlin dilinde geliştirme yapmak için bilgisayarımızda JDK yüklü olması lazım. Ayrıca Kotlin OOP bir programlama dilidir ve neredeyse en az hata alınacak şekilde geliştirilmesi yapılmaktadır. Örneğin NullPointerException hatasını önlemek için güzel bir altyapı geliştirilmiştir.

Bu eğitim serisinde (ne kadar bir seri olur emin değilim) Kotline basitçe giriş yapacağız ve android programlama üzerine yoğunlaşacağız. IDE olarak Intellij IDEA kullanacağım. Android Studio üzerinden de kotlin projesi oluşturabilirsiniz. ( Intellij IDEA https://www.jetbrains.com/idea/download/ )

Şimdi IDE’mizin yüklü olduğunu varsayarak basitçe bir kotlin projesi oluşturalım. Intellij IDEA üzerinde “Create New Project” seçeneğine tıklayarak proje oluşturma işlemine başlayabiliriz.

Continue reading
Ohrid Gölü

Makedonya Gezisi

Selam arkadaşlar.

Geçtiğimiz günlerde ufak bir Makedonya turuna çıktım. Makedonya’nın tarihi ve kültürel özellikleri bizim ülkemize çok benzerdir.

Ohrid şehrindeki aynı isimli Ohrid Gölü, ülkenin olağanüstü bir geçmişi ve şaşırtıcı doğal güzelliklerinden sadece bir tanesi. Ohrid Gölü‘nü bu kadar özel yapan şey ise şaşırtıcı derece temiz ve berrak olmasıdır. Ohrid Gölü, 1979 yılında UNESCO Dünya Mirasları Listesi’nde yerini almış.

Ohrid Gölü
Ohrid Gölü

Continue reading

Android ve ASP.NET ile Proje Geliştirmek Bölüm 5 – SON

Merhaba arkadaşlar.

Bu bölümde MVC API projesinde OneSignal kodlarımızı yazacağız. API projemizi açarak kodlarımızı yazmaya devam edelim.

Projemize Services isimli bir klasör oluşturalım ve içerisine OneSignalSender.cs adında bir class açalım.

OneSignalSender.cs
OneSignalSender.cs

OneSignalSender classımıza NotifySend adında bir void metod oluşturalım ve içerisine random veritabanımızdan ingilizce kelime çeken metodumuzu yazalım. Sonrasında çektiğimiz kelime ile OneSignalClient ile bildirim oluşturalım.

 public void NotifySend()
{
            Random rand = new Random();
            DailyEnglishDBEntities entity = new DailyEnglishDBEntities();

            int toSkip = rand.Next(0, entity.Words.Count());

            //Random kelime çekiyoruz.
            var word = entity.Words.Where(x => x.IsUsed == false).OrderBy(x => x.Name).Skip(toSkip).Take(1).First();

            
            var client = new OneSignalClient("ONESIGNAL_CLIENT_ID");

            //Bildirim oluşturuyoruz.
            var options = new NotificationCreateOptions();

            //OneSignal üzerinde oluşturduğumuz Application IDSİ
            options.AppId = Guid.Parse("APP_ID");
            options.IncludedSegments = new List<string> { "All" }; // Tüm kayıtlı cihazlara bildirim gidecek.
            options.Contents.Add(LanguageCodes.English, word.Name); // Veritabanından çektiğimiz kelimeyi gönderiyoruz.
            options.Data = new Dictionary<string, string>();
            options.Data.Add("word", word.Name); // Key-Value olarak kelimemizi ekliyoruz. İsterseniz "word" kısmını kendinize göre düzenleyebilirsiniz
            client.Notifications.Create(options);
}

Continue reading

Android ve ASP.NET ile Proje Geliştirmek Bölüm 4

Merhaba arkadaşlar.

Bu bölümde MVC API projesinde Hangfire ve OneSignal kurulumlarını yaparak gerekli kodlarımızı yazacağız. Dersin ilk başlarında oluşturduğumuz API projesini açarak devam edelim.

Visual Studio üzerinde Package Manager Console kullanarak gerekli yüklemeleri yapacağız. Package Manager Console açık değilse aşağıdaki resimden adımları izleyerek aktif edebilirsiniz.

1. Adım Package Manager Console

Package Manager Console açtıktan sonra sırasıyla aşağıdaki kodları yazarak kurulum işlemlerimizi yapıyoruz.

Install-Package Hangfire
Install-Package OneSignal.CSharp.SDK

2. Adım Hangfire Kurulum
2. Adım Hangfire Kurulum

 

3. Adım OneSignal Kurulum
3. Adım OneSignal Kurulum

 

Kurulum işlemlerimizden sonra projemize bir tane Startup.cs oluşturmamız gerekiyor. Bunu oluşturmamızın sebebi içerisine Hangfire için gerekli kodları yazacağız.

 

4.Adım Startup.cs Oluşturma
4.Adım Startup.cs Oluşturma

Karşımıza çıkan dosya tiplerinden OWIN Startup class‘ı seçerek işleme devam ediyoruz. Class adının Startup.cs olduğuna dikkat ediniz.

 

5.Adım Owin Startup
5.Adım Owin Startup

Startup.cs dosyamızı oluşturduğumuz zaman karşımıza aşağıdaki gibi bir kod yapısı gelecektir.

6. Adım Startup Dosyası
6. Adım Startup Dosyası

Continue reading

Android ve ASP.NET ile Proje Geliştirmek Bölüm 3

Merhaba arkadaşlar.

Bu bölümde OneSignal üyeliği alarak android uygulamamızda ilk kurulumu yapacağız. İlk iş olarak onesignal.com adresine girerek bir üyelik açmanız gerekmektedir. Üyelik işlemlerini tamamladıktan sonra sisteme giriş yapıyoruz ve karşımıza “Add a new App” yazılı bir seçenek geliyor. Ona tıklayarak uygulamamıza bir isim vermemiz gerekmektedir. Uygulamamıza DailyEnglishSignal ismini vererek Create butonuna basabiliriz.

1. Adım Uygulama Oluşturma
1. Adım Uygulama Oluşturma

2. Adım İsim Vermek
2. Adım İsim Vermek

Bu adımlardan sonra OneSignali hangi platformda kullanacağımızı soruyor. Biz Android ile kullanacağımız için Google Android (GCM) seçeneğini seçtikten sonra bir sonraki adım için Next butonuna basıyoruz.

3. Adım Platform Seçimi
3. Adım Platform Seçimi

Karşımıza çıkan bir sonraki adımda Google Server API Keylerini bizden girmemizi istiyor. Bu ekranı kapatmadan yeni bir sekmede işlemlerimize devam edelim.

4. Adım Google Key Oluşturmak
4. Adım Google Key Oluşturmak

Continue reading

Android ve ASP.NET ile Proje Geliştirmek Bölüm 2

Merhaba arkadaşlar.

Bugün projemize ASP.NET ve SQL Server taraflarından başlayacağız.

İlk iş olarak SQL Server Management Studio üzerinden bir veritabanı oluşturalım. Localhost bağlantımıza login olduktan sonra Databases klasörüne sağ tıklayarak New Database seçeneğine tıklıyoruz.

1. Adım Veritabanı Oluşturma
1. Adım Veritabanı Oluşturma

Veritabanına DailyEnglishDB ismini vererek OK butonuna tıklıyoruz ve veritabanımız sol tarafta Databases klasörü altında gözükmeye başlıyor.

2. Adım Veritabanı İsim Verme
2. Adım Veritabanı İsim Verme

 

Sol taraftaki pencereden veritabanımızın yanındaki + işaretine basarak genişletiyoruz ve Tables klasörüne sağ tıklayarak yeni bir tablo oluşturma penceresini açıyoruz. Continue reading

Android ve ASP.NET ile Proje Geliştirmek Bölüm 1

Merhaba arkadaşlar.

Bugün sizlerle beraber bir android uygulama geliştireceğiz. Bunu yaparken de Android Studio, ASP.NET API, Hangfire ve OneSignal teknolojilerini kullanacağız. Bu eğitim serisinde beraber hem Android geliştirmeyi hemde ASP.NET ile proje geliştirmeyi öğreneceğiz. Proje boyunca yazacağımız kodlar da aklınıza takılan yada böyle yapılsa daha iyi olur dediğiniz yerleri yorum atarak bildirebilirsiniz.

Bu bölümde proje hakkında bilgiler verip gerekli olan programları verdiğim linklerden indirebilirsiniz. İkinci bölümde projeyi kodlamaya başlayacağız. Continue reading