Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/hoangvuvan0611/flutter_todo_list
https://github.com/hoangvuvan0611/flutter_todo_list
Last synced: 14 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/hoangvuvan0611/flutter_todo_list
- Owner: hoangvuvan0611
- Created: 2024-03-09T11:03:47.000Z (11 months ago)
- Default Branch: master
- Last Pushed: 2024-03-11T09:39:16.000Z (11 months ago)
- Last Synced: 2024-11-15T12:24:00.124Z (3 months ago)
- Language: Dart
- Size: 54.7 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# TODOLIST7
A new Flutter project.
## Getting Started
This project is a starting point for a Flutter application.
A few resources to get you started if this is your first Flutter project:
- [Lab: Write your first Flutter app](https://docs.flutter.dev/get-started/codelab)
- [Cookbook: Useful Flutter samples](https://docs.flutter.dev/cookbook)For help getting started with Flutter development, view the
[online documentation](https://docs.flutter.dev/), which offers tutorials,
samples, guidance on mobile development, and a full API reference.## Todo directory
### main.dart
- contain MyHomePage() extends StatelessWidget
- child:
- ---------MyHomePage (main.dart)
- ------------------- MateriaApp
- -------------------+ title: name of app
- -------------------+ theme: theme outline app
- -------------------+ home: chứa Provider(để cung cấp đối tượng TodoBloc - chứa các dữ liệu và các hàm thao tác dữ liệu) - document: (Creates a value, store it, and expose it to its descendants.)
- ------------------------ Scaffold
- ------------------------+ appBar: AppBar
- ---------------------------------+ backgroundColors: colors of bar(Header)
- ---------------------------------+ title: a text in left of bar
- ------------------------+ body: Provider<>
- --------------------------------+ value: TodoBloc() as data to be provided
- --------------------------------+ child: TodoListContainer() is Widget receive data
### todo_list_container.dart
- contain TodoListContainer() extends StatelessWidget
- children[]
- ----------+ TodoHeader:
- ----------------------+ TextEditingController(): Creates a controller for an editable text field.
- ----------------------+ Provider.of: Lấy [Provider] gần nhất trong cây widget của nó và trả về giá trị của nó.(Obtains the nearest [Provider] up its widget tree and returns its value.)
- ------------------------: trong TodoHeader: provider lấy TodoBloc(), gọi các hàm của nó để lấy giá trị nhập từ màn hình
- ----------+ TodoList:
- --------------------+ didChangeDependencies() method được sử dụng để gọi hàm init cho todoList
- --------------------+ build() return Consumer() - là một widget được sử dụng để lắng nghe(listen), tiêu thụ(consumed), receive(nhận) dữ liệu từ Provider
- ----------------------------+ StreamBuilder(): receive a stream todos## base directory
### base_event
- contain BaseEvent object
### base_bloc.dart
- chứa thuộc tính eventStream co kiểu StreamController, quản lý luồng stream dữ liệu đưa vào.
- event method là dạng hàm get có kiểu Sink để đưa dữ liệu vào stream
- Trong hàm constructor của BaseBloc nó sẽ đẩy dữ liệu đi thông qua một class extend
-----+ khi một event được tạo thì một BaseBloc cũng được tạo, hàm constructor sẽ đẩy data đó vào Sink để truyền đi## bloc diẻctory
- TodoBloc extend BaseBloc
- chứa thuộc tính todoListStream có liểu StreamController>
- BaseBloc có một thuộc tính có kiểu StreamController còn TodoBloc có kiểu StreamController> là vì:
- --------+ Trong BaseBloc, stream chỉ chứa một todo hay event được nhập vào từ người dùng
- --------+ Trong TodoBloc, stream chứa list các todo
- --------+ get method thuộc tính đó sẽ trả về luồng list