1. Trang chủ
  2. » Thể loại khác

BÁO CÁO ĐỒ ÁN CHUYÊN NGÀNH 2 ĐỀ TÀI: XÂY DỰNG ỨNG DỤNG ĐA NỀN TẢNG TAXI APP. Giảng viên hướng dẫn : TS. LÊ TÂN

33 146 5

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 33
Dung lượng 1,43 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Mặc dù đã rất cố gắng hoàn thiện bản báo cáo đồ án với tất cả sự nỗ lực, tuy nhiên, do chưa có nhiều kinh nghiệm trong việc làm ứng dụng di động, cũng như thời gian có hạn, kiến thức còn

Trang 1

ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ

TRUYỀN THÔNG VIỆT - HÀN

BÁO CÁO ĐỒ ÁN CHUYÊN

Trang 2

ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ

TRUYỀN THÔNG VIỆT - HÀN

BÁO CÁO ĐỒ ÁN CHUYÊN

NGÀNH 2

ĐỀ TÀI: XÂY DỰNG ỨNG DỤNG ĐA NỀN TẢNG

TAXI APP

Đà Nẵng, tháng 05 năm 2021

Trang 3

LỜI CẢM ƠN

Trên thực tế không có sự thành công nào mà không gắn liền với những sự hỗ trợ, sự giúp đỡ dù ít hay nhiều, dù là trực tiếp hay gián tiếp của người khác Trong suốt thời gian từ khi bắt đầu học tập ở giảng đường đại học đến nay, em đã nhận được rất nhiều sự quan tâm, giúp đỡ của Thầy Cô, gia đình và bạn bè.

Với lòng biết ơn sâu sắc nhất, em xin gửi đến Thầy Cô ở Trường Đại Học Công Nghệ Thông Tin và Truyền Thông Việt - Hàn đã cùng với tri thức và tâm huyết của mình để truyền đạt vốn kiến thức quý báu cho em

Em xin chân thành cám ơn thầy TS Lê Tân đã tận tình hướng dẫn em trong quá trình làm đồ án, những điều cần chú ý khi làm ứng dụng Trong thời gian làm đồ án em đã có được nhiều kiến thức và kinh nghiệm trong lập trình, dưới sự hướng dẫn của thầy hướng dẫn, chúng em không những thu được rất nhiều kiến thức bổ ích, mà còn tích lũy được nhiều kinh nghiệm hữu ích cho công việc sau này.

Mặc dù đã rất cố gắng hoàn thiện bản báo cáo đồ án với tất

cả sự nỗ lực, tuy nhiên, do chưa có nhiều kinh nghiệm trong việc làm ứng dụng di động, cũng như thời gian có hạn, kiến thức còn hạn chế nên bản báo cáo này chắc chắn sẽ không thể tránh khỏi những thiếu sót Chúng em rất mong nhận được sự quan tâm, thông cảm và những đóng góp quý báu của các thầy cô và các bạn

để bản báo cáo này ngày càng hoàn thiện hơn.

Sau cùng, em xin kính chúc các thầy cô trong Trường Đại Học Công Nghệ Thông Tin và Truyền Thông Việt - Hàn dồi dào sức khỏe để tiếp tục truyền đạt kiến thức cho thế hệ mai sau.

Trang 4

MỞ ĐẦU

Hiện nay, sự phát triển của công nghệ thông tin ở nước ta đang bước vào thời kỳ mới với việc triển khai rộng rãi các ứng dụng tin học vào mỗi nhu cầu của người dân Khồng ai còn nghi ngờ gì về vai trò của công nghệ thông tin trong đời sống, trong khoa học kĩ thuật, kinh doanh, cũng như trong mọi mặt của xã hội, ngay cả đối với một cá nhân.

