Flutter BLoC From Scratch to Export | Flutter State Management | Flutter Bloc Pattern

Поделиться
HTML-код
  • Опубликовано: 10 фев 2025

Комментарии • 127

  • @danishkumar7667
    @danishkumar7667 Год назад +1

    Nice Wonderful Explanation.
    Clean Code With Beautiful Voice..
    Thanks for This Amazing Video..
    Love You a Lot. ❤❤❤❤

  • @emmanuelosei7651
    @emmanuelosei7651 Год назад +1

    I actually converted everything from the previous video and gave it django rest api backend, hit me up if you wanna see it.

  • @mahadevbarik5505
    @mahadevbarik5505 2 года назад +3

    The best bloc clear tutorials I have ever seen, need more bloc tutorials.

    • @AJFlutterTutorials
      @AJFlutterTutorials  2 года назад

      Hi, thank you for the feedback. Good luck on your study😊

    • @mrhe09
      @mrhe09 Год назад

      hi, excuse me have you the source code, i can pay but I need it

  • @yonathanhailemelekot5238
    @yonathanhailemelekot5238 2 года назад +4

    Just Finished this tutorial. it's the amazingly rich content. bloc, hydrated bloc , BottomNav, SingleChild Scroll , Modals , List manipulation , route navigation , useful flutter packages and a lot more thank you again.

    • @AJFlutterTutorials
      @AJFlutterTutorials  2 года назад

      Hi, I'm glad it helped you. Of course, there will be more great Flutter projects in the future, so stay tuned. If you want to support our hard work, you can buy a coffee through the link in the description or via 'Thanks' button on RUclips itself. Anyway, thank you for the feedback😊

  • @pradeepkumar5158
    @pradeepkumar5158 2 года назад +6

    Even before started watching i thank you so much for taking efforts in building app with Bloc state management. Theres very little content on state management and hope u would come up with more on Bloc state management. Thank you again

    • @AJFlutterTutorials
      @AJFlutterTutorials  2 года назад

      Hi.
      I hope this tutorial satisfies you and you will learn more than you expected😊

  • @ahmedalkamel8093
    @ahmedalkamel8093 2 года назад +1

    your are best programer in the world
    really
    think you everything

  • @yonathanhailemelekot5238
    @yonathanhailemelekot5238 2 года назад +4

    The most amazing completed Bloc tutorial

  • @vianeyvargas7736
    @vianeyvargas7736 2 года назад +3

    I really like your videos with Flutter Bloc please keep uploading more videos using Flutter Bloc Pattern, because on youtube there are very few who use it, and you are the best thank you very much for sharing..
    Please can you upload a video Google Maps, Gps, Location, using Flutter Bloc Pattern

    • @AJFlutterTutorials
      @AJFlutterTutorials  2 года назад +1

      We are glad that it helped you, InshaAlloh we keep uploading more BLoC tutorial with real App projects 😊

    • @AJFlutterTutorials
      @AJFlutterTutorials  2 года назад

      We've recently monetized our RUclips channel, we'd be happy if you support us by "Thanks" button just after the "Download" button😊 or with buying a coffee which is in the description)

  • @mvishnu1836
    @mvishnu1836 Год назад

    Excellent work :)

  • @RashidAlii
    @RashidAlii 2 года назад +2

    Wow explained well easy to understand

  • @shaxobiddinsultonov9144
    @shaxobiddinsultonov9144 2 года назад +2

    Hi, Amazing 5⭐. Thank you for this tutorial

  • @jasvindersingh9297
    @jasvindersingh9297 2 года назад +2

    i think its a detailed video to learn bloc. thank you very much.... please make a video google maps using flutter bloc.

    • @AJFlutterTutorials
      @AJFlutterTutorials  2 года назад

      You are welcome)
      I may try it in the future, nowadays I'm working on another project 😊

    • @jasvindersingh9297
      @jasvindersingh9297 2 года назад

      @@AJFlutterTutorials great

  • @jilandirgantara4355
    @jilandirgantara4355 2 года назад +2

    nice video, but for the task_bloc, i prefer to use only one variabel to store all data from pending, completed, favorite, and remove. and when it showed up in the specific page, just use blocSelector to filter the data using the 'is....' parameter

  • @cynoteckiphone7831
    @cynoteckiphone7831 2 года назад +3

    amazing tutorial learned a lot from this tutorial can you please create a complete app with api integration in bloc

    • @AJFlutterTutorials
      @AJFlutterTutorials  2 года назад +1

      Hi, thank You for the feedback.
      I'm planning to do it. Currently I'm working on another real project which includes your question. If I do it, after that, make a tutorial about that.

  • @angelsureshkarki
    @angelsureshkarki 2 года назад +1

    Thank u mam for ur efforts and help !!!

  • @KoradiyaAbhay
    @KoradiyaAbhay Год назад

    Really clean way.

  • @TheSoporte
    @TheSoporte 2 года назад +1

    I Love this tutorial, it's amazing!!!!!

  • @Estevao464
    @Estevao464 2 года назад +1

    This video is amazing. Thank you for this. 500000⭐

    • @AJFlutterTutorials
      @AJFlutterTutorials  2 года назад +1

      You are welcome and thank you also for the feedback 😊

  • @jerryrodelas8555
    @jerryrodelas8555 2 года назад +2

    ✴✴✴✴✴ thank you for sharing

  • @emmanuelosei7651
    @emmanuelosei7651 Год назад +1

    Good tutorial but I have been getting zone mismatch errors

  • @frozenkyo2282
    @frozenkyo2282 2 года назад +1

    Thank you for your tutorial! It helps me a lot in getting better understanding about flutter.
    2:01:33 - It got me stressed out for a while. Luckily, I found a solution from stack overflow.
    When we tap on the menu item, it's calling a Navigator.pop() method to close the Popup Menu Button which closes our bottom sheet dialog instead. The solution is just to use Future.delayed() on onTap.
    onTap: () {
    Future.delayed(
    const Duration(seconds: 0),
    editTaskCallback,
    );
    },
    Hope this can be of help to someone else in the future.

    • @AJFlutterTutorials
      @AJFlutterTutorials  2 года назад

      You are welcome and thank you too for helping others😊

    • @abass586
      @abass586 2 года назад

      It helped, thanks a lot mate!

  • @ejkk3171
    @ejkk3171 2 года назад +2

    Thank you so much,

  • @adhamovhojiakbar2138
    @adhamovhojiakbar2138 2 года назад

    I rate this 5🌟 . Thank you AJ

  • @bharisankarpatra5846
    @bharisankarpatra5846 Год назад +1

    awsome...

  • @e.salimov
    @e.salimov 2 года назад +1

    Saved
    thank You !

  • @AjilSathyanLMCEC
    @AjilSathyanLMCEC 2 года назад +2

    Helo AJ your tutoriala are amazing. Keep going. Can you make a video about background run task on ios and Android devices?

    • @AJFlutterTutorials
      @AJFlutterTutorials  2 года назад

      Hi, thank you for the feedback.
      I've not thought about that. I may make it later, but not soon:)

    • @AjilSathyanLMCEC
      @AjilSathyanLMCEC 2 года назад

      @@AJFlutterTutorials thanks for your reply😍

  • @hieuleinh6174
    @hieuleinh6174 5 месяцев назад

    Good app for begin start code bloc.

  • @ahmedabdaa3468
    @ahmedabdaa3468 2 года назад +1

    Keep going to this great content 😊
    I have a question
    Are u using something to save data if app is close like sqflite ?

  • @mrofficialyt2625
    @mrofficialyt2625 Год назад

    Nice

  • @emadeldin1999
    @emadeldin1999 2 года назад +1

    thank u sir, i have on qs i used multi provider at the top of material app and i have cubit that i want to use it from 2 different screens but each time i use BlocProvider.of(context) it create NEW INSTANCE is that how bloc work?? cuz in my mind i though it would be singletone

    • @AJFlutterTutorials
      @AJFlutterTutorials  2 года назад

      Sorry, I didn't get your qn exactly.
      Solution of what understood:
      Try context.read as I did in the course. To do this, you must import the Flutter BLoC to that class(screen)

    • @emadeldin1999
      @emadeldin1999 2 года назад +1

      @@AJFlutterTutorials
      thank u sir for ur reply my problem was i use BlocProvider.of(context) and its create new instance not singletone...but when i checked my code i was using blockProvider with create (which create new instance) and it was stupid mistake by me cuz iam new to bloc thanks for trying 2 help me u earned new subscriber 💙

  • @harshitsaini7879
    @harshitsaini7879 2 года назад +1

    Very helpful, can you plese tell me how do you generate the audio from text like in this tutorial. Thanks

    • @AJFlutterTutorials
      @AJFlutterTutorials  2 года назад

      Hi, Thank you for the nice feedback.
      I will try inshahaall

  • @gautambedi591
    @gautambedi591 2 года назад +1

    Hi I loved the tutorial. Just one suggestion can you please add the github link instead of google drive as it helps us to straight away see the files on github if we want to.
    Other than that great tutorial

  • @hotame
    @hotame 2 года назад

    Hello. I am a beginner in flutter and I was wondering how I might be able to not remove the task from the "Pending Tasks Screen" but rather from the List of pending tasks along with adding the line through decoration when checkbox is clicked. I would appreciate your help a lot! It has been very wonderful and i learned more than literally 2 udemy courses on the matter. Thank you.

    • @AJFlutterTutorials
      @AJFlutterTutorials  2 года назад

      Hi, for that you just need to update the update function. there you need to do that update function deletes old task and doesn't add it to completed tasks, instead again adds it into pending task using copyWith method.
      while using copyWith, make the task title line through.
      I hope you got the idea.
      try it.
      and tell me whether you did it or not

    • @hotame
      @hotame 2 года назад

      @@AJFlutterTutorials I will do that. Thank you.

    • @hotame
      @hotame 2 года назад

      @@AJFlutterTutorials So I tried fixing that. and I definitely did something wrong that what would happen when I click on the checkbox is that it moves it to the completed tasks screen and doesn't even remove it from the pending tasks screen or even checks it.

    • @hotame
      @hotame 2 года назад

      Even tried fixing that again and now it doesn't move it to the completed tasks screen or remove it from pending tasks. So I used the local history to restore everything to how it was before I updated anything for now.

    • @hotame
      @hotame 2 года назад

      @@AJFlutterTutorials So I tried it and still no clue. Sorry about this.

  • @nikhilkukreja8498
    @nikhilkukreja8498 2 года назад

    For making text in left we can also use align widget alignment topLeft

  • @iamse16
    @iamse16 2 года назад +1

    at 39:00 I did the same as the video but after hot restart, my state couldn't save any task?

    • @AJFlutterTutorials
      @AJFlutterTutorials  2 года назад

      Hi Sou Emon, it must save its state.
      Double check:
      1) Task model file.
      2) tasks_state and tasks_bloc file.

    • @MohamedAhmed-lv1pg
      @MohamedAhmed-lv1pg 2 года назад

      same here. did you find a solution?

    • @almantasanciunas9212
      @almantasanciunas9212 2 года назад

      In my case it was something wrong with tasks_state.dart file with factory TasksState.fromMap, it was different from my created and shown in video

    • @hld8626
      @hld8626 2 года назад

      you can try: factory TasksState.fromMap(Map map) {
      return TasksState(
      allTasks: List.from(map['allTasks'].map((x) => Task.fromMap(x))));
      }

  • @mohommedwadshandi
    @mohommedwadshandi 2 года назад +1

    مكنة والله 🥰

    • @AJFlutterTutorials
      @AJFlutterTutorials  2 года назад +1

      You are very welcome!
      Please, Check out my other amazing videos😊

  • @yakut54
    @yakut54 Год назад

    Слушай, а можно используя этот же концепт, вместо hydroBloc прикрутить Sqflite?

  • @Inandoutpk
    @Inandoutpk 2 года назад +2

    It'll be helpfull if you go more deep with more states and event with more than two blocs. We face issue when number of bloc increases and can't figure out the data passing, when enent of bloc 2 requires the data of state of bloc 1

    • @AJFlutterTutorials
      @AJFlutterTutorials  2 года назад

      Thank you for the feedback. You find the nice issue that is not on the project. I will take care of it

    • @Inandoutpk
      @Inandoutpk 2 года назад +1

      @@AJFlutterTutorials I know it's not project but that's what we are building after watching your tutorial. So we need to see some glimpse of the data passing from one bloc to another and handling multiple blocs in your tutorials. I know it's little complex but believe me Nobody on RUclips did a video on that. If you can come up with that video.. Millions of people will like it.

    • @angelsureshkarki
      @angelsureshkarki 2 года назад

      good concept

  • @ajieprastyo1738
    @ajieprastyo1738 2 года назад

    do you have any resources about whats are tomap and frommap from 08:41

  • @frankymejia5054
    @frankymejia5054 2 года назад +3

    5 ⭐

  • @leventsurer3443
    @leventsurer3443 2 года назад +1

    Hi thank you for this lesson. I couldn't find AppThemes in description. Where is it ?

    • @AJFlutterTutorials
      @AJFlutterTutorials  2 года назад

      Hi, I provided it when I upload the course parts separately and sorry I forgot it in this whole course. And now I've also just added it here in the course description. Thank you for reminding :)

    • @leventsurer3443
      @leventsurer3443 2 года назад

      @@AJFlutterTutorials Your welcome. This is realy nice video about Bloc.

    • @AJFlutterTutorials
      @AJFlutterTutorials  2 года назад

      @@leventsurer3443 I'm glad if it helped you 😊

  • @mrhe09
    @mrhe09 Год назад +1

    I watched the videos from africa country now I need the source code but i ain't got no money

  • @nikeshmadhav4156
    @nikeshmadhav4156 2 года назад

    Hi, Amazing tutorials.. BTW why didn't you use firebase for ease backend configuration.

    • @AJFlutterTutorials
      @AJFlutterTutorials  2 года назад +2

      Hi thanks for the feedback, in the future I may do like that :)

  • @angelomien987
    @angelomien987 2 года назад +1

    Hi I have a question. I'm on the part of using the Hydrated Bloc. I followed your code structure but when I press the Hot Restart and close the application, all of the tasks have gone. Is there something wrong on my end ?

    • @AJFlutterTutorials
      @AJFlutterTutorials  2 года назад +1

      Hi, please check task model file and fromMap and toMap function in the tasksState and tasks bloc file. I mean the HydratedBloc part

    • @angelomien987
      @angelomien987 2 года назад

      @@AJFlutterTutorials Actually I have fromMap and toMap function in the tasksState and also in the hydrated bloc file but when I pressed hot restart, it goes back to the initial state which is an empty list. I can't figured it out since I followed your code structure

    • @angelsureshkarki
      @angelsureshkarki 2 года назад

      @@AJFlutterTutorials same problem here..i have same hydrated bloc version as urs...but same problem like his...can u plz figure out issue?

    • @angelsureshkarki
      @angelsureshkarki 2 года назад

      @@angelomien987 have you figured out my man?

    • @angelsureshkarki
      @angelsureshkarki 2 года назад +2

      no worries figure out actually vscode is giving me wrong serialization...
      for others use :
      factory TasksState.fromMap(Map map) {
      return TasksState(
      allTasks: List.from((map['allTasks']?.map((x)=> Task.fromMap(x))))
      );

  • @sulli110
    @sulli110 2 года назад +1

    please can you give link to your github repo for this project.

    • @AJFlutterTutorials
      @AJFlutterTutorials  2 года назад

      Hi, contact me via email which is in the channel description.

  • @angelsureshkarki
    @angelsureshkarki 2 года назад

    Maam can u please make me understand the concept of toMap and fromMap better ?????

    • @AJFlutterTutorials
      @AJFlutterTutorials  2 года назад +2

      Hi Angel Suresh Karki, Have you ever used shared_preferences?
      // Obtain shared preferences.
      final prefs = await SharedPreferences.getInstance();
      // Save an integer value to 'counter' key.
      await prefs.setInt('counter', 10);
      // Save an boolean value to 'repeat' key.
      await prefs.setBool('repeat', true);
      // Save an double value to 'decimal' key.
      await prefs.setDouble('decimal', 1.5);
      // Save an String value to 'action' key.
      await prefs.setString('action', 'Start');
      in that case you manually use map to set integet or bool or somerthing else and you get the value by the key.
      On the other hand, with Hydrated Bloc, you only have to use toMap to set the values and fromMap to get the value from local storage

  • @akarsh9742
    @akarsh9742 2 года назад

    Hi mam can you please explain 15.42
    This line
    allTasks: List.from (state.allTasks)..add(event.task),

    • @AJFlutterTutorials
      @AJFlutterTutorials  2 года назад

      Hi, in the tasks_state.dart file you have the list called ''allTasks''.
      this line of code takes previous list and adds new task in it and you have new updated list. and next emits new state of the list

  • @szyszak9424
    @szyszak9424 2 года назад

    from where did you learn bloc?

    • @AJFlutterTutorials
      @AJFlutterTutorials  2 года назад +2

      Hi, I'm still learning while sharing my knowledge about BLoC.
      There are lots of things to learn.
      I just began learning from bloclibrary.dev, RUclips, stackoverflow and so on.
      I recommend you doing also like that. Because while you're learning from official website and if you stack somewhere, just search google or RUclips. Watch different tutorials and learn different approaches:)

  • @abiliolutz8528
    @abiliolutz8528 2 года назад +2

    Scam, some code is out of view , so you need pay to see the source code

    • @AJFlutterTutorials
      @AJFlutterTutorials  2 года назад

      No sorry. Every line of code is visible on this tutorial. There 2 ways to get the code:
      1) You have to watch the full course, everything is provided.
      OR
      2) someone needs is urgent. At that time, that someone must buy the whole completed code.

    • @abiliolutz8528
      @abiliolutz8528 2 года назад

      @@AJFlutterTutorials Is not true, the screen file doesnt show up till the end

  • @wamutangadudley8484
    @wamutangadudley8484 2 года назад

    What's the password to the winrar project

  • @faheemahmad3957
    @faheemahmad3957 Год назад

    why so much code... this should be done in 60 percent less code

  • @faheemahmad3957
    @faheemahmad3957 Год назад

    extremely difficult

  • @kingisback4005
    @kingisback4005 2 года назад +1

    Not good for beginners

    • @AJFlutterTutorials
      @AJFlutterTutorials  2 года назад

      If you are absolutely beginner and this is your first video about BLoC, sure you are right.
      Watch this first, which is more detailed tutorial about BloC: ruclips.net/video/79C6CdZQa8c/видео.html

  • @abass586
    @abass586 2 года назад +1

    All ExpansionPanelRadio identifier values must be unique.
    'package:flutter/src/material/expansion_panel.dart':
    Failed assertion: line 263 pos 14: '_allIdentifiersUnique()'
    I have this error when I try to open the CompletedTasks Tab with tasks in it, any idea guys ?

    • @AJFlutterTutorials
      @AJFlutterTutorials  2 года назад

      Hi, while implementing the Expansion Panel , I used task id as unique value.
      Did you follow the steps?
      And please double check it

    • @abass586
      @abass586 2 года назад

      @@AJFlutterTutorials I did follow every step, but it seems like there is an ID conflict. With a classic ExpansionPanel, it works fine.
      It also works fine with ExpansionPanelRadio with only one task, but as soon as have 2+ completed tasks, the app crashes and I get this error