CodeBlanks Logo Icon CodeBlanks

Proje iskeleti

Todo uygulamasının iskeletini ve veri modelini kurarsın.

Todo modeli

Todo uygulamasında her görev bir Todo nesnesiyle temsil edilir. Bu nesne genellikle bir title ve done alanı içerir; title görev metnini, done ise tamamlanıp tamamlanmadığını tutar. Görev listesi List<Todo> olarak tutulur ve ListView.builder ile ekranda gösterilir.

class Todo {
  String title;
  bool done;
  Todo({required this.title, this.done = false});
}

ListView.builder ile gösterme

Görev listesini göstermek için ListView.builder kullanırsın. itemCount listesinin uzunluğunu, itemBuilder ise her satırı oluşturur. Her satır genellikle bir ListTile içerir ve title özelliğine Text widget'ı verilir.

ListView.builder(
  itemCount: list.length,
  itemBuilder: (context, index) {
    return ListTile(
      title: Text(list[index].title),
    );
  },
)

Uygulama Todo modelini tanımla

Todo adında bir sınıf yaz; title (String) ve done (bool, varsayılan false) alanlarını ve kurucu metodunu içersin. main içinde 'Alisveris' başlıklı bir Todo oluştur ve title değerini print ile yazdır.

Başlangıç kodu

main.dart
import 'package:flutter/material.dart';

// Todo sinifi yaz: title ve done alanlari
// main icinde bir Todo olustur ve title'i yazdir

void main() {
  // Todo olustur
}

Örnek çözüm

main.dart
import 'package:flutter/material.dart';

class Todo {
  String title;
  bool done;
  Todo({required this.title, this.done = false});
}

void main() {
  final t = Todo(title: 'Alisveris');
  print(t.title);
}

Beklenen çıktı

Alisveris

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Todo modelinde hangi alanlar tipik olarak bulunur?

  • width ve height
  • x ve y
  • title ve done Doğru cevap
  • color ve size

Açıklama: Todo modelinde title görev metnini, done ise tamamlanma durumunu tutar; color, size, width, height, x, y tipik Todo alanları değildir.

2 Todo sınıfına constructor ekle

Soru
class Todo {
  String title;
  bool done;
  ____({required this.title, this.done = false});
}
Cevap
class Todo {
  String title;
  bool done;
  Todo({required this.title, this.done = false});
}

Açıklama: Todo sınıfının kurucu metodunun adı sınıf adıyla aynı olmalıdır: Todo. List, Map ve String farklı türlerdir ve constructor adı olamaz.

3 Todo uygulaması parçaları

Kavram Anlamı
Todo Görev modeli
ListView.builder Listeyi çizen widget
title Görev başlığı
done Tamamlanma durumu

Başlangıç bölümündeki tüm dersler