Trong cuộc sống hiện nay việc sử dụng những ứng dụng điện thoại di động đang ngày càng trở nên phổ biến, từ những ứng dụng trò chơi đến những ứng dụng, phục vụ cho nhu cầu cuộc sống hàng ngày như mua sắm, đọc báo, xem phim… Hiện nay việc đi lại bằng phương tiện công cộng đang ngày càng trở nên phổ biến, đặc biệt là đi taxi và một ứng dụng kết nối hành khách

và lái xe sẽ giúp việc đi lại trở nên dễ dàng và thuận tiện hơn là rất cần thiết, giúp nhu cầu cuộc sống của con người được nâng cao.

Được sự đồng ý của nhà trường và giáo viên hướng dẫn em

đã được thực hiện đồ án chuyên ngành 2 là: Xây dựng ứng dụng gọi xe taxi Ứng dụng này giúp cho người dùng có thể tìm xe, gọi

xe, cũng như biết được chi phí khi đi là bao nhiêu Là ứng dụng có thể tính tiền bằng quãng đường đi được thông qua google maps và nhiều tiện ích khác.

Bằng sự cố gắng nỗ lực của bản thân đặc biệt là sự giúp đỡ tận tình, chu đáo của thầy TS Lê Tân em đã hoàn thành đồ án đúng thời hạn Do thời gian làm đồ án có hạn và trình độ còn nhiều hạn chế nên không thể tránh khỏi những thiếu sót Em rất mong nhận dược sự đóng góp của các thầy cô để bài đồ án này được hoàn thiện hơn

Em xin chân thành cảm ơn!

Trang 5

NHẬN XÉT (Của giảng viên hướng dẫn)

Trang 6

MỤC LỤC

Chương 1 PHÁT BIỂU BÀI TOÁN 1

1.1 Giới thiệu về đề tài xây dựng ứng dụng gọi xe 1

1.1.1 Quy trình nghiệp vụ 1

1.1.2 Những khó khăn, thuận lợi 1

1.1.3 Bài toán quản lý hệ thống gọi xe 2

1.2 Những công nghệ áp dụng 3

Chương 2 TỔNG QUAN 4

2.1 Giới thiệu về đề tài: 4

2.2 Mục đích nghiên cứu: 5

2.3 Phương pháp nghiên cứu: 6

Chương 3 CƠ SỞ LÝ THUYẾT 7

3.1 Flutter 7

3.1.1 Giới thiệu về Flutter: 7

3.1.2 Mô hình cấu tạo nên một project Flutter 8

3.1.3 Ưu điểm của Flutter 9

3.1.4 Các thành phần quan trọng trong Flutter 9

3.2 Dart 11

3.2.1 Giới thiệu ngôn ngữ Dart 11

3.2.2 Đặc điểm của ngôn ngữ Dart: 12

3.2.3 Những ưu điểm của Dart: 12

3.2.4 Cài đặt Dart 12

Chương 4 PHÂN TÍCH THIẾT KẾ HỆ THỐNG 13

4.1 Khảo sát và phân tích bài toán 13

4.1.1 Khảo sát và phân tích hiện trạng 13

4.1.2 Phân tích bài toán 15

4.1.3 Đặc tả yêu cầu hệ thống 15

4.1.4 Biểu đồ 16

4.1.5 Mô tả chức năng 17

4.1.6 Phân tích yêu cầu (Mô hình xử lý DFD) 18

Chương 5 THIẾT KẾ ỨNG DỤNG 21

5.1 Welcome Page 21

5.2 Login Pages 22

5.3 Sign Up Pages 23

5.4 Lưu thông tin lên Firebase 23

5.5 Home Pages, Menu 24

5.6 Lộ trình đi 25

5.7 Tính cước đường đi 25

Chương 6 KẾT LUẬN 26

6.1 Kết quả đạt được của đề tài 26

6.2 Hạn chế của đề tài 26

6.3 Hướng phát triển của đề tài 26

Trang 7

DANH MỤC HÌNH

Hình 1 Mô hình cấu tạo nên một project Flutter 8

Hình 2 Biểu đồ ngữ cảnh 16

