Notice: Uninitialized string offset: 0 in /home/xvps/sites/hvmvn/wp-includes/meta.php on line 1

Notice: Uninitialized string offset: 0 in /home/xvps/sites/hvmvn/wp-includes/meta.php on line 1

Notice: Uninitialized string offset: 0 in /home/xvps/sites/hvmvn/wp-includes/default-filters.php on line 1

Notice: Uninitialized string offset: 0 in /home/xvps/sites/hvmvn/wp-includes/default-filters.php on line 1

Notice: Uninitialized string offset: 0 in /home/xvps/sites/hvmvn/wp-includes/class-wp-date-query.php on line 1

Notice: Uninitialized string offset: 0 in /home/xvps/sites/hvmvn/wp-includes/class-wp-date-query.php on line 1

Notice: Uninitialized string offset: 0 in /home/xvps/sites/hvmvn/wp-includes/theme.php on line 1

Notice: Uninitialized string offset: 0 in /home/xvps/sites/hvmvn/wp-includes/theme.php on line 1

Notice: Uninitialized string offset: 0 in /home/xvps/sites/hvmvn/wp-includes/class-wp-theme-json.php on line 1

Notice: Uninitialized string offset: 0 in /home/xvps/sites/hvmvn/wp-includes/class-wp-theme-json.php on line 1

Notice: Uninitialized string offset: 0 in /home/xvps/sites/hvmvn/wp-includes/class-wp-user-query.php on line 1

Notice: Uninitialized string offset: 0 in /home/xvps/sites/hvmvn/wp-includes/class-wp-user-query.php on line 1

Notice: Uninitialized string offset: 0 in /home/xvps/sites/hvmvn/wp-includes/class-wp-comment-query.php on line 1

Notice: Uninitialized string offset: 0 in /home/xvps/sites/hvmvn/wp-includes/class-wp-comment-query.php on line 1

Notice: Uninitialized string offset: 0 in /home/xvps/sites/hvmvn/wp-includes/class-wp-scripts.php on line 1

Notice: Uninitialized string offset: 0 in /home/xvps/sites/hvmvn/wp-includes/class-wp-scripts.php on line 1

Notice: Uninitialized string offset: 0 in /home/xvps/sites/hvmvn/wp-includes/functions.wp-scripts.php on line 1

Notice: Uninitialized string offset: 0 in /home/xvps/sites/hvmvn/wp-includes/functions.wp-scripts.php on line 1

Notice: Uninitialized string offset: 0 in /home/xvps/sites/hvmvn/wp-includes/class-wp-term-query.php on line 1

Notice: Uninitialized string offset: 0 in /home/xvps/sites/hvmvn/wp-includes/class-wp-term-query.php on line 1

Notice: Uninitialized string offset: 0 in /home/xvps/sites/hvmvn/wp-includes/canonical.php on line 1

Notice: Uninitialized string offset: 0 in /home/xvps/sites/hvmvn/wp-includes/canonical.php on line 1

Notice: Uninitialized string offset: 0 in /home/xvps/sites/hvmvn/wp-includes/class-requests.php on line 1

Notice: Uninitialized string offset: 0 in /home/xvps/sites/hvmvn/wp-includes/class-requests.php on line 1

Notice: Uninitialized string offset: 0 in /home/xvps/sites/hvmvn/wp-includes/class-wp-widget.php on line 1

Notice: Uninitialized string offset: 0 in /home/xvps/sites/hvmvn/wp-includes/class-wp-widget.php on line 1

Notice: Uninitialized string offset: 0 in /home/xvps/sites/hvmvn/wp-includes/admin-bar.php on line 1

Notice: Uninitialized string offset: 0 in /home/xvps/sites/hvmvn/wp-includes/admin-bar.php on line 1

Notice: Uninitialized string offset: 0 in /home/xvps/sites/hvmvn/wp-includes/class-wp-application-passwords.php on line 1

Notice: Uninitialized string offset: 0 in /home/xvps/sites/hvmvn/wp-includes/class-wp-application-passwords.php on line 1

Notice: Uninitialized string offset: 0 in /home/xvps/sites/hvmvn/wp-includes/rest-api/endpoints/class-wp-rest-post-statuses-controller.php on line 1

Notice: Uninitialized string offset: 0 in /home/xvps/sites/hvmvn/wp-includes/rest-api/endpoints/class-wp-rest-post-statuses-controller.php on line 1

