iampawan / 30daysofflutter Goto Github PK
View Code? Open in Web Editor NEWLearn Flutter in 30 Days
Learn Flutter in 30 Days
In integration_test,inside app_test.dart it is showing the function run isn't defined....
That's why the system can't debug the app....
..
please suggest any solution
The function 'run' isn't defined.
Try importing the library that defines 'run', correcting the name to the name of an existing function, or defining a function named 'run'.
I am currently on chapter 25 of course 30days with flutter by mtechviral. My issue is as per your code, VxState.listen must work but to me its showing error.
The error is "The method 'listen' isn't defined for the type 'VxState'.
Try correcting the name to the name of an existing method, or defining a method named 'listen'."
Any help would be appreciated.
onPressed: () {
_cart.remove(_cart.items[index]) ;
setState() {} ;
},
g a
// this code is being applied but not removing the items from cart
I am having problem in this file.
textTheme: Theme.of(context).textTheme,
can't understand this line
VxBuilder(
mutations: {RemoveMutation},
builder: (context) {
return "\$${_cart.totalPrice}"
.text
.xl5
.color(context.theme.accentColor)
.make();
},
)
error messege: The argument type 'Widget Function(BuildContext)' can't be assigned to the parameter type 'Widget Function(BuildContext, dynamic, VxStatus?)'.dartargument_type_not_assignable
when I use if statement to validate talking about this if statement:
movetoHome(BuildContext context) async { if (_formKey.currentState!.validate()) { setState(() { changebutton = true; }); await Future.delayed(Duration(seconds: 1)); await Navigator.pushNamed(context, Myroutes.homeRoute); setState(() { changebutton = false; }); } }
items were not initialized -> initialized as empty list
static List<Item> items = List.empty();
required field missing in Item() constructor -> added required keyword
Item({required this.id, ....});
Null safety found missing in copyWith()
Item copyWith({ String? id ...
In factory fromMap() the line which checks map nullability throwing error -> commented
//if (map == null) return null;
In home.dart list was not mapping to model -> distributed into two assignments
List<Item> list = List.from(productsData)
.map<Item>((item) => Item.fromMap(item))
.toList();
CatalogModel.items = list;
after using dart class file generator as per the video, app tries to fetch the json file but it keeps loading and loading and unable to fetch the images and their related items
Hello Pawan,
I know this is not an issue, but I need your help, if we have a list of items of 2-3 pages with different JSON data, how we can manage the code of add to favourite, it will work with one list(one JSON data), when we go to another page with another JSON data it's not working. It's working one at a time with the list. Can you please suggest the code, how we can do this.
I use it with the F1 ,F3, F11 keys on my keyboard when I press them repeatedly. It will drop and go to work in the browser instead.
After change focus , Shortcuts keys are not working again.
For example :
Suppose that If we have TextField in the same screen and focus on the textField (or remove focus from the textField after get once focused on it) and using the same shortcut key for the same. Shortcut keys are not working again.
Thanks for making this tutorial series. These are classic 🚀
Day 12 : I'm not able to scroll down in the catalog app when we are adding 50 items
class HomePage extends StatelessWidget {
const HomePage({super.key});
@OverRide
Widget build(BuildContext context) {
// int days = 30;
// String name = "codepur";
final dummyList = List.generate(50, (index) => CatalogModel.items[0]);
return Scaffold(
appBar: AppBar(
title: Text("Catalog App",
),
),
body: Padding(
padding: const EdgeInsets.all(16.0),
child: ListView.builder(
itemCount: dummyList.length,
itemBuilder: (context, index) {
return ItemWidget(
item : dummyList[index],
I am such error while running after encoding json file
please help
this is my code
class CatalogModel {
static List items = [
Item(
id: 1,
name: "Monkey D. Luffy",
desc: "KING OF THE PIRATES",
price: 999,
color: "#ed1111",
image:
"data:image/jpeg;base64,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",
)
];
}
class Item {
final int id;
final String name;
final String desc;
final num price;
final String color;
final String image;
Item(
{required this.id,
required this.name,
required this.desc,
required this.price,
required this.color,
required this.image});
factory Item.fromMap(Map<String, dynamic> map) {
return Item(
id: map["id"],
name: map["name"],
desc: map["desc"],
color: map["color"],
image: map["image"],
price: map["price"],
);
}
}
I removed the first item which is added on catalog.dart . Logically if we see, it can be null so that we fetch data from network or json files. But after removing that first item. It shows an error.
class CatalogModel { static List<Item> items; }
Please review it once.
On line number 110: catalog.desc.text.textStyle(context.captionStyle).make(),
Got this issue: The argument type 'TextStyle?' can't be assigned to the parameter type 'TextStyle'.
I tried and fixed by:
catalog.desc.text.caption(context).make(),
Please review this also.
I guess the size problem comes from parent widgets. I tried using SingleChildScrolView but didnt work.
30DaysOfFlutter/lib/pages/login_page.dart
Line 65 in e7578cf
This does not work anymore, it gives an error
The property 'isEmpty' can't be unconditionally accessed because the receiver can be 'null'.
Similarly,
30DaysOfFlutter/lib/pages/login_page.dart
Line 16 in e7578cf
This also give error
The method 'validate' can't be unconditionally invoked because the receiver can be 'null'.
import 'package:first_app/utils/approutes.dart';
import 'package:flutter/material.dart';
class Login extends StatefulWidget {
@override
_LoginState createState() => _LoginState();
}
class _LoginState extends State<Login> {
String name = "";
bool changebtn = false;
final _formkey = GlobalKey<FormState>();
movetohome(BuildContext context) async {
if (_formkey.currentState!.validate()) {
setState(() {
changebtn = true;
});
}
// push to move to next route
await Future.delayed(Duration(seconds: 1));
await Navigator.pushNamed(context, Approutes.homeRoute);
setState(() {
changebtn = false;
});
}
@override
Widget build(BuildContext context) {
return Material(
color: Colors.white,
child: SingleChildScrollView(
child: Form(
key: _formkey,
child: Column(
children: [
Image.asset(
"assets/images/top.png",
fit: BoxFit.cover,
),
SizedBox(
height: 80.0,
),
Text(
"Welcome $name",
style: TextStyle(fontWeight: FontWeight.bold, fontSize: 28),
),
Padding(
padding: const EdgeInsets.symmetric(
vertical: 30.0, horizontal: 40.0),
child: Column(
children: [
TextFormField(
onChanged: (value) {
name = value;
setState(() {});
},
style: TextStyle(fontSize: 20),
decoration: InputDecoration(
hintText: "Enter username", labelText: "username"),
validator: (value) {
if (value!.isEmpty) {
return "Username cannot be empty";
}
return null;
},
),
TextFormField(
style: TextStyle(fontSize: 20),
obscureText: true,
decoration: InputDecoration(
hintText: "Enter password", labelText: "password"),
validator: (value) {
if (value!.isEmpty) {
return "Password cannot be empty";
} else if (value.length < 6) {
return "Password length should be atleast 6";
}
return null;
},
),
SizedBox(
height: 50.0,
),
Material(
color: Colors.pinkAccent,
borderRadius: BorderRadius.circular(changebtn ? 60 : 8),
child: InkWell(
splashColor: Colors.yellow,
onTap: () => movetohome(context),
child: AnimatedContainer(
duration: Duration(seconds: 1),
width: changebtn ? 60 : 160,
height: 60,
// styling
alignment: Alignment.center,
child: changebtn
? Icon(Icons.done)
: Text(
"Login",
style: TextStyle(
fontSize: 25,
color: Colors.white,
fontWeight: FontWeight.bold),
),
),
),
),
],
),
),
],
),
),
));
}
}
Hi, I wanna ask can we do like that the items which get added to the cart should still be visible in the cart after reopening the app with shared preferences ?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.