Hình 3 Biểu đồ phân rã chức năng 17

Hình 4 Sơ đồ luồng mức đỉnh 18

Hình 5 Quản lý khách hàng 19

Hình 6 Quản lý tài xế 19

Hình 7 Quản lý chuyến đi 20

Hình 8 Quản lý thanh toán 20

Hình 9 Welcome Page 21

Hình 10 Login Page 22

Hình 11 Sign Up Page 23

Hình 12 Lưu dữ liệu Firebase 23

Hình 13 Home Page Hình 14 Menu 24

Hình 15 Lộ trình 25

Hình 16 Phí cước 25

Trang 8

Chương 1 PHÁT BIỂU BÀI TOÁN

1.1 Giới thiệu về đề tài xây dựng ứng dụng gọi xe.

Trong cuộc sống hiện nay việc sử dụng những ứng dụng điện thoại di độngđang ngày càng trở nên phổ biến, từ những ứng dụng trò chơi đến những ứngdụng phục vụ cho nhu cầu cuộc sống hàng ngày như mua sắm, đọc báo, xemphim… và em muốn giới thiệu một ứng dụng phục vụ cho nhu cầu đi lại của cònngười Giúp nhu cầu cuộc sống của con người được nâng cao

Ứng dụng này giúp cho người dùng có thể tìm xe, gọi xe, cũng như biếtđược chi phí khi đi là bao nhiêu Là ứng dụng có thể tính tiền bằng quãng đường

đi đượcthông qua Google maps và nhiều tiện ích khác Mặc dù đã cố gắng nhưng

do hạnchế về mặt thời gian và trình độ nên ứng dụng còn nhiều sai sót và chưahoàn chỉnh, mong thầy cô thông cảm và góp ý cho em

1.1.1 Quy trình nghiệp vụ.

Hệ thống gọi xe và đi xe taxi theo kiểu truyền thống là khi khách hàng cónhu cầu đi lại bằng taxi Thì phải gọi điện đến số tổng đài của một hãng xe taxinào mà khách hàng biết Khi khách hàng gọi đến tổng đài thì tổng đài viên sẽ tiếpnhận yêu cầu của khách hàng và tổng đài viên sẽ thông báo đến tất cả các xe củahãng thông tin có khách hàng tại địa chỉ của khách hàng

Khi đó, lái xe nào chấp nhận thì sẽ xácnhận lại với tổng đài viên, tổng đàiviên chấp nhận thì lái xe sẽ đến địa chỉ được cung cấp để đón khách Lái xe đếnđón khách và đi đến vị trí mà khách yêu cầu Số tiền được tính bằng đồng hồ trên

xe theo số km thực tế đi được nhân với giá của từng quãng đường cộng với giá

mở cửa

1.1.2 Những khó khăn, thuận lợi.

 Những khó khăn:

o Quy trình gọi xe theo hệ thống cũ gây khó khăn cho việc gọi xe và đi lại

 Khi khách hàng gọi điện lên tổng đài để đặt xe thì sẽ làm cho kháchhàng mất thêm tiền điện thoại, đồng thời cũng sẽ tốn thời gian cho

cả khách hàng và lái xe sẽ được chọn khi phải thông qua tổng đài

để đặt xe

 Khách hàng không có nhiều loại xe và hạng xe để chọn

 Khách hàng không thể so sánh giá của các hạng xe với nhau để cóthể chọn được xe có giá phù hợp với nhu cầu của mình

 Khách hàng không thể biết được số tiền mà mình có thể phải trảcho quãng đường mà mình đi cũng như thời gian đi và số km

Trang 9

 Hành khách sẽ không thể thấy được là có lái xe nào đang đến chỗmình không.

 Lái xe không thể thấy được thông tin hành khách cũng như khôngbiết được vị trí điểm đón và điểm đến của khách hàng cũng nhưthông tin liên hệ với hành khách, mà phải thông qua tổng đài

 Lái xe, hành khách cũng không thể thấy được cung đường đi màmình sẽ đi

 Quy trình gọi xe theo hệ thống gọi xe trên ứng dụng được xây dựngtrên nền tảngandroid sẽ có những khó khăn như: Khó khăn cho việctính toán thời gian, quãng đường, vị trí hiện tại của hành khách vàlái xe thông qua Google

 Những thuận lợi:

o Đáp ứng nhu cầu của khách hàng một cách nhanh nhất có thể

o Tiếp kiệm chi phí, thời gian cho khách hàng

o Giúp lái xe thuận tiện hơn khi đón khách, và có nhiều cơ hội có khách hàng hơn

o Có nhiều ưu đãi, khuyến mãi hơn cho cả khách hàng và lái xe

1.1.3 Bài toán quản lý hệ thống gọi xe

Hệ thống gọi xe trên nền tảng android là khi khách hàng có nhu cầu đi lại.Khách hàng chỉ cần mở ứng dụng lên chọn điểm đón, điểm đến và nhấn nút yêucầu xe, là có thể có xe để đi Đồng thời khách hàng còn có thể xem trước giácước theo ước tính của từng hạng xe

Khách hàng có thể chọn với nhiều hạng xe khác nhau Mỗi loại lại gồmnhiều loại xe để chọn Khách hàng có thể xem trực tiếp thông tin lái xe, thông tin

về cước của hạng xe mà mình chọn và còn có thể thấy những xe nào đang ở gầnmình để có thể chọn trực tiếp hạng xe và lái xe mà mình thích, nếu xe đó đangbận thì hệ thống sẽ tự động gọi một xe khác

Đồng thời khách hàng còn có thể xem được cước ước tính, thời gian ướctính cũng như quãng đường ngắn nhất theo google map Lái xe cũng có thể thấyđược thông tin của khách hàng khi khách hàng yêu cầu xe và lái xe có thể đếnđiểm đón mà khách hàng đã chọn để đón khách Sau khi đón được khách và điđến địa chỉ mà khách hàng chọn thì lái xe sẽ bấm vào nút hoàn tất chuyến đi đểkết thúc chuyến Khi đó thì một màn hình thanh toán sẽ được hiển thị lên cho lái

xe Màn hình thanh toán sẽ bao gồm thông tin về số tiền tính theo số km đo đượcbằng google map, và các phí khác nếu có như phí cầu đường

Trang 10

Sau đó lái xe sẽ yêu cầu thanh toán và biên lai thanh toán sẽ được hiển thịlên cho khách hàng, khách hàng xem thông tin và thanh toán bằng tiền mặt cholái xe Bài toán quản lý của hệ thống gọi xe sẽ là phải làm sao khắc phục đượcnhững khó khăn của quá trình gọi xe theo hệ thống cũ Như hệ thống sẽ phải giảiquyết được bài toán làm sao để không gây tốn thời gia cho cả khách hàng và lái

xe Giảm thiểu chi phí cho khách hàng, cho phép khách hàng có nhiều lựa chọntrong việc đi lại như có nhiều hạng xe và loại xe Cung cấp thông tin của nhữnglái xe và hành khách yêu cầu xe để đảm bảo an toàn, và sự an tâm của hànhkhách Cung cấp thông tin vê bảng giá của từng hạng xe, cước ước tính trongquãng đường mà hành khách chọn đối với từng hạng xe Làm sao để hiển thịđược vị trí hành khách, lái xe,thời gian, số km một cách trực quan

Android studio: là môi trường phát triển tích hợp (IDE) chính thức

dành chophát triển nền tảng Android được cung cấp miễn phí bởigoogle

Firebase.

Trang 11

Chương 2 TỔNG QUAN

