Buradasın
Flutter ile HTTP GET İşlemleri ve Personel Listesi Uygulaması Eğitimi
youtube.com/watch?v=vfF1inkH-9UYapay zekadan makale özeti
- Kısa
- Ayrıntılı
- Bu video, Yazılım Karavanından Ali Murat Çevik tarafından sunulan bir Flutter eğitim videosudur. Eğitmen, izleyicilere adım adım Flutter ile HTTP GET işlemlerinin nasıl yapılacağını ve personel listesi uygulamasının nasıl geliştirileceğini göstermektedir.
- Video, iki ana bölümden oluşmaktadır. İlk bölümde HTTP GET işlemlerinin Postman aracılığıyla test edilmesi ve Flutter uygulamasında uygulanması anlatılırken, ikinci bölümde personel listesi uygulamasının tasarım aşaması, veri alma ve gösterme işlemleri gösterilmektedir. Eğitmen, Quick Type kullanarak model dosyası oluşturma, HTTP paketini projeye ekleme, HTTP GET isteği atma, JSON verilerini pars etme ve ListView ile verileri görüntüleme işlemlerini detaylı şekilde açıklamaktadır.
- Videoda Flutter 20.40 versiyonu kullanılarak, HTTP 0.13 paketi ile API istekleri gerçekleştirilmekte ve verilerin gelene kadar ekranda ilerleme göstergesi gösterme çözümü de sunulmaktadır.
- 00:06HTTP GET İşlemleri ve User Servisi
- Video, HTTP GET işlemlerini göstermek amacıyla bir user servisini kullanıyor.
- User servisi, kullanıcı ismi, soyismi, e-posta ve ID bilgilerini döndürüyor.
- Bu tür işlemlerde genellikle Postman önerilir ve GET metodu seçildikten sonra servise istek atılır.
- 01:11Quick Type ve Model Oluşturma
- Quick Type, model dosyasını daha hızlı ve kolay bir şekilde oluşturmayı sağlar.
- Postman'dan dönen response kopyalanıp Quick Type'a yapıştırıldığında, Dart için otomatik olarak model dosyası oluşturulur.
- Bu video, Flutter 20.40 versiyonunda HTTP 0.13 paketi kullanılarak gerçekleştirilecektir.
- 02:10Flutter Projesi Oluşturma
- Temiz bir Flutter projesi oluşturulup gereksiz kısımlar temizleniyor.
- Uygulama yapısı itibariyle bir ListView'den oluşacak ve servis bağlantısı yapıldıktan sonra düzenlenecek.
- ListView içinde ListTile kullanılarak ad, soyad, profil resmi ve e-posta bilgileri gösterilecek.
- 04:05HTTP Paketi ve Model Dosyası
- HTTP işlemleri için gerekli paket projeye import edilmeli ve pubspec dosyasına kaydedilmelidir.
- Dönen class'ı yeni bir model dosyasına yapıştırmak yeterli olacak, büyük projelerde modeller için ayrı bir klasör açılabilir.
- URL'ler artık string yerine URL.parse() fonksiyonu kullanılarak tanımlanmalıdır.
- 06:14HTTP İstek Atma
- Future tipinde "callPerson" adında bir metod tanımlanarak HTTP işlemleri gerçekleştirilecek.
- Try-catch blokları kullanılması önerilir, aksi takdirde büyük sıkıntılar yaşanabilir.
- HTTP.get() metodu kullanılarak URL'ye istek atılır ve response üzerinden işlem yapılır.
- 09:12JSON Verilerini Pars Etme
- Model dosyasında "personFromJson" adında bir metod tanımlanarak JSON verileri pars edilir.
- Response'un body'si parametre olarak gönderilir ve model import edilir.
- Floating Action Button kullanılarak sayfa açıldığında veya refresh yapıldığında istek atılabilir.
- 11:03Verileri ListView'e Aktarma
- CallPerson metodu çağrıldığında dönen result üzerinden setState işlemleri yapılır.
- Counter değişkeni, API'den gelen verinin length'e kadar ayarlanır.
- ListView'de title ve subtitle kısımları dinamikleştirilerek avatar, email, first name ve last name bilgileri gösterilir.
- 14:59Personel Listesi Tasarımı
- Personel listesi için dinamik bir index oluşturuldu ve subtitle ile e-posta bilgisi basılacak.
- Background imaj yerine network imaj kullanıldı ve network imajın içerisi index avatar olarak ayarlandı.
- Floating action button için child icon olarak refresh konusu seçildi ve background color orange olarak ayarlandı.
- 16:36Tasarım İyileştirmeleri
- Soyad bilgisi eksik olduğu ve yazıların çok küçük olduğu için okunmayı zorlaştırdığı belirtildi.
- Title'ın sonuna boşluk bırakıldı ve lastik eklendi.
- Birden fazla text kısmı için aynı yazı tipi kullanılacaksa, bunları cons olarak tanımlamak daha iyi olacak.
- 17:45Yazı Tipi Stilleri
- Title style adında bir konsol olarak text style tanımlandı ve font size'ları değiştirildi.
- Subtitle style için font size 20 olarak ayarlandı.
- Email kısmı için de subtitle style kullanıldı.
- 18:54Veri Yükleme Gösterimi
- Veriler gelene kadar ekrana basacak bir şey olmadığı için kırmızı bir ekran verildiği belirtildi.
- Bu sorunun çözümü için list view'i döndürmeden önce null check yapılması önerildi.
- Counter null gelirse yükleniyor gibi bir ibare veya cycle progressi indikatör kullanılabilir.
- 19:59Projenin Özeti
- Basit bir personel listesi servise istek atarak gerçekleştirildi.
- Postmen'de kullanılacak servis test edildi ve gerekli testler yapıldı.
- Body kısmından dönen response ile Quick Type üzerinden model dosyası oluşturuldu ve HTTP paketi kullanılarak istekler gerçekleştirildi.