Notice: Uninitialized string offset: 0 in /home/xvps/sites/hvmvn/wp-includes/rest-api/endpoints/class-wp-rest-revisions-controller.php on line 1

Notice: Uninitialized string offset: 0 in /home/xvps/sites/hvmvn/wp-includes/rest-api/endpoints/class-wp-rest-revisions-controller.php on line 1

Notice: Uninitialized string offset: 0 in /home/xvps/sites/hvmvn/wp-includes/rest-api/endpoints/class-wp-rest-revisions-controller.php on line 1

Notice: Uninitialized string offset: 0 in /home/xvps/sites/hvmvn/wp-includes/rest-api/endpoints/class-wp-rest-revisions-controller.php on line 1

Notice: Uninitialized string offset: 0 in /home/xvps/sites/hvmvn/wp-includes/rest-api/endpoints/class-wp-rest-autosaves-controller.php on line 1

Notice: Uninitialized string offset: 0 in /home/xvps/sites/hvmvn/wp-includes/rest-api/endpoints/class-wp-rest-autosaves-controller.php on line 1

Notice: Uninitialized string offset: 0 in /home/xvps/sites/hvmvn/wp-includes/rest-api/endpoints/class-wp-rest-menu-items-controller.php on line 1

Notice: Uninitialized string offset: 0 in /home/xvps/sites/hvmvn/wp-includes/rest-api/endpoints/class-wp-rest-menu-items-controller.php on line 1

Notice: Uninitialized string offset: 0 in /home/xvps/sites/hvmvn/wp-includes/rest-api/endpoints/class-wp-rest-menu-items-controller.php on line 1

Notice: Uninitialized string offset: 0 in /home/xvps/sites/hvmvn/wp-includes/rest-api/endpoints/class-wp-rest-menu-items-controller.php on line 1

Notice: Uninitialized string offset: 0 in /home/xvps/sites/hvmvn/wp-includes/rest-api/endpoints/class-wp-rest-menus-controller.php on line 1

Notice: Uninitialized string offset: 0 in /home/xvps/sites/hvmvn/wp-includes/rest-api/endpoints/class-wp-rest-menus-controller.php on line 1

Notice: Uninitialized string offset: 0 in /home/xvps/sites/hvmvn/wp-includes/rest-api/endpoints/class-wp-rest-users-controller.php on line 1

Notice: Uninitialized string offset: 0 in /home/xvps/sites/hvmvn/wp-includes/rest-api/endpoints/class-wp-rest-users-controller.php on line 1

Notice: Uninitialized string offset: 0 in /home/xvps/sites/hvmvn/wp-includes/rest-api/endpoints/class-wp-rest-comments-controller.php on line 1

Notice: Uninitialized string offset: 0 in /home/xvps/sites/hvmvn/wp-includes/rest-api/endpoints/class-wp-rest-comments-controller.php on line 1

Notice: Uninitialized string offset: 0 in /home/xvps/sites/hvmvn/wp-includes/rest-api/endpoints/class-wp-rest-themes-controller.php on line 1

Notice: Uninitialized string offset: 0 in /home/xvps/sites/hvmvn/wp-includes/rest-api/endpoints/class-wp-rest-themes-controller.php on line 1

Notice: Uninitialized string offset: 0 in /home/xvps/sites/hvmvn/wp-includes/rest-api/endpoints/class-wp-rest-widget-types-controller.php on line 1

Notice: Uninitialized string offset: 0 in /home/xvps/sites/hvmvn/wp-includes/rest-api/endpoints/class-wp-rest-widget-types-controller.php on line 1

Notice: Uninitialized string offset: 0 in /home/xvps/sites/hvmvn/wp-includes/class-wp-block-type.php on line 1

Notice: Uninitialized string offset: 0 in /home/xvps/sites/hvmvn/wp-includes/class-wp-block-type.php on line 1

Notice: Uninitialized string offset: 0 in /home/xvps/sites/hvmvn/wp-includes/block-supports/layout.php on line 1

Notice: Uninitialized string offset: 0 in /home/xvps/sites/hvmvn/wp-includes/block-supports/layout.php on line 1

Notice: Uninitialized string offset: 0 in /home/xvps/sites/hvmvn/wp-includes/style-engine/class-wp-style-engine.php on line 1