2.1 Giới thiệu về đề tài:

 Tại sao chọn Flutter mà không phải là ngôn ngữ khác?

 Nếu bạn đang tìm kiếm các phương pháp thay thế để phát triển ứngdụngAndroid, bạn nên cân nhắc thử Flutter của Google, một frameworkdựatrên ngôn ngữ lập trình Dart

 Các ứng dụng được xây dựng với Flutter hầu như không thể phân biệtvớinhững ứng dụng được xây dựng bằng cách sử dụng Android SDK, cảvềgiao diện và hiệu suất Hơn nữa, với những tinh chỉnh nhỏ, chúng cóthểchạy trên thiết bị iOS

 Phát triển ứng dụng thống nhất: Flutter có các công cụ và thư viện đểgiúpbạn dễ dàng đưa ý tưởng của mình vào cuộc sống trên iOS vàAndroid.Nếu bạn chưa có kinh nghiệm phát triển trên thiết bị di động, thìFlutter làmột cách dễ dàng và nhanh chóng để xây dựng các ứng dụng diđộng tuyệtđẹp Nếu bạn là một nhà phát triển iOS hoặc Android có kinhnghiệm, bạn

có thể sử dụng Flutter cho các View của bạn và tận dụngnhiều code Java /Kotlin / ObjC / Swift hiện có của bạn

 Framework hiện đại và reactive: Dễ dàng tạo giao diện người dùng củabạnvới framework hiện đại, reactive của Flutter và tập hợp các platform,layout

và widget phong phú Giải quyết các thách thức giao diện ngườidùng khókhăn của bạn với các API mạnh mẽ và linh hoạt cho 2D,animation,gesture, hiệu ứng và hơn thế nữa

 UI đẹp và biểu cảm: Thỏa mãn người dùng của bạn với các widget built-inđẹp mắt của Flutter theo Material Design và Cupertino (iOS-flavor),cácAPI chuyển động phong phú, scroll tự nhiên mượt mà và tự nhậnthứcđược nền tảng

 Chạy ở 60 fps, giao diện

 Người dùng được tạo ra với Flutter thực thi tốt hơn nhiều so với nhữngứngdụng được tạo ra với các framework phát triển đa nền tảng khácchẳng hạnnhư React Native và Ionic Một số lí do khiến bạn có thể hứngthú vớiFlutter:

o Flutter sử dụng Dart, một ngôn ngữ nhanh, hướng đối tượng vớinhiềutính năng hữu ích như mixin, generic, isolate, và static type

o Flutter có các thành phần UI của riêng nó, cùng với một cơ chế đểkếtxuất chúng trên nền tảng Android và iOS Hầu hết các thànhphần giao

Trang 12

diện người dùng, đều sẵn dùng, phù hợp với các nguyêntắc củaMaterial Design.

o Các ứng dụng Flutter có thể được phát triển bằng cách4 sử dụngIntelliJIDEA, một IDE rất giống với Android Studio

Hiện nay có rất nhiều ngôn ngữ hổ trợ đa nền tảng một cái tên lớn phảinhắc đến là React Native Các công ty lớn như UberEats, Discord

và Facebook đã chuyển sang React Native – như một phần tất yếu của sự dịchchuyển công nghệ Nhưng Google cũng không chịu thua Họ đã nhận thấy độ phủsóng của React Native Sau 2 năm nghe ngóng, Google cho ra mắt phiên bảnalpha của Flutter

Hỗ trợ hot reload:

Thông thường với lập trình Android bằng Android Studio Mỗi lần chúngtathay đổi một dòng code thì đều phải build và chạy lại ứng dụng.Hot reload sẽgiúp chúng ta không phải build lại ứng dụng và chỉ reload lạimàn hình đã thayđổi code mà thôi Điều này sẽ tiết kiệm rất nhiều thời giancho developer

Code structure:

Ngược với React Native, Flutter không tách biệt data, style, vàtemplates.Mình biết bạn có thể cảm thấy kì lạ nếu như bạn đã quen với Reactnative.Tuy nhiên, cách tiếp cận này cũng thuận tiện và được khá nhiều ngườichấp thuận Flutter không cần thêm ngôn ngữ tạo giao diện như JSX hoặcXMLhay các công cụ đặc biệt để tạo layout.Khi sử dụng Flutter, bạn có thể tiếtkiệm thời gian khi không cần phảichuyển từ chế độ thiết kế sang code và ngượclại Flutter cho phép bạn làmmọi thứ trong cùng một màn hình Ngoài ra, tất cảcác công cụ cần thiết đềucó thể truy cập từ cùng một vị trí

Cài đặt môi trường phát triển:

Flutter được đơn giản hóa quá trình cài đặt Framework này cũng cungcấpmột công cụ hữu ích để kiểm tra lỗi hệ thống được gọi là ” Flutter doctor”

Hiệu suất sử dụng:

Flutter là kiến trúc cho phép chúng ta xây dựng các ứng dụng native,cóhiệu suất nhanh Bởi vì Flutter không cần cầu nối, nó có thể hoạt độngnhanhhơn nhiều Do đó, Flutter có thể chạy animation với 60 khung hình/giây

Trang 13

 Nắm được những kiến thức cơ bản về Android Studio

2.3 Phương pháp nghiên cứu:

 Thu thập tham khảo các tài liệu trên các trang web

 Tham khảo ý kiến của giảng viên hướng dẫn để hoàn thiện phần mềm

 Xây dựng một phần mềm với công cụ hỗ trợ Flutter và ngôn ngữ Dart

Trang 14

Chương 3 CƠ SỞ LÝ THUYẾT

3.1 Flutter.

3.1.1 Giới thiệu về Flutter:

Flutter là một Framework viết trên nền ngôn ngữ Dart Flutter được sinh ranhư một Cross-platform framework nhưng khác với những Cross-platform hiệntại, Flutter viết mã và build ra các đoạn mã thực thi tương ứng trên cácthiết bịkhác nhau thay vì build ra thành các đoạn mã được tối ưu và chạy trên những môitrường trung gian

Flutter được viết chia làm hai tầng Tầng ở trên sử dụng ngôn ngữ cung cấpcác đoạn mã xây dựng lên một ứng dụng Flutter Các đoạn mã này cung cấpphương tiện để có thể thay đổi và chỉnh sửa chúng Từ đó giúp ứng dụng của lậptrình viên có thể được tùy chỉnh theo mong muốn Tầng Application này giúp lậptrình viên thay đổi mã nguồn ứng dụng ở thời điểm compile time Tầng thứ haicủa Flutter nằm ở sâu bên dưới và được viết bằng C++ Tầng Shell này chứa cáccông tụ trợ giúp ứng dụng Flutter trong quá trình chạy Nổibật cần lưu ý ở tầngnày là máy ảo Dart VM Khái niệm máy ảo là khái niệm về một ứng dụng chạysong song với mã nguồn chính như một phần của ứng dụng

 Flutter là SDK dành cho thiết bị di động của Google để tạo ra các giaodiện native chất lượng cao trên iOS và Android trong thời gian ngắn.Flutter làm việc với source code có sẵn, được sử dụng bởi các nhà pháttriển và các tổ chức trên khắp thế giới, đồng thời nó open-source và miễnphí

 Flutter có các công cụ và thư viện để giúp bạn dễ dàng đưa ý tưởng củamình vào cuộc sống trên iOS và Android Nếu bạn chưa có kinh nghiệmphát triển trên thiết bị di động, thì Flutter là một cách dễ dàng và nhanhchóng để xây dựng các ứng dụng di động tuyệt đẹp Nếu bạn là một nhàphát triển iOS hoặc Android có kinh nghiệm, bạn có thể sử dụng Fluttercho các View của bạn và tận dụng nhiều code Java / Kotlin / ObjC / Swifthiện có của bạn

 Flutter sử dụng Dart, một ngôn ngữ nhanh, hướng đối tượng với nhiều tínhnăng hữu ích như mixin, generic, isolate, và static type

 Flutter có các thành phần UI của riêng nó, cùng với một cơ chế để kết xuấtchúng trên nền tảng Android và iOS Hầu hết các thành phần giao diệnngười dùng đều sẵn dùng, phù hợp với các nguyên tắc của MaterialDesign

