Internal Linked Hash Map nasıl parçalanır?

Internal Linked Hash Map nasıl parçalanır?

Internal Linked Hash Map (_InternalLinkedHashMap) nasıl parçalanır anlatacağım bu yazıya hoşgeldiniz. Firebase üzerinde Liste biçiminde tutulan verileri okuduğunuz zaman karşılaşacağınız bu veri tipi aslında bir HashMap’tir. Bu HashMap parçalanırken Dart’ın Map sınıfı kullanılır. docSnap.data()’nın tuttuğu veri şöyle bir şey: Bu veri tipi parçalanırken bir Map<String,dynamic> biçimine çevrilir. Map’in value kısmı dynamic olduğu için her türlü veri tipini tutabilir. Eğer veri daima Array olarak gelecekse, Map’in field key’ini kullanarak value’yu bir List…

Flutter’da HTML dosyası WebView olarak nasıl açılır?

Flutter’da HTML dosyası WebView olarak nasıl açılır?

Flutter uygulamalarında HTML dosyaların veya HTML response’ların nasıl uygulama içerisinde WebView olarak açıldığını ele alacağım bu yazıya hoşgeldiniz. Bu yazıda anlatacağım yöntemle beraber asset olarak eklediğiniz HTML dosyayı WebView’da gösterebilir ayrıca bir HTTP isteği sonucunda dönen response’un HTML dosya olması neticesinde nasıl bir aksiyon alınır anlatacağım. Flutter’da HTML dosyaları ve HTML veri içeren değişkenleri WebView olarak kullanıcıya göstermek için öncelikle WebView paketini uygulamamıza ekleyelim. Daha sonra asset olarak bir HTML dosyası…

Ekşi Sözlük kullanıcı entrylerini web scraper ile çekmek

Ekşi Sözlük kullanıcı entrylerini web scraper ile çekmek

Ekşi sözlük, gündemin hızlı aktığı ve binlerce kullanıcı tarafından yorumlandığı, aynı zamanda niş bir konu hakkında detaylı bilgilerin elde edilebildiği veya o konu hakkında bilgi paylaşımı yapılabilen text tabanlı bir sosyal ağdır. Ekşi Sözlük, popülaritesinin artmasıyla beraber üçüncü parti Ekşi Sözlük uygulamalarını da ortaya çıkardı. Şükela Reader, EkşiCep gibi uygulamaların Ekşi Sözlük resmi uygulamalarının yerini tutmasıyla, Sözlük API gereksinimi günden güne arttı. Her ne kadar Ekşi Sözlük resmi API hizmeti sunmasa…

‘Flutter/Flutter.h’ file not found çözümü

‘Flutter/Flutter.h’ file not found çözümü

Flutter/flutter.h file not found hatasının basit bir çözümünü yazacağım bu yazıda bu hatanını neden kaynaklandığını ve çözümü için nasıl bir yaklaşım izleyebileceğinizi anlatacağım. Genellikle stackoverflow üzerinde pod init, pod install, rm podfile.lock gibi komutların sırayla yapılıp bu hatanın çözülebileceğini ve iOS buildini alabileceğinizi düşünürsünüz. Öncelikle tavsiye edilen bazı adımları tekrarlayalım: Birinci çözüm: İkinci çözüm: Üçüncü çözüm: Tüm çözümler tükendiyse ya? Bu durumda probleme yakından bakmamız gerekiyor ve logları okumamız gerekiyor. Hatanın…

SingleChildScrollView nedir?

SingleChildScrollView nedir?

SingleChildScrollView, Flutter üzerinde sayfaların, widgetların kaydırılabilir olmasını sağlayan basit bir widgettır. Genellikle Column ve Row gibi birden çok child widgeta sahip widgetların sayfaya sığmaması durumunda sayfayı kaydırılabilir yaparak widgetların sıkışmamasını sağlar. SingleChildScrollView widgetı hem vertical (yukarıdan aşağıya) hem de horizontal (sağdan sola) şekilde çalışabilir. Default olarak Axis.vertical olarak gelir. Bir kaydırılabilir Scaffold örneğini inceleyelim: Öncelikle SingleChildScrollView widgetının sayfa üzerinde yerleşebilmesi için bir Size’a ihtiyacı vardır. Tüm sayfanın kaydırılabilir olması için Scaffold…

EVDS döviz kurları API kullanımı

EVDS döviz kurları API kullanımı

Elektronik Veri Dağıtım Sistemi (EVDS) üzerinden döviz kurlarını çekmek için öncelikle EVDS üzerinde bir hesap açıp API key edinmeniz gerekiyor. Türkiye Cumhuriyeti Merkez Bankası’nın günlük güncellediği döviz kuru bilgileri aynı zamanda geçmişe doğru da uzanıyor ve bu verilerle beraber istatistiksel hesaplamalar da yapılabiliyor. EVDS Verileri EVDS üzerinde hangi para birimlerinin sistemde kayıtlı olduğuna dair bir bilgi göremedim. Bu yüzden tüm döviz kurlarını tek tek elimle çıkarttım ve string olarak bir listeye…

