1-) FLUTTER - Genel Bilgiler
didUpdateWidget -> ovveride edersen onceki widgete erişirsin .
https://pub.dev/packages/device_info_plus/example
video udemy 171 den 282 ye atladım
logo tasarım için -> https://looka.com/explore
home: Scaffold(
resizeToAvoidBottomInset: false, // ekranı yan çevirdiğinde çıkabilecek hatayı önler
ÖNEMLİ
List<String> sehirler = ["Antalya", "Ankara", "İzmir","Bursa","İzmit"];
BU ŞEKİLDE BİR LİSTEN VAR VE WİDGETE DÖNÜŞTÜRMEK İSTİON
items: sehirler.map((e) => DropdownMenuItem(child: Text(e),value: e,),).toList()
BU ŞEKİLDE DÖNÜŞTÜREBİLİRSİN MAP İLE
import 'dart:math' as matematik;
kullanımı -> matematik.Random().nextInt(3).toString()
print("ramazanın'dersleri");
String isim = "dart";
print("$isim naber");
print("${isim.length} naber");
String isim;
String mesaj = isim ?? "veri çekilemedi"; //isim==null "veri çekilemedi" else isim
print(mesaj);
main(List<String> args) {
hesapla();
print("hesap = ${hesapla1(4, 5)}");
print("hesap = " + hesapla1(3, 4).toString());
print("hesap = " + hesapla2(3, 4).toString());
}
void hesapla() {
print("asd");
}
int hesapla1(int i, int k) {
return i * k;
}
int hesapla2(int i, int k) => i * k;
OPSİYONEL METOT KÖŞELİ PARANTEZ İLE
main(List<String> args) {
opsiyonel("aasdasd");
}
void opsiyonel(String a, [String b]) {
print(a);
print(b); // null yazar
}
PARAMETRİK SÜSLÜ PARANTEZ İLE AYRICA OPSİYONEL
main(List<String> args) {
parametrik(a: "asd");
}
void parametrik({String a,String b}) {
print(a);
print(b); // null döner
}
VARSAYILAN METOT DEĞERİ
main(List<String> args) {
varsayilan("asd");
}
void varsayilan([String a, String b = "as"]) {
print(a);
print(b); // "as" döner
}
TİLDA KULLANMAK ZORUNDAYIZ BU ÖRNEKTE
int sa = 12 ~/ 5;
print(sa);
void intE_cevirir() {
double sa = 13 / 5;
print((sa.toInt()).toString());
}
TRY CATCH KULLANIMI
main(List<String> args) {
try {
//int sonuc = 12 ~/ 0;
int s = int.parse("asd");
} on IntegerDivisionByZeroException {
print("sıfır hatası");
} catch (e, s) {
print(e); // hata tipini verir
//print(s); // hata ile ilgili genel bilgi verir trace
}finally {
print("işlem bitti");
}
}
LİSTE TANIMLAMA
List<int> myList = [];
myList.add(12);
myList.add(11);
myList.add(15);
print(myList[1]);
SABİT LİSTE TANIMLA VE VARSAYILAN OLARAK HER ELEMANA 9 DEĞERİNİ ATA
//List<int> liste = List(5);
List<int> liste = List.filled(10, 9);
print(liste[4]);
liste.forEach((element) => print(element));
DİNAMİK LİSTE
List<int> liste = List();
liste.add(123);
liste.add(22);
print(liste[1]);
list.clear();
FOREACH KULLANIMI LİSTEDEN ELEMAN SİLMEK
List<int> list = List();
main(List<String> args) {
list.add(15);
list.add(30);
list.add(15);
list.remove(15); // ilk gördüğü 15 i siler
yazdir();
list.removeAt(1); // 1. indexteki elemanı siler
yazdir();
}
void yazdir() {
print("**");
for (var item in list) {
print(item);
}
}
DİNAMİK LİSTENİN VARSAYILAN DEĞERLERİ İÇİN
main(List<String> args) {
List<int> list = [12, 44]; // dinamik listenin varsayilan değerleri
list.add(33);
for (int a in list) {
print(a.toString());
}
}
SET YANİ UNİQUE LİSTE -> unorder yani sırası karışık belirsiz. index ile ulaşamam
main(List<String> args) {
//Set<int> list = Set.from([1, 4, 2, 2]); // varsayilan tanim için
Set<int> list = Set(); // mesala 33 iki kere ekledem ama daha önceden olduğu için listeye kaydetmedi
list.add(33);
list.add(14);
list.add(33);
for (int a in list) {
print(a.toString());
}
}
ADDALL LİSTEYİ DİĞER LİSTENİN SONUNA EKLER
main(List<String> args) {
Set<int> list = Set.from([1, 2, 3, 4]);
Set<int> listdiger = Set.from([4, 5, 6]);
list.addAll(listdiger);
for (int a in list) {
print(a.toString());
}
}