Trang 15

3.1.2 Mô hình cấu tạo nên một project Flutter.

Hình 1 Mô hình cấu tạo nên một project Flutter

 Phần lớn nhất chính là: My App

 Bên trong Material App sẽ có các thuộc tính: title, theme, và home Trong đó, tên title có ý nghĩa tương đương vớiAndroid@string/app_name để được đặt trong AndroidManifest với thuộctínhapplication:android: name, hay với iOS là Product Name, hay chí ít làIdentity#Display name Tên theme này có vai trò tương tự như phần themetrong values / styles của Android Cuối cùng là home Vai trò của tên nàytương ứng với việc bạn định nghĩa Activity

 Scaffold: đóng vai trò như phần nền để bố trí các thành phần khác theophong các Material Design hay Material Theming Nếu bạn đã quen vớiviệc viết ứng dụng Android theo phong cách mặc định là Google cungcấp thông qua theme Theme.AppCompat hayandroid:Theme.Material thì bạn không còn lạ gì với Scaffold này Nó

Trang 16

tương tự như vậy và giống như là sự tổng hợp của DrawerLayout vàCoordinatorLayout vậy.

 AppBar: Nó tương tự như Toolbar hay ActionBar trong Android Sdk vàSupport Lib Tuy nhiên, nó không đơn giản như Toolbar hayActionBar, vì thực sự bạn phải chỉ định Widget con của nó bằng tay, thay

vì dùng hàng loạt methods để thực hiện các thao tác đã định sẵn với cácWidgets mặc định trong Android như setText haysetNavigationIcon

 Column và Row: Đây sẽ là những widget quen thuộc đối với các bạnchuyên code Android, vì chúng tương đồng với LinearLayout Trong khiRow tương ứng với LinearLayout với orientation là horizontal, tức chiềungang, thì Column resemble vertical LinearLayout, tức chiều dọc Còn đốivới các bạn chưa thao tác với Android Sdk, thì chúng sẽ sắp xếp tuần tựcác widget con theo một hướng ngang từ start sang end đối vớiRow, hay từ top xuống bottom với Column

 Center: Đây sẽ là một Widget có thể gây cho bạn sự lầm lẫn khá tai hại bởihành vi của nó có khác khi nó đi một mình hay đi chung với ai đó Nếu nó

đi một mình, và parent của nó không đi kèm với Widget ngang hàng (vớitên parent đó) nào khác và bản thân của nó cũng không “nắm tay” ai, thìkích thước của nó sẽ tăng lên chiếm trọn không gian Còn nếu nó phải đikèm với ai đó, thì nó sẽ điều chỉnh kích thước chỉ vừa đủ bọc con/childcủa nó mà thôi

3.1.3 Ưu điểm của Flutter.

 Fast Development: Tính năng Hot Reload hoạt động trongmilliseconds để hiện thị giao diện tới bạn Sử dụng tập hợp các widget cóthể customizable để xây dựng giao diện trong vài phút Ngoài ra HotReload còn giúp bạn thêm các tính năng, fix bug tiết kiệm thời gian hơn

mà không cần phải thông qua máy ảo, máy android hoặc iOS

 Expressive and Flexible UI: Có rất nhiều các thành phần để xây dựng giaodiện của Flutter vô cùng đẹp mắt theo phong cách MaterialDesign vàCupertino, hỗ trợ nhiều các APIs chuyển động, smoothscrolling

 Native Performance: Các widget của fluter kết hợp các sự khác biệt củacác nền tảng ví dụ như scrolling, navigation, icons, font để cung cấp mộthiệu năng tốt nhất tới iOS và Android

3.1.4 Các thành phần quan trọng trong Flutter.

 WidgetWidget

Ngày đăng: 20/11/2021, 14:43

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w