Notice: Uninitialized string offset: 0 in /home/xvps/sites/hvmvn/wp-includes/style-engine/class-wp-style-engine.php on line 1

Notice: Uninitialized string offset: 0 in /home/xvps/sites/hvmvn/wp-includes/widgets/class-wp-widget-media.php on line 1

Notice: Uninitialized string offset: 0 in /home/xvps/sites/hvmvn/wp-includes/widgets/class-wp-widget-media.php on line 1

Notice: Uninitialized string offset: 0 in /home/xvps/sites/hvmvn/wp-includes/widgets/class-wp-widget-media.php on line 1

Notice: Uninitialized string offset: 0 in /home/xvps/sites/hvmvn/wp-includes/widgets/class-wp-widget-media.php on line 1

Notice: Uninitialized string offset: 0 in /home/xvps/sites/hvmvn/wp-includes/widgets/class-wp-widget-text.php on line 1

Notice: Uninitialized string offset: 0 in /home/xvps/sites/hvmvn/wp-includes/widgets/class-wp-widget-text.php on line 1

Notice: Uninitialized string offset: 0 in /home/xvps/sites/hvmvn/wp-includes/assets/script-loader-packages.min.php on line 1

Notice: Uninitialized string offset: 0 in /home/xvps/sites/hvmvn/wp-includes/assets/script-loader-packages.min.php on line 1

Notice: Uninitialized string offset: 0 in /home/xvps/sites/hvmvn/wp-includes/Requests/IRI.php on line 1

Notice: Uninitialized string offset: 0 in /home/xvps/sites/hvmvn/wp-includes/Requests/IRI.php on line 1

Warning: Cannot modify header information - headers already sent by (output started at /home/xvps/sites/hvmvn/wp-includes/class-wp-application-passwords.php:1) in /home/xvps/sites/hvmvn/wp-includes/rest-api/class-wp-rest-server.php on line 1758

Warning: Cannot modify header information - headers already sent by (output started at /home/xvps/sites/hvmvn/wp-includes/class-wp-application-passwords.php:1) in /home/xvps/sites/hvmvn/wp-includes/rest-api/class-wp-rest-server.php on line 1758

Warning: Cannot modify header information - headers already sent by (output started at /home/xvps/sites/hvmvn/wp-includes/class-wp-application-passwords.php:1) in /home/xvps/sites/hvmvn/wp-includes/rest-api/class-wp-rest-server.php on line 1758

Warning: Cannot modify header information - headers already sent by (output started at /home/xvps/sites/hvmvn/wp-includes/class-wp-application-passwords.php:1) in /home/xvps/sites/hvmvn/wp-includes/rest-api/class-wp-rest-server.php on line 1758

Warning: Cannot modify header information - headers already sent by (output started at /home/xvps/sites/hvmvn/wp-includes/class-wp-application-passwords.php:1) in /home/xvps/sites/hvmvn/wp-includes/rest-api/class-wp-rest-server.php on line 1758

Warning: Cannot modify header information - headers already sent by (output started at /home/xvps/sites/hvmvn/wp-includes/class-wp-application-passwords.php:1) in /home/xvps/sites/hvmvn/wp-includes/rest-api/class-wp-rest-server.php on line 1758

Warning: Cannot modify header information - headers already sent by (output started at /home/xvps/sites/hvmvn/wp-includes/class-wp-application-passwords.php:1) in /home/xvps/sites/hvmvn/wp-includes/rest-api/class-wp-rest-server.php on line 1758