Flutter API kullanımı ve JSON parçalama

Flutter API kullanımı ve JSON parçalama

Flutter uygulamalarında API (Application Program Interface) kullanımı konusuna ve API servislerinden dönen JSON tipindeki verilerin nasıl parçalandığına dair bilgilendirici ve cheat sheet tarzı bir yazıya hoşgeldiniz. Seçeceğim API kaynağını Public-APIs isimli kaynaktan buluyorum. Burada istediğiniz konuya dair ücretsiz API hizmetlerini bulabilirsiniz. Dummy veriler ile uğraşacağımız bu yazıda küçük bir uygulama için kolları sıvayalım. Hazırlık Projemizi oluşturalım ve uygulamamızın içerisine http paketini ekleyelim. VS Code kullanıyorsanız eklentiler kısmından “cas van luijtelaar” isimli…

Supabase: Firebase alternatifi

Supabase: Firebase alternatifi

Supabase’i tanıyalım Supabase, Firebase alternatifi olan bir backend servisi. Firebase alternatifi olarak öne çıkıyor olsa da veritabanı yapısı olarak NoSQL yerine SQL tercih ediyor. Birçok özelliği Firebase’den daha gelişmiş olan Supabase’in yapabildiği birçok şey var. Authentication, Database ve Storage hizmetlerinin yer aldığı serviste resmi Javascript client kütüphanesi barındırıyor. Fakat bir Flutter developer olarak ihtiyacım olan Dart paketi idi ve ekip tarafından geliştirilen Supabase Flutter kütüphanesini buraya bırakıyorum. 🙂 Supabase sizin için…

Flutter inAppPurchase entegrasyonu [Android]

Flutter inAppPurchase entegrasyonu [Android]

Flutter uygulamalarında uygulama içi satın alma nasıl entegre edilir anlatacağım bu yazıda yalnızca Android için olan kısmı konu alacağım. Bir sonraki yazımda ise doğal olarak iOS tarafını ele alacağım. 🙂 Yazılan uygulamalarda premium satışı, harcanabilir ürünlerin satışı (uygulama içi kredi, puan vs.) ile geliştiriciler gelir elde edebilir. Ayrıca harcanamayan ürünlerle (reklamları kaldır, premium satın al vs.) ile de gelir elde edilebilir. Apple tarafında dört farklı satın alma tipi olmasına rağmen Android…

Flutter Keys nedir? Nasıl kullanılır?

Flutter Keys nedir? Nasıl kullanılır?

Flutter’da bulunan, state yönetimi ve objelerin yönetimini sağlayan keys, Flutter widgetlarının ID’sidir. Stateless ve Stateful başta olmak üzere tüm widget tiplerinin sahip olduğu bir niteliktir. Başlangıçta çok işinize yaramasa da ilerleyen zamanlarda kompleks UI elementleriyle, animasyonlarla çalışırken ihtiyacınızın olacağı bir sınıftır. Yazının devam eden kısımlarında key, anahtar olarak bahsedilecektir. Anahtarlar, liste tipi widgetların elementlerini yeniden düzenlemek için kullanılır. Bu düzenleme setState ile yapılabilir fakat her insert/remove gibi operasyonlarda devasa büyüklükteki bir…

Flutter’da Firebase ile Auth işlemleri

Flutter’da Firebase ile Auth işlemleri

Flutter 2’nin çıkışıyla beraber Flutter öğrenilmeye ve sektör tarafından benimsenmeye başlandığı şu günlerde muhtemelen eskiye nazaran daha çok kişi Flutter ile ilgili döküman arıyor, Stackoverflow’da geziyor ve pub.dev üzerinden paketleri inceliyor. Bu çoğalan ilgiden, Firebase de nasibini alacaktır ve Firebase gibi servislerin geliştiriciler arasında daha da popüler olacağını tahmin edebiliyorum. Bu yüzden Firebase ile ilgili yazılarıma devam etmem gerekiyor ve bugünün konusu Authentication işlemleri. Firebase’de mail ile kayıt olmaktan tutun, cep…

Dart web server oluşturmak [Rehber]

Dart web server oluşturmak [Rehber]

Dart programlama dili ile web server oluşturmayı konu alacağım uzun soluklu yazıma hoşgeldiniz. Okumaya başlamadan önce çayınızı, kahvenizi hazırlayın. Dart programlama dilinin temelinden itibaren yola çıkacağımız bu yazıda bazı kütüphaneleri de beraberinde kullanarak bir web server nasıl oluşturulur, nasıl deploy edilir elim döndüğünce anlatacağım. 🙂 Dart diline bir bakış Dart programlama dilinin asıl kullanım amacı nedir? Dart, kendi websitesinde de belirttiği üzere bir client optimized programlama dilidir. Peki bu ne anlama…