flutter kursundaki e-ticaret uygulaması hata veriyor.

Kodla Büyü

sertokus

Süper Üye
Süper Üye
Mesajlar
2,350
Arkadaşlar ebadaki bölüm 15 ve 16 nın başında anlatılan kodum aşağıdaki hatayı veriyor.
Kodlarda hata yok bildiğim kadarı ile .
Engin hocanın yaptığı hatayı da düzeltmeme rağmen yine hata aldım.
Öncelikle şu resimdeki hatayı alıyorum. Öğrenerek gitmeyi istiyorum ama. Bu hatayı gideremeden de kaldım burda. İlerleyemiyorum. Emilatör de de telefonda da aynı hatayı alıyorum.


https://drive.google.com/file/d/1__oCRnXX8sFWaTFpgVboX7G1wUzCxinr/view

upload_2020-5-29_16-10-42.png
-------------------------------------
main.dart
https://pastebin.ubuntu.com/p/qxTsqBsgvb/

UrunListesi.dart

https://pastebin.ubuntu.com/p/RyC48wTQ26/


Urun.dart

https://pastebin.ubuntu.com/p/hBB3MFMPxf/


dbHelper.dart

https://pastebin.ubuntu.com/p/zF6mRGT6TB/
 
Son düzenleme:
UrunListesi() yapıcısının return ettiği değer nedir? Ya bir widget ya da widget listesi olmalı. UrunListesi() yapıcısının yer aldığı sınıfı paylaşabilirseniz daha rahat yardımcı olunur diye düşünüyorum.
 
Son düzenleme:
Birde burada sonuna iho diye bişey koymuş. Bunu ben eklemedim . Hocanın anlattığında bu [iho] yazan yer yok.


upload_2020-5-29_12-27-14.png
 
Son düzenleme:
Yukarıda paylaştım hocam . Bakabilirseniz sevinirim
Hocam, test klasörünü silerek hot restart yapabilir misiniz? Kodlarınızda hata yoksa çalışacaktır diye tahmin ediyorum. Kodlarınızı https://pastebin.ubuntu.com/ üzerinden paylaşırsanız. Yardımcı olmak isteyenler için okuması ve incelemesi daha kolay olur diye düşünüyorum. Burada girintiler olmadan gerçekten çok zor oluyor. Benim takip ettiğim tutoriallardan gördüğüm kadarıyla gereksiz olan klasörlerden bir tanesi test.
 
Hocam, test klasörünü silerek hot restart yapabilir misiniz? Kodlarınızda hata yoksa çalışacaktır diye tahmin ediyorum. Kodlarınızı https://pastebin.ubuntu.com/ üzerinden paylaşırsanız. Yardımcı olmak isteyenler için okuması ve incelemesi daha kolay olur diye düşünüyorum. Burada girintiler olmadan gerçekten çok zor oluyor. Benim takip ettiğim tutoriallardan gördüğüm kadarıyla gereksiz olan klasörlerden bir tanesi test.
hocam bu sitede flutter ya da android studio gibi bir dil bulamadım hangisini seçmem gerekiyor .
 
Hocam, test klasörünü silerek hot restart yapabilir misiniz? Kodlarınızda hata yoksa çalışacaktır diye tahmin ediyorum. Kodlarınızı https://pastebin.ubuntu.com/ üzerinden paylaşırsanız. Yardımcı olmak isteyenler için okuması ve incelemesi daha kolay olur diye düşünüyorum. Burada girintiler olmadan gerçekten çok zor oluyor. Benim takip ettiğim tutoriallardan gördüğüm kadarıyla gereksiz olan klasörlerden bir tanesi test.
Hazır hocam.

Test klasörünü sildim ve Hot start yaptım. Sonuç yine aynı

tekrar yeni bir sayfada temizden çalıştırdım. Teste de hata vermiyordu.
Hatta ilk içıldığında kırmızı alandaki hatayı vermiyor. Bembeyaz bir sayfa çıkıyor. Sonradan çalıştırırsam kırmızı alandaki hatayı veriyor emilatörde.

İlginiz için teşekkürler
 
Son düzenleme:
Hocam statefulWidget oluştururken elle yazmayın. stf yazdğınızda stful çıkıyor direk entere basın sizin için oluşturuyor zaten sadece isim vereceksiniz.Aşağıdaki bölümleri yazdığım gibi düzeltin sonra tekrar bakın hata olursa düzeltelim.


class UrunListesi extends StatefulWidget {
@override
UrunListesiState createState() => UrunListesiState();
}

