
{"id":7220,"date":"2020-12-04T07:46:58","date_gmt":"2020-12-04T07:46:58","guid":{"rendered":"https:\/\/tapchicntt.com\/?p=7220"},"modified":"2020-12-04T07:46:59","modified_gmt":"2020-12-04T07:46:59","slug":"bai-3-tao-ung-dung-flutter-dau-tien","status":"publish","type":"post","link":"https:\/\/tapchicntt.com\/bai-3-tao-ung-dung-flutter-dau-tien\/","title":{"rendered":"B\u00e0i 3: T\u1ea1o \u1ee9ng d\u1ee5ng Flutter \u0111\u1ea7u ti\u00ean"},"content":{"rendered":"\n<p>Trong b\u00e0i n\u00e0y, m\u00ecnh s\u1ebd h\u01b0\u1edbng d\u1eabn c\u00e1c b\u1ea1n t\u1ea1o m\u1ed9t\u00a0<strong>Flutter Application<\/strong>\u00a0\u0111\u1ea7u ti\u00ean tr\u00ean Android Studio, quan \u0111\u00f3 gi\u00fap c\u00e1c b\u1ea1n hi\u1ec3u c\u01a1 b\u1ea3n c\u1ea5u tr\u00fac c\u1ee7a m\u1ed9t project \u1ee9ng d\u1ee5ng Flutter<\/p>\n\n\n\n<p><strong>B\u01b0\u1edbc 1<\/strong>\u00a0\u2212 M\u1edf Android Studio<\/p>\n\n\n\n<p><strong>B\u01b0\u1edbc 2<\/strong>\u00a0\u2212 T\u1ea1o Flutter Project m\u1edbi: Chon\u00a0<strong>Start a New Flutter Project<\/strong>\u00a0ho\u1eb7c t\u1eeb menu\u00a0\u00a0<strong>File \u2192 New \u2192 New Flutter Project<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"766\" height=\"483\" src=\"https:\/\/tapchicntt.com\/wp-content\/uploads\/2020\/12\/tao_app_dau_tien_01.png\" alt=\"\" class=\"wp-image-7229\" srcset=\"https:\/\/tapchicntt.com\/wp-content\/uploads\/2020\/12\/tao_app_dau_tien_01.png 766w, https:\/\/tapchicntt.com\/wp-content\/uploads\/2020\/12\/tao_app_dau_tien_01-300x189.png 300w\" sizes=\"auto, (max-width: 766px) 100vw, 766px\" \/><\/figure>\n\n\n\n<p><strong>B\u01b0\u1edbc 3<\/strong>\u00a0\u2212 C\u00f3 nhi\u1ec1u lo\u1ea1i proect Flutter kh\u00e1c nhau ch\u00fang ta ch\u1ecdn\u00a0<strong>Flutter Application<\/strong>\u00a0v\u00e0 nh\u1ea5n\u00a0<strong>Next<\/strong>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"902\" height=\"615\" src=\"https:\/\/tapchicntt.com\/wp-content\/uploads\/2020\/12\/tao_app_dau_tien_02.png\" alt=\"\" class=\"wp-image-7230\" srcset=\"https:\/\/tapchicntt.com\/wp-content\/uploads\/2020\/12\/tao_app_dau_tien_02.png 902w, https:\/\/tapchicntt.com\/wp-content\/uploads\/2020\/12\/tao_app_dau_tien_02-300x205.png 300w, https:\/\/tapchicntt.com\/wp-content\/uploads\/2020\/12\/tao_app_dau_tien_02-768x524.png 768w\" sizes=\"auto, (max-width: 902px) 100vw, 902px\" \/><\/figure>\n\n\n\n<p><strong>B\u01b0\u1edbc 4<\/strong>\u00a0\u2212 \u0110\u1eb7t t\u00ean v\u00e0 m\u00f4 t\u1ea3 cho Project sau \u0111\u00f3 ch\u1ecdn\u00a0<strong>Next<\/strong>.<\/p>\n\n\n\n<p>B\u1ea1n \u0111\u1eb7t t\u00ean cho project l\u00e0\u00a0<strong>flutter_app<\/strong>\u00a0ho\u1eb7c t\u00ean b\u1ea5t k\u00ec. Ch\u1ecdn \u0111\u01b0\u1eddng d\u1eabn th\u01b0 m\u1ee5c Flutter SDK, n\u01a1i l\u01b0u tr\u1eef project v\u00e0 m\u00f4 t\u1ea3 c\u1ee7a \u1ee9ng d\u1ee5ng sau \u0111\u00f3 nh\u1eadn Next<\/p>\n\n\n\n<p><strong>B\u01b0\u1edbc\u00a0 5<\/strong>\u00a0\u2212 \u0110i\u1ec1n package_name cho \u1ee9ng d\u1ee5ng<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"902\" height=\"615\" src=\"https:\/\/tapchicntt.com\/wp-content\/uploads\/2020\/12\/tao_app_dau_tien_03.png\" alt=\"\" class=\"wp-image-7231\" srcset=\"https:\/\/tapchicntt.com\/wp-content\/uploads\/2020\/12\/tao_app_dau_tien_03.png 902w, https:\/\/tapchicntt.com\/wp-content\/uploads\/2020\/12\/tao_app_dau_tien_03-300x205.png 300w, https:\/\/tapchicntt.com\/wp-content\/uploads\/2020\/12\/tao_app_dau_tien_03-768x524.png 768w\" sizes=\"auto, (max-width: 902px) 100vw, 902px\" \/><\/figure>\n\n\n\n<p><strong>B\u01b0\u1edbc 6<\/strong>\u00a0\u2212 Nh\u1ea5n <strong>Finish<\/strong> v\u00e0 \u0111\u1ee3i m\u1ed9t l\u00fac \u0111\u1ec3 Android Studio ti\u1ebfn h\u00e0nh vi\u1ec7c t\u1ea1o project.<\/p>\n\n\n\n<p>Sau khi t\u1ea1o xong, ch\u00fang ta c\u00f3 th\u1ec3 th\u1ea5y c\u1ea5u tr\u00fac c\u1ee7a m\u1ed9t project Flutter nh\u01b0 b\u00ean d\u01b0\u1edbi:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"461\" src=\"https:\/\/tapchicntt.com\/wp-content\/uploads\/2020\/12\/tao_app_dau_tien_04-1024x461.png\" alt=\"\" class=\"wp-image-7232\" srcset=\"https:\/\/tapchicntt.com\/wp-content\/uploads\/2020\/12\/tao_app_dau_tien_04-1024x461.png 1024w, https:\/\/tapchicntt.com\/wp-content\/uploads\/2020\/12\/tao_app_dau_tien_04-300x135.png 300w, https:\/\/tapchicntt.com\/wp-content\/uploads\/2020\/12\/tao_app_dau_tien_04-768x346.png 768w, https:\/\/tapchicntt.com\/wp-content\/uploads\/2020\/12\/tao_app_dau_tien_04.png 1319w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>M\u00ecnh gi\u1ea3i th\u00edch qua c\u00e1c th\u00e0nh ph\u1ea7n c\u1ee7a m\u1ed9t Project Flutter<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>android<\/strong>\u00a0\u2212 Th\u01b0 m\u1ee5c code sinh t\u1ef1 \u0111\u1ed9ng cho \u1ee9ng d\u1ee5ng Android<\/li><li><strong>ios<\/strong>\u00a0\u2212 Th\u01b0 m\u1ee5c code sinh t\u1ef1 \u0111\u1ed9ng cho \u1ee9ng d\u1ee5ng iOS<\/li><li><strong>lib<\/strong>\u00a0\u2212 Main folder ch\u1ee9a Dart code \u0111\u01b0\u1ee3c vi\u1ebft khi s\u1eed d\u1ee5ng flutter framework<\/li><li><strong>lib\/main.dart<\/strong>\u00a0\u2212 File \u0111\u1ea7u ti\u00ean l\u00e0 \u0111i\u1ec3m kh\u1edfi \u0111\u1ea7u c\u1ee7a \u1ee9ng d\u1ee5ng Flutter application<\/li><li><strong>test<\/strong>\u00a0\u2212 Folder ch\u1ee9a Dart code \u0111\u1ec3 test flutter application<\/li><li><strong>test\/widget_test.dart<\/strong>\u00a0\u2212 Code m\u1eabu<\/li><li><strong>.gitignore<\/strong>\u00a0\u2212 Git version control file &#8211; File n\u00e0y ch\u1ee9a c\u1ea5u h\u00ecnh cho project git<\/li><li><strong>.metadata<\/strong>\u00a0\u2212 sinh t\u1ef1 \u0111\u1ed9ng b\u1edfi flutter tools<\/li><li><strong>.packages<\/strong>\u00a0\u2212 sinh t\u1ef1 \u0111\u1ed9ng \u0111\u1ec3 theo d\u00f5i flutter packages<\/li><li><strong>.iml<\/strong>\u00a0\u2212 project file c\u1ee7a Android studio<\/li><li><strong>pubspec.yaml<\/strong>\u00a0\u2212 \u0110\u01b0\u1ee3c s\u1eed d\u1ee5ng\u00a0<strong>Pub<\/strong>, Flutter package manager<\/li><li><strong>pubspec.lock<\/strong>\u00a0\u2212 Sinh t\u1ef1 \u0111\u1ed9ng b\u1edfi Flutter package manager,\u00a0<strong>Pub<\/strong><\/li><li><strong>README.md<\/strong>\u00a0\u2212 Project description \u0111\u01b0\u1ee3c vi\u1ebft theo c\u1ea5u tr\u00fac Markdown<\/li><\/ul>\n\n\n\n<p><strong>B\u01b0\u1edbc 7<\/strong>\u00a0\u2212 M\u1eb7c \u0111\u1ecbnh Android Studio \u0111\u00e3 t\u1ea1o s\u1eb5n cho ch\u00fang ta m\u1ed9t \u1ee9ng d\u1ee5ng counter d\u00f9ng \u0111\u1ec3 t\u0103ng m\u1ed9t s\u1ed1 khi nh\u1ea5n v\u00e0o button (+) trong file\u00a0<em>lib\/main.dart <\/em><\/p>\n\n\n\n<p>Ch\u00fang ta c\u00f3 th\u1ec3 ch\u1ea1y th\u1eed ch\u01b0\u01a1ng tr\u00ecnh m\u1eabu c\u1ee7a Flutter nh\u01b0 sau:<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"311\" height=\"608\" src=\"https:\/\/tapchicntt.com\/wp-content\/uploads\/2020\/12\/tao_app_dau_tien_05.png\" alt=\"\" class=\"wp-image-7233\" srcset=\"https:\/\/tapchicntt.com\/wp-content\/uploads\/2020\/12\/tao_app_dau_tien_05.png 311w, https:\/\/tapchicntt.com\/wp-content\/uploads\/2020\/12\/tao_app_dau_tien_05-153x300.png 153w\" sizes=\"auto, (max-width: 311px) 100vw, 311px\" \/><\/figure><\/div>\n\n\n\n<p>C\u00e1c b\u1ea1n c\u00f3 th\u1ec3 x\u00f3a h\u1ebft c\u00e1c \u0111o\u1ea1n ch\u00fa th\u00edch \u0111\u1ec3 xem r\u00f5 code h\u01a1n.<\/p>\n\n\n\n<p>Ch\u00fac c\u00e1c b\u1ea1n vui v\u1ebb!<br><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Trong b\u00e0i n\u00e0y, m\u00ecnh s\u1ebd h\u01b0\u1edbng d\u1eabn c\u00e1c b\u1ea1n t\u1ea1o m\u1ed9t\u00a0Flutter Application\u00a0\u0111\u1ea7u ti\u00ean tr\u00ean Android Studio, quan \u0111\u00f3 gi\u00fap c\u00e1c [&hellip;]<\/p>\n","protected":false},"author":6,"featured_media":7229,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[214],"tags":[],"class_list":["post-7220","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-flutter"],"views":544,"_links":{"self":[{"href":"https:\/\/tapchicntt.com\/rest-api\/wp\/v2\/posts\/7220","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tapchicntt.com\/rest-api\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/tapchicntt.com\/rest-api\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/tapchicntt.com\/rest-api\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/tapchicntt.com\/rest-api\/wp\/v2\/comments?post=7220"}],"version-history":[{"count":1,"href":"https:\/\/tapchicntt.com\/rest-api\/wp\/v2\/posts\/7220\/revisions"}],"predecessor-version":[{"id":7234,"href":"https:\/\/tapchicntt.com\/rest-api\/wp\/v2\/posts\/7220\/revisions\/7234"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/tapchicntt.com\/rest-api\/wp\/v2\/media\/7229"}],"wp:attachment":[{"href":"https:\/\/tapchicntt.com\/rest-api\/wp\/v2\/media?parent=7220"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tapchicntt.com\/rest-api\/wp\/v2\/categories?post=7220"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tapchicntt.com\/rest-api\/wp\/v2\/tags?post=7220"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}