I have had a mentor for every programming language, library or framework I have learned in my life. From now on you are my Flutter Mentor. As Assassin's say, "I accept you as my Mentor."
for all those people asking how to display current users data only . just chnage two things. remove this ( final user= FirebaseAuth.instance.currentUser!;) instead write this(User? user = FirebaseAuth.instance.currentUser;). after that inside ur function change ur collection and write this ( await FirebaseFirestore.instance.collection('listof').where('email', isEqualTo: user?.email).get().then( (snapshot) => snapshot.docs.forEach((document) { print(document.reference); docids.add(document.reference.id); }), ); ) . after this u will get one error. right click oh the error and change and it will give u an option to add null.. add that and this willget current user data on the basis of email.
I got to say, This is the best tut I have seen. I would by your udemy course if you had one. The way you explain things is awesome. Never understood listview builders until now. Tomorrow I am going to check out the how to implement firebase and how to get the data out. Thanks again brother. Liked and subscribed!
For people who are getting and issue with adding users to the collection, Just update your collection rules with this : allow read; allow write: if request.auth != null; , this way you can access the collection data (read/write) if the user is authenticated!!
Mitch, did you notice on (CRUD)📱Read & Display Data... when we save the get_user_name.dart or home_page.. list_view and list tiles getting duplicated and building up a huge list unless we hot reload.. do you know which widget is rebuilding over and over again up on save?
solved it, just add docIDs.clear() before each id is added inside the getDocId() method as follows: Future getDocId() async { await FirebaseFirestore.instance.collection('users').get().then((snapshot) { docIDs.clear(); // this clears the list when hot reloading snapshot.docs.forEach((document) { docIDs.add(document.reference.id); }); }); }
hey, can you make a video on how to get data of only the current user instead of everyone in the database, if we wanted to make a profile page, then we would want to display data of the current user only
I actually kind of have figured it out what you need to do is create a collection using the email id or username of the user depending on your app everytime any user creates an account and then return that collection in the app
for all those people asking how to display current users data only . just chnage two things. remove this ( final user= FirebaseAuth.instance.currentUser!;) instead write this(User? user = FirebaseAuth.instance.currentUser;). after that inside ur function change ur collection and write this ( await FirebaseFirestore.instance.collection('listof').where('email', isEqualTo: user?.email).get().then( (snapshot) => snapshot.docs.forEach((document) { print(document.reference); docids.add(document.reference.id); }), ); ) . after this u will get one error. right click oh the error and change and it will give u an option to add null.. add that and this willget current user data on the basis of email.
You're one of the best teachers of Flutter there is! I have a question...let's say you wrapped the List Tile in a Gesture Detector and when you clicked it, it brought you to a new page to display that List Tile information (name, age, etc of that particular user). How would you fetch and display that info on the new page? I have not been able to get an answer anywhere on this. Thanks for your help!
Hi, Whenever I reload the app, the retrieved data displays repeatedly. If I restart the app shows the data in a single time. But once reload the app it shows the same data 3 times. How can we resolve this kind of issue?
solved it, just add docIDs.clear() before each id is added inside the getDocId() method as follows: Future getDocId() async { await FirebaseFirestore.instance.collection('users').get().then((snapshot) { docIDs.clear(); // this clears the list when hot reloading snapshot.docs.forEach((document) { docIDs.add(document.reference.id); }); }); }
Hi, Mitch! Your lessons are very helpful!!! Thank you! I have a question: - Can you please tell me how you can refer to user data by ID, for example I have two tables 'Users' and 'Posts' and I need an authorized user to be able to add and see only his added data and other users see only their data.
Update: I used .where() in the part of the code around 4:00 Here are my screenshots so you can see it better imgur.com/a/fR66YZB Edit: Might not be the optimal solution since I'm still just learning flutter and firebase but I hope it helps!
For that you will need to use the .where(). The code below worked for me User? currentUser = FirebaseAuth.instance.currentUser; await FirebaseFirestore.instance.collection('users').where('email', isEqualTo: currentUser?.email).get()...
if you want more then one data in your listview builder List docid=[]; List userprofilelist=[]; _feach() async { final firebaseUser = await FirebaseFirestore.instance.collection("doctorcollection").get(). then((snapshot) => snapshot.docs.forEach((element) { docid.add(element.data()); userprofilelist.add(element.reference.id); }),); after that you can use it like => docid[index]["name"]
why everyone is showing data in a list view but not using particular field, like use name only from a particular document? is it not possible in firestore?
What is your android studio version? What is your flutter version? Language level? Because I want to add the flutter pluggin to my projectand the classpath line on the build gradle file
1:25 erm please can you do a tutorial on how to display a current user to the drawer I’ve been trying this for over months now but can’t seem to get it please I’ll appreciate if you do thank you 2:39
Hey mitch is there a way to display the sub collection of a collection, like if the user collection has a sub collection of his/her friends then how can I display them on the screen
Thank you for the amazing explanation, but I have an issue as I'm new to programming, how can I return one name, without the list...😅 for example hello name
Hey man, great videos! I have a situation: Instead of naming the collection 'users' I'm using the name 'owners', and now I'm getting duplicated docIds with the getDocId Future, even though my Firebase DB does not reflect duplicate data. Any idea of what couldbe causing this behavior? Thanks!
Yeah I have the same trouble every time I hot reload it adds to the global list. Because every time it adds the data from fire base on top of what has been added to the list. How can I get the data without saving it to a list?
solved it, just add docIDs.clear() before each id is added inside the getDocId() method as follows: Future getDocId() async { await FirebaseFirestore.instance.collection('users').get().then((snapshot) { docIDs.clear(); // this clears the list when hot reloading snapshot.docs.forEach((document) { docIDs.add(document.reference.id); }); }); }
Hi man, I have a question. I'm working on a project where I want to list all the users that have the same job that the logged in user has. Job is a required field of every document. Can u tell me how to do it?? Thanks
Sir, thank your video show, I execute yiour read & display data App, every time re-run the App, the getDocId() function will execute 3 times, the docIDs data will occurred triple same data in here?
Hello mitch How i can open iOS emulator in android studio? Another Question if i want to build iOS app in android studio i will use iOS firebase or android firebase ??
Nice videos Mitch! Keep up the good work 💪🏼 I've followed along and for some reason, the data is still being duplicated. I've looked into the docs for .removeWhere and I can't seem to remove the duplicates without deleting all the entries. Do you have some advice on this?
Hi Simon, I’ve noticed when we hot reload it duplicates the data because it preserves the app’s state but still re runs the getDocid() method. If you full restart (shift+R) to rebuild the app, it works normally as we want. Does this help you at all? If not let me know, i’m happy to sort this out for u
@@createdbykoko I can confirm that it starts from scratch when I full restart - were you doing that during the video? Probably explains why I'm thinking I've completely bugged something! Is there a fix or should I continue the tutorials for now?
Create stuff, just subscribed. But I believe you should avoid using forEach in this instance, especially if you want people to understand better. A beginner out there is scratching their head becauses of the forEach loop.
Good video and I understand what you want to do, just want to inform you that you make a lot of unnecessary calls to the server with this code. With lots of users using the app every user will make tons of requests getting the names, especially if you add more functions in the same manner and not to mention more users can easily become costly using firebase where all request will turn into payment needed by firebase, with some optimisation to the doc getting and storing it in the initial request instead of first getting ids and then making one request for each name will reduce the amount of requests greatly.
Hi Jim! You raise some great points and I completely agree with all of them. But because many beginners watch my tutorials, sometimes making the code a little less optimised can help newer beginners to grasp the idea first in a simple manner, and then now they can think about optimisations and making minimal requests as the app becomes more complex. Otherwise, they won't even know what optimisation looks like and the importance of it. An analogy I have for this is when you are learning arithmetic in maths, you first need to understand what 3+3+3+3 means, before you jump to 3x4. Obviously a more proficient math person will look at 3+3+3+3 and think, dude you just need to do 3x4, but my goal is to teach people HOW TO fish, instead of just giving them the fish.. if that makes sense haha. But still everything you said is correct and you seem to be much more pro than a beginner so that's great!
@@createdbykoko i understand, good explanation here too. I like your videos and you’re a good “teacher”, easy to listen to and easy going, not doing things hastily. I don’t know if I would call myself a pro, loads of things I struggle with as most developers do I believe, but thanks for the compliment, just wanted to give my “cents” in case it was unintentionally, perhaps you’ll go deeper in other courses that’s not beginner class and more for intermediate to advanced class? Keep up the good work and stay awesome! 👏
Good job 👏. I was wondering if you heard about stacked package for state management in flutter. In my opinion it is the best, clean and easy package to manage flutter app state. I hope you can make a tutorial about this package and how to use it with your elegant designs. Thank you in advance.
when you register user and create user profile data in firestore. (User the UID of auth to create document id for that user) example -- if user create has user id like 'qwertyuiop' then at firestore create --- users collection then use users id 'qwertyuiop' to create user data instead of auto-id.
@@VTechBroLive i had tried a lot but now i can only retrive UID from firestore, i want suggestion by video if possible,,, with retriving data like as : if user created by a name, email, mobile number...... i want to retrive this on screen. If you understand please suggest me... or anyone can also !!
@@rockstarkarn3316 User? user = FirebaseAuth.instance.currentUser; String _username = ''; final userCollection = FirebaseFirestore.instance.collection('users'); Future getUserData() async { try { DocumentSnapshot ds = await userCollection.doc(user!.uid).get(); String name = ds.get('Name'); setState(() { _username = name; }); } catch (e) { _username = 'invalid'; } } //this worked for me to get data from an individual user. I hope you get it.
💬 Chat App w/ Notifications • mitchkoko.gumroad.com/l/ChatAppMasterclass
📱 Flutter Masterclass • mitchkoko.app/
🔥 I'm coding a startup.. www.patreon.com/mitchkoko
You might want to watch the previous videos first 👨🏽💻
1. Minimal LOGIN UI - ruclips.net/video/aJdIkRipgSk/видео.html
2. Login & Logout - ruclips.net/video/TkuO8OLgvkk/видео.html
3. Sign Up Users - ruclips.net/video/Mfa3u3naQew/видео.html
4. Reset Password - ruclips.net/video/Sp4_2zi0kZg/видео.html
5. Create & Store User Data - ruclips.net/video/idJDAdn_jKk/видео.html
Firebase Setup for IOS - ruclips.net/video/hy0NtR0NW4Q/видео.html
Firebase Setup for Android - ruclips.net/video/sz4slPFwEvs/видео.html
Bro can you create a splash screen? and connect it ?
bro, please post update and delete videos
I have had a mentor for every programming language, library or framework I have learned in my life.
From now on you are my Flutter Mentor.
As Assassin's say, "I accept you as my Mentor."
for all those people asking how to display current users data only . just chnage two things. remove this ( final user= FirebaseAuth.instance.currentUser!;) instead write this(User? user = FirebaseAuth.instance.currentUser;). after that inside ur function change ur collection and write this ( await FirebaseFirestore.instance.collection('listof').where('email', isEqualTo: user?.email).get().then(
(snapshot) => snapshot.docs.forEach((document) {
print(document.reference);
docids.add(document.reference.id);
}),
);
) . after this u will get one error. right click oh the error and change and it will give u an option to add null.. add that and this willget current user data on the basis of email.
what is ur funtion?
.
Thank you brother 🙏
Mitch, are you going to cover relational data. sort of like linking the instance of a user to their information, name, age and stuff??
Would love to have that too! 👌
I'm a fan of this guy now!
I got to say,
This is the best tut I have seen. I would by your udemy course if you had one. The way you explain things is awesome. Never understood listview builders until now. Tomorrow I am going to check out the how to implement firebase and how to get the data out.
Thanks again brother. Liked and subscribed!
No problem haha ❤️ do people still buy courses on udemy?
@@createdbykoko I do hahaha. If you go incognito, all prices are down to €12 so yeah why not.
Yo, Mitch you are a Life Saver LY
For people who are getting and issue with adding users to the collection, Just update your collection rules with this : allow read;
allow write: if request.auth != null; , this way you can access the collection data (read/write) if the user is authenticated!!
I started becoming addicted to your videos and your channel
Haha nice 👨🏽💻😛
Mitch, did you notice on (CRUD)📱Read & Display Data... when we save the get_user_name.dart or home_page.. list_view and list tiles getting duplicated and building up a huge list unless we hot reload.. do you know which widget is rebuilding over and over again up on save?
Hello, I am getting the same behavior also
same behavior, if you found the reason, please let us know :)
solved it, just add docIDs.clear() before each id is added inside the getDocId() method as follows:
Future getDocId() async {
await FirebaseFirestore.instance.collection('users').get().then((snapshot) {
docIDs.clear(); // this clears the list when hot reloading
snapshot.docs.forEach((document) {
docIDs.add(document.reference.id);
});
});
}
@@user9924 same problem
Thanks for this as it was very helpful but can you please explain how can we store single users every information at once in a profile screen
Hey Mitch, when will you be uploading the Update & Delete function. Cannot wait for that!!
hey, can you make a video on how to get data of only the current user instead of everyone in the database, if we wanted to make a profile page, then we would want to display data of the current user only
I really need this solution too
Have someone figured out how to do this?
I actually kind of have figured it out what you need to do is create a collection using the email id or username of the user depending on your app everytime any user creates an account and then return that collection in the app
Am very grateful for this video, how I use a data-table instead. THANK YOU.................................
hello, explain how to use the chat app with mysql in a video,please
6:29 I cant make user.email! to non-nullable does anyone know how to make it?
final user= FirebaseAuth.instance.currentUser!; create this
how to update(edit) data in firebase firestore
hey.
can you do google and facebook sign in videos?
so what if i wanted to fetch all email, password, fullname, etc for a profile page?
thanks, but how do I fetch only the data from the current logged in User?
for all those people asking how to display current users data only . just chnage two things. remove this ( final user= FirebaseAuth.instance.currentUser!;) instead write this(User? user = FirebaseAuth.instance.currentUser;). after that inside ur function change ur collection and write this ( await FirebaseFirestore.instance.collection('listof').where('email', isEqualTo: user?.email).get().then(
(snapshot) => snapshot.docs.forEach((document) {
print(document.reference);
docids.add(document.reference.id);
}),
);
) . after this u will get one error. right click oh the error and change and it will give u an option to add null.. add that and this willget current user data on the basis of email.
You're one of the best teachers of Flutter there is! I have a question...let's say you wrapped the List Tile in a Gesture Detector and when you clicked it, it brought you to a new page to display that List Tile information (name, age, etc of that particular user). How would you fetch and display that info on the new page? I have not been able to get an answer anywhere on this. Thanks for your help!
💗 Thank you Mitch 💗
Hi, Whenever I reload the app, the retrieved data displays repeatedly. If I restart the app shows the data in a single time. But once reload the app it shows the same data 3 times. How can we resolve this kind of issue?
same behavior. did you solve it?
solved it, just add docIDs.clear() before each id is added inside the getDocId() method as follows:
Future getDocId() async {
await FirebaseFirestore.instance.collection('users').get().then((snapshot) {
docIDs.clear(); // this clears the list when hot reloading
snapshot.docs.forEach((document) {
docIDs.add(document.reference.id);
});
});
}
once again thank you bro
Hi, Mitch!
Your lessons are very helpful!!! Thank you!
I have a question: - Can you please tell me how you can refer to user data by ID, for example I have two tables 'Users' and 'Posts' and I need an authorized user to be able to add and see only his added data and other users see only their data.
I also need to know how this can be done
Update: I used .where() in the part of the code around 4:00
Here are my screenshots so you can see it better
imgur.com/a/fR66YZB
Edit: Might not be the optimal solution since I'm still just learning flutter and firebase but I hope it helps!
Hello Mitch... would you happen to have a similar video that reads data from realtime database?
Great content
Mitch,thanks for the video.Am having some challenge with something similar to what you have demonstrated. I request for your help.
how would i display it normally? for example 'welcome,' + lastName
can you do a display about spesific information from currently logged in user?, not just everyone name and ages
For that you will need to use the .where(). The code below worked for me
User? currentUser = FirebaseAuth.instance.currentUser;
await FirebaseFirestore.instance.collection('users').where('email', isEqualTo: currentUser?.email).get()...
Awesome 💜
if you want more then one data in your listview builder
List docid=[];
List userprofilelist=[];
_feach() async {
final firebaseUser = await FirebaseFirestore.instance.collection("doctorcollection").get().
then((snapshot) => snapshot.docs.forEach((element) {
docid.add(element.data());
userprofilelist.add(element.reference.id);
}),);
after that you can use it like => docid[index]["name"]
why everyone is showing data in a list view but not using particular field, like use name only from a particular document? is it not possible in firestore?
Hi how do I get all the user info on one future builder? Like say I want Jordan and Ronaldo to both be on the same listtile how would I do that
What is your android studio version?
What is your flutter version?
Language level?
Because I want to add the flutter pluggin to my projectand the classpath line on the build gradle file
I want to display only the data from the current user…how can do it
1:25 erm please can you do a tutorial on how to display a current user to the drawer I’ve been trying this for over months now but can’t seem to get it please I’ll appreciate if you do thank you 2:39
Small request please add episode number for each video.... so we can watch previous video with going through assumptions..
Thank you for your help
But i have a question
How can i take data only for user whose signed in ?
hey man, how can we get the doc id for the current user logged in?
Nice Video Can you make a another video about updating data and deleting data? Love you video btw
Hey mitch is there a way to display the sub collection of a collection, like if the user collection has a sub collection of his/her friends then how can I display them on the screen
Hi, Mitch!
Will you help us to use REALTIME DATABASE
Thank you for the amazing explanation, but I have an issue as I'm new to programming, how can I return one name, without the list...😅 for example hello name
What you use save status login? Thanks
Hey man, great videos! I have a situation: Instead of naming the collection 'users' I'm using the name 'owners', and now I'm getting duplicated docIds with the getDocId Future, even though my Firebase DB does not reflect duplicate data. Any idea of what couldbe causing this behavior?
Thanks!
Yeah I have the same trouble every time I hot reload it adds to the global list.
Because every time it adds the data from fire base on top of what has been added to the list.
How can I get the data without saving it to a list?
solved it, just add docIDs.clear() before each id is added inside the getDocId() method as follows:
Future getDocId() async {
await FirebaseFirestore.instance.collection('users').get().then((snapshot) {
docIDs.clear(); // this clears the list when hot reloading
snapshot.docs.forEach((document) {
docIDs.add(document.reference.id);
});
});
}
Thank you bro for video ✊✊✊
how to read current user details
Hey bro I want display all details in profile info page ...and I want one particular user details to be retrieve what can I do now
how can I sync between firestore and auth data
Hi man, I have a question. I'm working on a project where I want to list all the users that have the same job that the logged in user has. Job is a required field of every document. Can u tell me how to do it??
Thanks
How can i do it for a particular user
when you will do for update and Delete ! ..
Nice ♡
I want to count documents id against age. Like how many documents are there in which age is 77 e.g...how will do that
Nice tutorial , also make video on show data of subcollection
So how can I print this first name
my list got loop 3x .. after remove the initstate it loop 2x
15:18 siuuuuuuu
SIUUUUU CRISTIANO!
Is it possible to hide the details of the user who is logging in tho this list view? please add the video
Thanks!
Sir, thank your video show, I execute yiour read & display data App, every time re-run the App, the getDocId() function will execute 3 times, the docIDs data will occurred triple same data in here?
Create a variable of type future and then assign getdocids to it and use that variable as the future in future builder , then give it a try👍
@@MWStudiooo Sir, thank you. it can working fine. but why must using this method? and the future the data update, the variable can be update?
Umm! sry I didn't get you.
@@MWStudiooo Can you share the code here? Thank you if you do!
@@simonbeirouti which code are you talking about?
How to get all the data of a single doc id
how to get data from firebase in dropdown
Hello mitch
How i can open iOS emulator in android studio?
Another Question if i want to build iOS app in android studio i will use iOS firebase or android firebase ??
iOS simulator needs a mac
@@createdbykoko but i see some video in RUclips it work in windows. How ??
@@HH-ip5zc stackoverflow.com/questions/49002527/flutter-ios-emulator-for-windows
Nice videos Mitch! Keep up the good work 💪🏼
I've followed along and for some reason, the data is still being duplicated. I've looked into the docs for .removeWhere and I can't seem to remove the duplicates without deleting all the entries. Do you have some advice on this?
Hi Simon, I’ve noticed when we hot reload it duplicates the data because it preserves the app’s state but still re runs the getDocid() method. If you full restart (shift+R) to rebuild the app, it works normally as we want. Does this help you at all? If not let me know, i’m happy to sort this out for u
@@createdbykoko I can confirm that it starts from scratch when I full restart - were you doing that during the video? Probably explains why I'm thinking I've completely bugged something! Is there a fix or should I continue the tutorials for now?
@@simonbeirouti make sure your class is stateful instead of stateless
I'm facing the same problem
same here , any one find a solution for this problem ?
How to read the name of only who is signed in? Please help anyone
Create stuff, just subscribed. But I believe you should avoid using forEach in this instance, especially if you want people to understand better. A beginner out there is scratching their head becauses of the forEach loop.
bro where is the source code i can't find it
AWESOME VIDEO please a make a video on sqflite dataBase .....
THANKS FOR GIVEN US BEST TUTORIAL
I am working on sqflite right now, tutorial coming soon!!
Brother can you give the github link of this code
Good video and I understand what you want to do, just want to inform you that you make a lot of unnecessary calls to the server with this code. With lots of users using the app every user will make tons of requests getting the names, especially if you add more functions in the same manner and not to mention more users can easily become costly using firebase where all request will turn into payment needed by firebase, with some optimisation to the doc getting and storing it in the initial request instead of first getting ids and then making one request for each name will reduce the amount of requests greatly.
Hi Jim! You raise some great points and I completely agree with all of them. But because many beginners watch my tutorials, sometimes making the code a little less optimised can help newer beginners to grasp the idea first in a simple manner, and then now they can think about optimisations and making minimal requests as the app becomes more complex. Otherwise, they won't even know what optimisation looks like and the importance of it. An analogy I have for this is when you are learning arithmetic in maths, you first need to understand what 3+3+3+3 means, before you jump to 3x4. Obviously a more proficient math person will look at 3+3+3+3 and think, dude you just need to do 3x4, but my goal is to teach people HOW TO fish, instead of just giving them the fish.. if that makes sense haha. But still everything you said is correct and you seem to be much more pro than a beginner so that's great!
@@createdbykoko i understand, good explanation here too. I like your videos and you’re a good “teacher”, easy to listen to and easy going, not doing things hastily.
I don’t know if I would call myself a pro, loads of things I struggle with as most developers do I believe, but thanks for the compliment, just wanted to give my “cents” in case it was unintentionally, perhaps you’ll go deeper in other courses that’s not beginner class and more for intermediate to advanced class?
Keep up the good work and stay awesome! 👏
@@createdbykoko You are a good Teacher.
@@nicholasdiane1981 thank u haha 👨🏽💻❤️
where is the source code of this code
where is the source code
Good job 👏.
I was wondering if you heard about stacked package for state management in flutter. In my opinion it is the best, clean and easy package to manage flutter app state.
I hope you can make a tutorial about this package and how to use it with your elegant designs.
Thank you in advance.
Thanks ser
(proceeds to continue)
Hi Mitch, I am student I can't afford to buy your Flutter UI course I need your help in this regard. Please provide that course for free to me.
Please don't stop
good
its very good lessons but some of them is for money and we don't have money to buy it .if you can make it free we will be thankfull
❤
How can i fetch data of only a logged user ? I want this ! Please suggest me by comment or create a new video on that. 🥲
when you register user and create user profile data in firestore. (User the UID of auth to create document id for that user)
example -- if user create has user id like 'qwertyuiop' then at firestore create --- users collection then use users id 'qwertyuiop' to create user data instead of auto-id.
@@VTechBroLive i had tried a lot but now i can only retrive UID from firestore, i want suggestion by video if possible,,, with retriving data like as : if user created by a name, email, mobile number...... i want to retrive this on screen. If you understand please suggest me... or anyone can also !!
@@rockstarkarn3316 User? user = FirebaseAuth.instance.currentUser;
String _username = '';
final userCollection = FirebaseFirestore.instance.collection('users');
Future getUserData() async {
try {
DocumentSnapshot ds = await userCollection.doc(user!.uid).get();
String name = ds.get('Name');
setState(() {
_username = name;
});
} catch (e) {
_username = 'invalid';
}
}
//this worked for me to get data from an individual user. I hope you get it.
@@rockstarkarn3316 I want this as well..if you found any please suggest me. Thank you
maybe you should create a collection for every User existing, and when someone is registering a new Collection is created