class UrunListesiState extends State<UrunListesi> {
 
Hazır hocam.

Test klasörünü sildim ve Hot start yaptım. Sonuç yine aynı

tekrar yeni bir sayfada temizden çalıştırdım. Teste de hata vermiyordu.
Hatta ilk içıldığında kırmızı alandaki hatayı vermiyor. Bembeyaz bir sayfa çıkıyor. Sonradan çalıştırırsam kırmızı alandaki hatayı veriyor emilatörde.

İlginiz için teşekkürler
Hocam, main.dart içerisinde veritabanına yeni veri ekleme yapmak için oluşturduğunuz satırları yorum satırı haline getirmişsiniz düzeltiniz. Ama başka bir hata daha var anladığım kadarıyla. Çünkü; ekleme yapmıyor.
 
Hocam statefulWidget oluştururken elle yazmayın. stf yazdğınızda stful çıkıyor direk entere basın sizin için oluşturuyor zaten sadece isim vereceksiniz.Aşağıdaki bölümleri yazdığım gibi düzeltin sonra tekrar bakın hata olursa düzeltelim.


class UrunListesi extends StatefulWidget {
@override
UrunListesiState createState() => UrunListesiState();
}

class UrunListesiState extends State<UrunListesi> {

hocam dediğiniz gibi yaptım. ama yine sonuç değişmedi. sizin satırlarınızın arasını emrahsayan olarak belirttim. StatefulWidget ile yorumunuzu anlamadım hocam. Zaten kendim yazmam kolay kolay. Bir hata mı gördünüz. Bana aynı gibi geldi.

upload_2020-5-29_18-11-34.png
 
Son düzenleme:
Hocam, main.dart içerisinde veritabanına yeni veri ekleme yapmak için oluşturduğunuz satırları yorum satırı haline getirmişsiniz düzeltiniz. Ama başka bir hata daha var anladığım kadarıyla. Çünkü; ekleme yapmıyor.

evet hocam bilerek yaptı kurstaki hoca. Bir kere buradan veri ekliyoruz yorum satırını kaldırıp. Veri tabanı boş kalmasın diye.
Tekrar geri kapatıyoruz. Yorum satırını.
Ama buradaki verileri ekler eklemez hata veriyor yine.
 
evet hocam bilerek yaptı kurstaki hoca. Bir kere buradan veri ekliyoruz yorum satırını kaldırıp. Veri tabanı boş kalmasın diye.
Tekrar geri kapatıyoruz. Yorum satırını.
Ama buradaki verileri ekler eklemez hata veriyor yine.
Görseldeki hatanın sebebi, veri eklememiş olmanız. Yorum satırını kaldırınca ise verileri ekleyemediği için hata veriyor hocam. İlginç biçimde veri tabanında "ad" alanı yok diyor.
 
205.satırdaki koddda hata var .Olmayan bir kaydı text e eklemeye çalışıyor.O bölümün fotoğrafını atar mısınız?Veritabanınızda kayıt var mı?
 
205.satırdaki koddda hata var .Olmayan bir kaydı text e eklemeye çalışıyor.O bölümün fotoğrafını atar mısınız?Veritabanınızda kayıt var mı?
Peki hocam 205. Satırı nasıl bulurum. Çünkü her bir dart sayfasında yaklaşık 60 satır kod var en fazla. Kodları yukarıda paylaşmıştım hocam. Sırası ile
 
pardon hocam text widget classında 205 sayfa ama o seninle ilgili değil.Sen veriyi text e yazdırmaya çalışırken hata alıyorsun. Ürünler sayfasında veriyi getirmişsin urunler diye ama ListviewBuilder oluştururken veriyi göstermemişsin.

Örnek vereyim.

return Container(
child: FutureBuilder<List<Urun>>(
future:urunler,
builder: (BuildContext context, AsyncSnapshot<List<Urun>> snapshot){
if (!snapshot.hasData){
return Center(child:Text('Henüz kayıtlı siparişiniz yok'));
} else {
return ListView.builder(
itemCount: snapshot.data.length,
itemBuilder: (context, index){
Urun urun = snapshot.data[index];

return Padding(
padding: const EdgeInsets.only(top:1,bottom:2),
child: Card(
elevation: 2,
child:Column(
children: <Widget>[
ListTile(
title:Text(urun.title),
subtitle: Text(urun.description),
leading: Icon(Icons.outlined_flag, color:Colors.blue),
trailing: IconButton(
onPressed: (){
completedUpdate(urun.complete, urun.id);
},

diye devam ediyor.
 
Son düzenleme:
pardon hocam text widget classında 205 sayfa ama o seninle ilgili değil.Sen veriyi text e yazdırmaya çalışırken hata alıyorsun. Ürünler sayfasında veriyi getirmişsin urunler diye ama ListviewBuilder oluştururken veriyi göstermemişsin.

Örnek vereyim.

return Container(
child: FutureBuilder<List<Urun>>(
future:urunler,
builder: (BuildContext context, AsyncSnapshot<List<Urun>> snapshot){
if (!snapshot.hasData){
return Center(child:Text('Henüz kayıtlı siparişiniz yok'));
} else {
return ListView.builder(
itemCount: snapshot.data.length,
itemBuilder: (context, index){
Urun urun = snapshot.data[index];

return Padding(
padding: const EdgeInsets.only(top:1,bottom:2),
child: Card(
elevation: 2,
child:Column(
children: <Widget>[
ListTile(
title:Text(urun.title),
subtitle: Text(urun.description),
leading: Icon(Icons.outlined_flag, color:Colors.blue),
trailing: IconButton(
onPressed: (){
completedUpdate(urun.complete, urun.id);
},

diye devam ediyor.

Görseldeki hatanın sebebi, veri eklememiş olmanız. Yorum satırını kaldırınca ise verileri ekleyemediği için hata veriyor hocam. İlginç biçimde veri tabanında "ad" alanı yok diyor.

await db.execute("Create table $tblUrun($colId integer primary key, $colAd text,$colAciklama text" , $colFiyat int); olan kodu
await db.execute("Create table $tblUrun($colId integer primary key, $colAd text, $colFiyat int),$colAciklama text"); şeklinde düzelttim.
Sıralama hatası yapmışım. sorunun bir tanesini buldum hocam. ama hata devam ediyor.
 
Son düzenleme:
Hocam FutureBuilder ın içinde Listview Builder kullanacaksın.
Hocam açıkcası acemi olduğum icin pek o kadları anlamadım. ve nasıl entegre edeceğim konusunda kafam karıştı.
Birde kurstaki hocanın kodu çalıştı. Bu da çalışması gerek diye aklımda bir düşünce olduğu için sanırım fazla değiştirip kafamı karıştırmak istemedim .

2 tane hatamı buldum ve güncellemelerini konudaki linklerde yaptım. 2. hatam
this._fiyat=double.tryParse(o["fiyat"].toString()); kodunda o harfini unutmuşum onu koydum .
Ama sanırım hala hatalarım var.

Birde hocam ilginç şekilde fiyat ve aciklama kısmının altını çiziyor.


upload_2020-5-29_21-19-57.png


main.dart
https://pastebin.ubuntu.com/p/qxTsqBsgvb/

UrunListesi.dart

https://pastebin.ubuntu.com/p/RyC48wTQ26/


Urun.dart

https://pastebin.ubuntu.com/p/hBB3MFMPxf/


dbHelper.dart

https://pastebin.ubuntu.com/p/zF6mRGT6TB/
 
await db.execute("Create table $tblUrun($colId integer primary key, $colAd text,$colAciklama text" , $colFiyat int); olan kodu
await db.execute("Create table $tblUrun($colId integer primary key, $colAd text, $colFiyat int),$colAciklama text"); şeklinde düzelttim.
Sıralama hatası yapmışım. sorunun bir tanesini buldum hocam. ama hata devam ediyor.
Ben direk düzelttiğim için(REAL yaptığım için) size yazmayı unutmuşum. fiyat double veri tabanında INT alanına kaydetmeye çalışıyorsunuz. Belki otomatik kaydolur(olsa bile gerçek bir uygulamada veri kaybı olacağı kesin) ama emin olamadığım için ben düzelttim uzun zamandır sql ile uğraşmıyorum. Birde int den sonra gelen parantez kodunuzdada varsa hata üretecektir.
 
Son düzenleme:
Arkadaşlar ebadaki bölüm 15 ve 16 nın başında anlatılan kodum aşağıdaki hatayı veriyor.
Kodlarda hata yok bildiğim kadarı ile .
Engin hocanın yaptığı hatayı da düzeltmeme rağmen yine hata aldım.
Öncelikle şu resimdeki hatayı alıyorum. Öğrenerek gitmeyi istiyorum ama. Bu hatayı gideremeden de kaldım burda. İlerleyemiyorum. Emilatör de de telefonda da aynı hatayı alıyorum.

Ekli dosyayı görüntüle 66513
-------------------------------------
main.dart
https://pastebin.ubuntu.com/p/qxTsqBsgvb/

UrunListesi.dart

https://pastebin.ubuntu.com/p/RyC48wTQ26/


Urun.dart

https://pastebin.ubuntu.com/p/hBB3MFMPxf/


dbHelper.dart

https://pastebin.ubuntu.com/p/zF6mRGT6TB/
hocam lınkı verebılır mısınız e tıcaret uygulamasının
 
Geri
Üst