Warning: Cannot modify header information - headers already sent by (output started at /home/xvps/sites/hvmvn/wp-includes/class-wp-application-passwords.php:1) in /home/xvps/sites/hvmvn/wp-includes/rest-api/class-wp-rest-server.php on line 1758
{"id":51354,"date":"2022-08-03T15:58:10","date_gmt":"2022-08-03T08:58:10","guid":{"rendered":"https:\/\/hvm.vn\/?p=51354"},"modified":"2022-08-03T16:02:10","modified_gmt":"2022-08-03T09:02:10","slug":"flutter-bai-1-huong-dan-viet-va-chay","status":"publish","type":"post","link":"https:\/\/hvm.vn\/flutter-bai-1-huong-dan-viet-va-chay\/","title":{"rendered":"Flutter | B\u00e0i 1: H\u01b0\u1edbng d\u1eabn vi\u1ebft v\u00e0 ch\u1ea1y ch\u01b0\u01a1ng tr\u00ecnh \u0111\u1ea7u ti\u00ean"},"content":{"rendered":"

Trong b\u00e0i vi\u1ebft n\u00e0y, ch\u00fang ta s\u1ebd b\u1eaft \u0111\u1ea7u h\u1ecdc c\u00e1ch t\u1ea1o ra m\u1ed9t \u1ee9ng d\u1ee5ng ban \u0111\u1ea7u c\u01a1 b\u1ea3n th\u00f4i b\u1eb1ng Android Studio \u0111\u1ec3 c\u00f3 th\u1ec3 hi\u1ec3u \u0111\u01b0\u1ee3c m\u1ed9t \u1ee9ng d\u1ee5ng Flutter s\u1ebd code v\u00e0 ch\u1ea1y nh\u01b0 th\u1ebf n\u00e0o nh\u00e9.<\/p>\n

https:\/\/github.com\/yennq\/Flutter\/tree\/main\/lession1<\/p>\n

Ch\u00fang ta h\u00e3y b\u1eaft \u0111\u1ea7u b\u1eb1ng m\u1ed9t \u1ee9ng d\u1ee5ng \u0111\u01a1n gi\u1ea3n, c\u00f9ng l\u00e0m theo 10 b\u01b0\u1edbc sau \u0111\u00e2y:<\/p>\n

B\u01b0\u1edbc 1:<\/strong> Sau khi \u0111\u00e3 c\u00e0i \u0111\u1eb7t \u1ee9ng d\u1ee5ng Android Studio, c\u00e1c b\u1ea1n h\u00e3y m\u1edf n\u00f3 ra n\u00e0o.<\/p>\n

B\u01b0\u1edbc 2:<\/strong> T\u1ea1o m\u1edbi m\u1ed9t \u1ee9ng d\u1ee5ng Flutter<\/a>. \u0110\u1ec3 t\u1ea1o m\u1edbi c\u00e1c b\u1ea1n l\u00e0m nh\u01b0 sau: File-> New->New Flutter Project. M\u1ed9t m\u00e0n h\u00ecnh nh\u01b0 sau s\u1ebd hi\u1ec3n th\u1ecb ra.<\/p>\n

\n
T\u1ea1o m\u1edbi \u1ee9ng d\u1ee5ng Flutter<\/figcaption><\/figure>\n<\/div>\n

B\u01b0\u1edbc 3:<\/strong> Trong c\u00e1c b\u01b0\u1edbc ti\u00eap theo, b\u1ea1n c\u1ea7n ph\u1ea3i l\u1ef1a ch\u1ecdn Flutter Application<\/strong>. Nh\u00ecnh h\u00ecnh d\u01b0\u1edbi \u0111\u00e2y \u0111\u1ec3 ch\u1ecdn nh\u01b0 sau: Flutter Application-> click Next.<\/p>\n

Ch\u1ecd ti\u1ebfp Flutter Application<\/figcaption><\/figure>\n

B\u01b0\u1edbc 4:<\/strong> Ti\u1ebfp theo, c\u1ea5u h\u00ecnh th\u00f4ng tin chi ti\u1ebft \u1ee9ng d\u1ee5ng c\u1ee7a b\u1ea1n nh\u01b0 h\u00ecnh d\u01b0\u1edbi \u0111\u00e2y, sao \u0111\u00f3 b\u1ea7m v\u00e0o n\u00fat Next<\/strong> nh\u00e9.<\/p>\n

Project Name:<\/strong> \u0110i\u1ec1n t\u00ean \u1ee9ng d\u1ee5ng c\u1ee7a b\u1ea1n v\u00f4.<\/p>\n

Flutter SDK Path:<\/strong> <path_to_flutter_sdk><\/p>\n

Project Location:<\/strong> <path_to_project_folder><\/p>\n

Descriptions:<\/strong> M\u1ed9t ch\u00fat\u00a0m\u00f4\u00a0t\u1ea3\u00a0v\u1ec1\u00a0\u1ee9ng\u00a0d\u1ee5ng\u00a0c\u1ee7a\u00a0b\u1ea1n<\/p>\n

Nh\u1eadp th\u00f4ng tin \u1ee9ng d\u1ee5ng<\/figcaption><\/figure>\n

B\u01b0\u1edbc 5: <\/strong>Trong b\u01b0\u1edbc c\u1ea5u h\u00ecnh ti\u1ebfp theo, b\u1ea1n c\u00f3 th\u1ec3 nh\u1eadp th\u00f4ng tin domain website c\u00f4ng ty c\u1ee7a b\u1ea1n nh\u01b0 h\u00ecnh d\u01b0\u1edbi r\u1ed3i b\u1ea5m n\u00fat Finish nh\u00e9.<\/p>\n

nh\u1eadp th\u00f4ng tin domain website c\u00f4ng ty c\u1ee7a b\u1ea1n<\/figcaption><\/figure>\n

Sau khi b\u1ea5m n\u00fat Finish, ch\u00fang\u00a0ta\u00a0ng\u1ed3i\u00a0ch\u1edd\u00a0\u1ee9ng\u00a0d\u1ee5ng\u00a0m\u1edbi\u00a0\u0111\u01b0\u1ee3c\u00a0t\u1ea1o\u00a0ra. Khi\u00a0project\u00a0m\u1edbi\u00a0\u0111\u01b0\u1ee3c\u00a0t\u1ea1o\u00a0ra, b\u1ea1n\u00a0s\u1ebd\u00a0nh\u00ecn\u00a0th\u1ea5y\u00a0\u0111\u1ea7y\u00a0\u0111\u1ee7\u00a0c\u00e1c\u00a0t\u00ednh\u00a0n\u0103ng\u00a0\u0111\u1ec3\u00a0l\u00e0m\u00a0vi\u1ec7c\u00a0v\u1edbi \u1ee9ng d\u1ee5ng.<\/p>\n

\u1ee8ng d\u1ee5ng Flutter m\u1edbi \u0111\u00e3 \u0111\u01b0\u1ee3c t\u1ea1o ra<\/figcaption><\/figure>\n

B\u01b0\u1edbc 6:<\/strong> B\u00e2y gi\u1edd b\u1ea1n h\u00e3y ki\u1ec3m tra xem c\u1ea5u tr\u00fac c\u1ee7a m\u1ed9t d\u1ef1 \u00e1n Flutter xem n\u00f3 nh\u01b0 th\u1ebf n\u00e0o nh\u00e9. \u1ede h\u00ecnh d\u01b0\u1edbi \u0111\u00e2y, b\u1ea1n c\u00f3 th\u1ec3 nh\u00ecn th\u1ea5y c\u1ea5u tr\u00fac c\u00e2y th\u01b0 m\u1ee5c, c\u00e1c component c\u1ee7a \u1ee9ng d\u1ee5ng Flutter s\u1ebd nh\u01b0 th\u1ebf n\u00e0o.<\/p>\n

T\u1ed5 ch\u1ee9c th\u01b0 m\u1ee5c c\u1ee7a m\u1ed9t \u1ee9ng d\u1ee5ng Flutter<\/figcaption><\/figure>\n

.idea:<\/strong> Th\u01b0 m\u1ee5c n\u00e0y n\u1eb1m tr\u00ean c\u00f9ng nh\u1ea5t c\u1ee7a \u1ee9ng d\u1ee5ng, n\u00f3 ch\u1ee9a th\u00f4ng tin c\u1ea5u h\u00ecnh cho Android Studio. N\u00f3 c\u0169ng kh\u00f4ng quan tr\u1ecdng trong vi\u1ec7c vi\u1ebft \u1ee9ng d\u1ee5ng c\u1ee7a b\u1ea1n \u0111\u00e2u. K\u1ec7 x\u1eeb n\u00f3 \u0111i nh\u00e9.<\/p>\n

.android:<\/strong> Th\u01b0 m\u1ee5c n\u00e0y ch\u1ee9a d\u1ef1 \u00e1n Android ho\u00e0n ch\u1ec9nh v\u00e0 \u0111\u01b0\u1ee3c s\u1eed d\u1ee5ng khi m\u00e0 ch\u00fang ta build \u1ee9ng d\u1ee5ng Flutter cho Android nh\u00e9. Khi ch\u00fang ta compie code c\u1ee7a Flutter theo native code, n\u00f3 s\u1ebd t\u1ea1o ra trong \u1ee9ng d\u1ee5ng Android n\u00e0y m\u1ed9t k\u1ebft qu\u1ea3 l\u00e0 m\u1ed9t \u1ee9ng d\u1ee5ng native Android. V\u00ed d\u1ee5: Khi b\u1ea1n \u0111ang s\u1eed d\u1ee5ng Android emulator, th\u00ec c\u00e1i \u1ee9ng d\u1ee5ng Android b\u1ea1n \u0111ang vi\u1ebft \u1ea5y, n\u00f3 s\u1ebd t\u1ea1o ra m\u1ed9t c\u00e1i app ngon l\u00e0nh, c\u00e1i \u1ee9ng\u00a0d\u1ee5ng\u00a0n\u00e0y \u0111\u01b0\u1ee3c t\u1ea1o b\u1edfi Android Vitrual Device.<\/p>\n

.ios:<\/strong> T\u01b0\u01a1ng t\u1ef1, th\u01b0 m\u1ee5c n\u00e0y ch\u1ee9a d\u1ef1 \u00e1n Mac ho\u00e0n ch\u1ec9nh v\u00e0 \u0111\u01b0\u1ee3c s\u1eed d\u1ee5ng khi b\u1ea1n build \u1ee9ng d\u1ee5ng Flutter cho iOS. M\u00e3 code khi \u0111\u01b0\u1ee3c bi\u00ean d\u1ecbch ra ki\u1ec3u native code. N\u00f3 s\u1ebd t\u1ea1o ra trong c\u00e1i d\u1ef1 \u00e1n iOS m\u1ed9t k\u1ebft qu\u1ea3 native l\u00e0 m\u1ed9t \u1ee9ng d\u1ee5ng iOS. Mu\u1ed1n tao ra m\u1ed9t d\u1ee9ng d\u1ee5ng Flutter cho iOS th\u00ec ch\u1ec9 c\u00f3 th\u1ec3 l\u00e0m vi\u1ec7c tr\u00ean m\u00e1y Mac th\u00f4i nh\u00e9.<\/p>\n

.lib:<\/strong> Th\u01b0 m\u1ee5c n\u00e0y c\u1ef1c quan tr\u1ecdng, n\u00f3 ch\u1ee9a c\u00e1c library. 99% l\u00e0 ch\u00fang ta s\u1ebd l\u00e0m vi\u1ec7c tr\u00ean th\u01b0 m\u1ee5c n\u00e0y nh\u00e9 c\u00e1c b\u1ea1n. Th\u00ec b\u00ean trong th\u01b0 m\u1ee5c n\u00e0y, b\u1ea1n c\u00f3 th\u1ec3 t\u00ecm th\u1ea5y c\u00e1c file Dart, m\u00e0 Dart l\u00e0 ng\u00f4n ng\u1eef \u0111\u1ec3 ch\u00fang ta x\u00e2y d\u1ef1ng \u1ee9ng d\u1ee5ng. M\u1eb7c \u0111\u1ecbnh ch\u00fang ta s\u1ebd c\u00f3 m\u1ed9t file main.dart nh\u00e9, c\u00e1i file n\u00e0y l\u00e0 c\u1ee7a Flutter t\u1ef1 t\u1ea1o ra.<\/p>\n

.test:<\/strong> Th\u01b0 m\u1ef1c n\u00e0y c\u0169ng ch\u1ee9a code Dart, n\u00f3 c\u00f3 nhi\u1ec7m v\u1ee5 ki\u1ec3m tra ch\u1ea5t l\u01b0\u1ee3ng, \u0111\u1ed9 ch\u1ecbu t\u1ea3i c\u1ee7a app m\u1ed9t c\u00e1c t\u1ef1 \u0111\u1ed9ng. Th\u01b0 m\u1ee5c n\u00e0y c\u0169ng kh\u00f4ng ph\u1ea3i l\u00e0 qu\u00e1 quan tr\u1ecdng nh\u00e9.<\/p>\n

Ch\u00fang ta c\u00f3 th\u1ec3 c\u00f3 r\u1ea5t nhi\u1ec1u file m\u1eb7c \u0111\u1ecbnh trong m\u1ed9t d\u1ef1 \u00e1n Flutter. 99.99% l\u00e0 ch\u00fang ta b\u1ecf m\u1eb7c n\u00f3 m\u00e0 ko h\u1ec1 ng\u00f3 ng\u00e0ng g\u00ec t\u1edbi. Nh\u1eefng t\u1ec7p \u0111\u00f3 nh\u01b0 sau:<\/p>\n

.gitignore:<\/strong> N\u00f3 l\u00e0 m\u1ed9t t\u1ec7p v\u0103n b\u1ea3n ch\u1ee9a danh s\u00e1ch c\u00e1c t\u1ec7p, ph\u1ea7n m\u1edf r\u1ed9ng t\u1ec7p v\u00e0 th\u01b0 m\u1ee5c cho Git bi\u1ebft t\u1ec7p n\u00e0o n\u00ean \u0111\u01b0\u1ee3c b\u1ecf qua trong m\u1ed9t d\u1ef1 \u00e1n. Git l\u00e0 m\u1ed9t t\u1ec7p ki\u1ec3m so\u00e1t phi\u00ean b\u1ea3n \u0111\u1ec3 theo d\u00f5i c\u00e1c thay \u0111\u1ed5i trong m\u00e3 ngu\u1ed3n trong qu\u00e1 tr\u00ecnh ph\u00e1t tri\u1ec3n ph\u1ea7n m\u1ec1m Git.<\/p>\n

.metadata:<\/strong> N\u00f3 l\u00e0 m\u1ed9t t\u1ec7p \u0111\u01b0\u1ee3c t\u1ea1o t\u1ef1 \u0111\u1ed9ng b\u1edfi c\u00e1c c\u00f4ng c\u1ee5 Flutter, \u0111\u01b0\u1ee3c s\u1eed d\u1ee5ng \u0111\u1ec3 theo d\u00f5i c\u00e1c thu\u1ed9c t\u00ednh c\u1ee7a d\u1ef1 \u00e1n Flutter. T\u1ec7p n\u00e0y th\u1ef1c hi\u1ec7n c\u00e1c t\u00e1c v\u1ee5 n\u1ed9i b\u1ed9, v\u00ec v\u1eady b\u1ea1n kh\u00f4ng c\u1ea7n ph\u1ea3i ch\u1ec9nh s\u1eeda n\u1ed9i dung theo c\u00e1ch th\u1ee7 c\u00f4ng b\u1ea5t c\u1ee9 l\u00fac n\u00e0o.<\/p>\n

.packages:<\/strong> \u0110\u00e2y l\u00e0 m\u1ed9t t\u1ec7p \u0111\u01b0\u1ee3c t\u1ea1o t\u1ef1 \u0111\u1ed9ng b\u1edfi Flutter SDK, \u0111\u01b0\u1ee3c s\u1eed d\u1ee5ng \u0111\u1ec3 ch\u1ee9a danh s\u00e1ch c\u00e1c ph\u1ee5 thu\u1ed9c cho d\u1ef1 \u00e1n Flutter c\u1ee7a b\u1ea1n.<\/p>\n

flutter_demoapp.iml:<\/strong> N\u00f3 lu\u00f4n \u0111\u01b0\u1ee3c \u0111\u1eb7t t\u00ean theo t\u00ean c\u1ee7a d\u1ef1 \u00e1n Flutter ch\u1ee9a c\u00e1c c\u00e0i \u0111\u1eb7t b\u1ed5 sung c\u1ee7a d\u1ef1 \u00e1n. T\u1ec7p n\u00e0y th\u1ef1c hi\u1ec7n c\u00e1c t\u00e1c v\u1ee5 n\u1ed9i b\u1ed9, \u0111\u01b0\u1ee3c qu\u1ea3n l\u00fd b\u1edfi Flutter SDK, v\u00ec v\u1eady b\u1ea1n kh\u00f4ng c\u1ea7n ph\u1ea3i ch\u1ec9nh s\u1eeda n\u1ed9i dung theo c\u00e1ch th\u1ee7 c\u00f4ng b\u1ea5t c\u1ee9 l\u00fac n\u00e0o.<\/p>\n

pubspec.yaml:<\/strong> \u0110\u00f3 l\u00e0 t\u1ec7p c\u1ea5u h\u00ecnh c\u1ee7a d\u1ef1 \u00e1n s\u1ebd s\u1eed d\u1ee5ng r\u1ea5t nhi\u1ec1u trong qu\u00e1 tr\u00ecnh l\u00e0m vi\u1ec7c v\u1edbi d\u1ef1 \u00e1n Flutter. N\u00f3 cho ph\u00e9p b\u1ea1n c\u00e1ch \u1ee9ng d\u1ee5ng c\u1ee7a b\u1ea1n ho\u1ea1t \u0111\u1ed9ng. T\u1ec7p n\u00e0y ch\u1ee9a:<\/p>\n