Nhận toàn quyền truy cập vào Bài học trực tiếp cơ bản về phát triển ứng dụng Android I và II [Đào tạo qua video] và hơn 60.000 tiêu đề khác, với bản dùng thử miễn phí 10 ngày của O'Reilly
Ngoài ra còn có các sự kiện trực tuyến trực tiếp, nội dung tương tác, tài liệu chuẩn bị chứng nhận, v.v.
Flutter hỗ trợ sử dụng các gói được chia sẻ do các nhà phát triển khác đóng góp cho hệ sinh thái Flutter và Dart. Điều này cho phép nhanh chóng xây dựng một ứng dụng mà không cần phải phát triển mọi thứ từ đầu
Các gói hiện có cho phép nhiều trường hợp sử dụng—ví dụ: tạo yêu cầu mạng [
dependencies:
some_package:
another_package:
dependency_overrides:
url_launcher: '5.4.0'
3], điều hướng/xử lý tuyến đường tùy chỉnh [dependencies:
some_package:
another_package:
dependency_overrides:
url_launcher: '5.4.0'
4], tích hợp với API thiết bị [dependencies:
some_package:
another_package:
dependency_overrides:
url_launcher: '5.4.0'
5 và dependencies:
some_package:
another_package:
dependency_overrides:
url_launcher: '5.4.0'
6] và sử dụng SDK nền tảng của bên thứ ba như Firebase [FlutterFire]Để viết một gói mới, hãy xem các gói đang phát triển. Để thêm nội dung, hình ảnh hoặc phông chữ, cho dù được lưu trữ trong tệp hay gói, hãy xem Thêm nội dung và hình ảnh
Phần sau đây mô tả cách sử dụng các gói đã xuất bản hiện có
Tìm kiếm các gói
Các gói được xuất bản lên quán rượu. nhà phát triển
Trang đích Flutter trên quán rượu. dev hiển thị các gói hàng đầu tương thích với Flutter [những gói khai báo các phụ thuộc thường tương thích với Flutter] và hỗ trợ tìm kiếm trong số tất cả các gói đã xuất bản
Trang Yêu thích của Flutter trên quán rượu. nhà phát triển liệt kê các plugin và gói đã được xác định là gói mà trước tiên bạn nên cân nhắc sử dụng khi viết ứng dụng của mình. Để biết thêm thông tin về ý nghĩa của việc trở thành một Flutter Favorites, hãy xem chương trình Flutter Favorites
Bạn cũng có thể duyệt các gói trên quán rượu. nhà phát triển bằng cách lọc trên plugin Android, plugin iOS, plugin web, plugin Linux, plugin Windows, plugin macOS hoặc bất kỳ sự kết hợp nào của chúng
Thêm phụ thuộc gói vào ứng dụng
Để thêm gói,
dependencies:
some_package:
another_package:
dependency_overrides:
url_launcher: '5.4.0'
7, vào một ứng dụng- Phụ thuộc vào nó
- Mở tệp
8 nằm bên trong thư mục ứng dụng và thêmdependencies: some_package: another_package: dependency_overrides: url_launcher: '5.4.0'
9 bên dướidependencies: some_package: another_package: dependency_overrides: url_launcher: '5.4.0'
0configurations.all { resolutionStrategy { force 'com.google.guava:guava:28.0-android' } }
- Mở tệp
- Cài đặt nó
- Từ nhà ga. Chạy
1.configurations.all { resolutionStrategy { force 'com.google.guava:guava:28.0-android' } }
HOẶC - Từ Android Studio/IntelliJ. Nhấp vào Gói nhận được trong dải băng hành động ở đầu
8dependencies: some_package: another_package: dependency_overrides: url_launcher: '5.4.0'
- Từ mã VS. Nhấp vào Get Packages nằm ở phía bên phải của dải băng hành động ở đầu
8dependencies: some_package: another_package: dependency_overrides: url_launcher: '5.4.0'
- Từ nhà ga. Chạy
- nhập nó
- Thêm một câu lệnh
4 tương ứng trong mã Dartconfigurations.all { resolutionStrategy { force 'com.google.guava:guava:28.0-android' } }
- Thêm một câu lệnh
- Dừng và khởi động lại ứng dụng, nếu cần
- Nếu gói mang mã dành riêng cho nền tảng [Kotlin/Java cho Android, Swift/Objective-C cho iOS], thì mã đó phải được tích hợp vào ứng dụng của bạn. Tải lại nóng và khởi động lại nóng chỉ cập nhật mã Dart, do đó, có thể phải khởi động lại toàn bộ ứng dụng để tránh các lỗi như
5 khi sử dụng góiconfigurations.all { resolutionStrategy { force 'com.google.guava:guava:28.0-android' } }
- Nếu gói mang mã dành riêng cho nền tảng [Kotlin/Java cho Android, Swift/Objective-C cho iOS], thì mã đó phải được tích hợp vào ứng dụng của bạn. Tải lại nóng và khởi động lại nóng chỉ cập nhật mã Dart, do đó, có thể phải khởi động lại toàn bộ ứng dụng để tránh các lỗi như
Thêm phụ thuộc gói vào ứng dụng bằng cách sử dụng configurations.all {
resolutionStrategy {
force 'com.google.guava:guava:28.0-android'
}
}
6
configurations.all {
resolutionStrategy {
force 'com.google.guava:guava:28.0-android'
}
}
Để thêm gói,
dependencies:
some_package:
another_package:
dependency_overrides:
url_launcher: '5.4.0'
7, vào một ứng dụng- Ra lệnh khi đang ở trong thư mục dự án
8configurations.all { resolutionStrategy { force 'com.google.guava:guava:28.0-android' } }
- nhập nó
- Thêm một câu lệnh
4 tương ứng trong mã Dartconfigurations.all { resolutionStrategy { force 'com.google.guava:guava:28.0-android' } }
- Thêm một câu lệnh
- Dừng và khởi động lại ứng dụng, nếu cần
- Nếu gói mang mã dành riêng cho nền tảng [Kotlin/Java cho Android, Swift/Objective-C cho iOS], thì mã đó phải được tích hợp vào ứng dụng của bạn. Tải lại nóng và khởi động lại nóng chỉ cập nhật mã Dart, do đó, có thể phải khởi động lại toàn bộ ứng dụng để tránh các lỗi như
5 khi sử dụng góiconfigurations.all { resolutionStrategy { force 'com.google.guava:guava:28.0-android' } }
- Nếu gói mang mã dành riêng cho nền tảng [Kotlin/Java cho Android, Swift/Objective-C cho iOS], thì mã đó phải được tích hợp vào ứng dụng của bạn. Tải lại nóng và khởi động lại nóng chỉ cập nhật mã Dart, do đó, có thể phải khởi động lại toàn bộ ứng dụng để tránh các lỗi như
Xóa phụ thuộc gói vào ứng dụng bằng cách sử dụng dependencies:
some_package:
another_package:
dependency_overrides:
url_launcher: '5.4.0'
81
dependencies:
some_package:
another_package:
dependency_overrides:
url_launcher: '5.4.0'
Để xóa gói,
dependencies:
some_package:
another_package:
dependency_overrides:
url_launcher: '5.4.0'
7, vào một ứng dụng- Ra lệnh khi đang ở trong thư mục dự án
83dependencies: some_package: another_package: dependency_overrides: url_launcher: '5.4.0'
Tab Cài đặt, có sẵn trên bất kỳ trang gói nào trên pub. dev, là một tài liệu tham khảo hữu ích cho các bước này
Để biết ví dụ hoàn chỉnh, hãy xem ví dụ css_colors bên dưới
giải quyết xung đột
Giả sử bạn muốn sử dụng
dependencies:
some_package:
another_package:
dependency_overrides:
url_launcher: '5.4.0'
84 và dependencies:
some_package:
another_package:
dependency_overrides:
url_launcher: '5.4.0'
85 trong một ứng dụng và cả hai ứng dụng này đều phụ thuộc vào dependencies:
some_package:
another_package:
dependency_overrides:
url_launcher: '5.4.0'
5, nhưng ở các phiên bản khác nhau. Điều đó gây ra xung đột tiềm ẩn. Cách tốt nhất để tránh điều này là tác giả gói sử dụng phạm vi phiên bản thay vì phiên bản cụ thể khi chỉ định phụ thuộcdependencies:
some_package:
another_package:
dependency_overrides:
url_launcher: '5.4.0'
4Nếu
dependencies:
some_package:
another_package:
dependency_overrides:
url_launcher: '5.4.0'
84 tuyên bố các phụ thuộc ở trên và dependencies:
some_package:
another_package:
dependency_overrides:
url_launcher: '5.4.0'
85 tuyên bố một phụ thuộc dependencies:
some_package:
another_package:
dependency_overrides:
url_launcher: '5.4.0'
5 tương thích như dependencies:
some_package:
another_package:
dependency_overrides:
url_launcher: '5.4.0'
80 hoặc dependencies:
some_package:
another_package:
dependency_overrides:
url_launcher: '5.4.0'
81, thì pub sẽ tự động giải quyết vấn đề. Các phụ thuộc dành riêng cho nền tảng trên các mô-đun Gradle và/hoặc CocoaPods được giải quyết theo cách tương tựNgay cả khi
dependencies:
some_package:
another_package:
dependency_overrides:
url_launcher: '5.4.0'
84 và dependencies:
some_package:
another_package:
dependency_overrides:
url_launcher: '5.4.0'
85 tuyên bố các phiên bản không tương thích cho dependencies:
some_package:
another_package:
dependency_overrides:
url_launcher: '5.4.0'
5, họ thực sự có thể sử dụng dependencies:
some_package:
another_package:
dependency_overrides:
url_launcher: '5.4.0'
5 theo những cách tương thích. Trong trường hợp này, xung đột có thể được giải quyết bằng cách thêm một tuyên bố ghi đè phụ thuộc vào tệp dependencies:
some_package:
another_package:
dependency_overrides:
url_launcher: '5.4.0'
8 của ứng dụng, buộc sử dụng một phiên bản cụ thểVí dụ: để buộc sử dụng phiên bản
dependencies:
some_package:
another_package:
dependency_overrides:
url_launcher: '5.4.0'
5 dependencies:
some_package:
another_package:
dependency_overrides:
url_launcher: '5.4.0'
88, hãy thực hiện các thay đổi sau đối với tệp dependencies:
some_package:
another_package:
dependency_overrides:
url_launcher: '5.4.0'
8 của ứng dụngdependencies:
some_package:
another_package:
dependency_overrides:
url_launcher: '5.4.0'
Nếu bản thân phần phụ thuộc xung đột không phải là một gói mà là một thư viện dành riêng cho Android như
dependencies:
some_package:
another_package:
dependency_overrides:
url_launcher: '5.4.0'
90, thì thay vào đó, khai báo ghi đè phần phụ thuộc phải được thêm vào logic xây dựng GradleĐể buộc sử dụng phiên bản
dependencies:
some_package:
another_package:
dependency_overrides:
url_launcher: '5.4.0'
90 dependencies:
some_package:
another_package:
dependency_overrides:
url_launcher: '5.4.0'
92, hãy thực hiện các thay đổi sau đối với tệp dependencies:
some_package:
another_package:
dependency_overrides:
url_launcher: '5.4.0'
93 của ứng dụngconfigurations.all {
resolutionStrategy {
force 'com.google.guava:guava:28.0-android'
}
}
CocoaPods hiện không cung cấp chức năng ghi đè phụ thuộc
Phát triển các gói mới
Nếu không có gói nào cho trường hợp sử dụng cụ thể của bạn, bạn có thể viết một gói tùy chỉnh
Quản lý gói phụ thuộc và phiên bản
Để giảm thiểu nguy cơ xung đột phiên bản, hãy chỉ định phạm vi phiên bản trong tệp
dependencies:
some_package:
another_package:
dependency_overrides:
url_launcher: '5.4.0'
8phiên bản gói
Tất cả các gói đều có số phiên bản, được chỉ định trong tệp
dependencies:
some_package:
another_package:
dependency_overrides:
url_launcher: '5.4.0'
8 của gói. Phiên bản hiện tại của một gói được hiển thị bên cạnh tên của nó [ví dụ: xem gói dependencies:
some_package:
another_package:
dependency_overrides:
url_launcher: '5.4.0'
5], cũng như danh sách tất cả các phiên bản trước đó [xem các phiên bản dependencies:
some_package:
another_package:
dependency_overrides:
url_launcher: '5.4.0'
5]Khi một gói được thêm vào
dependencies:
some_package:
another_package:
dependency_overrides:
url_launcher: '5.4.0'
8, dạng tốc ký dependencies:
some_package:
another_package:
dependency_overrides:
url_launcher: '5.4.0'
99 có nghĩa là bất kỳ phiên bản nào của gói plugin1 đều có thể được sử dụng. Để đảm bảo rằng ứng dụng không bị hỏng khi gói được cập nhật, hãy chỉ định phạm vi phiên bản bằng một trong các định dạng sauRàng buộc phạm vi. Chỉ định phiên bản tối thiểu và tối đa. Ví dụ
8dependencies: some_package: another_package: dependency_overrides: url_launcher: '5.4.0'
Ràng buộc phạm vi với cú pháp dấu mũ tương tự như ràng buộc phạm vi thông thường
8dependencies: some_package: another_package: dependency_overrides: url_launcher: '5.4.0'
Để biết thêm chi tiết, hãy xem hướng dẫn lập phiên bản gói
Cập nhật gói phụ thuộc
Khi chạy
configurations.all {
resolutionStrategy {
force 'com.google.guava:guava:28.0-android'
}
}
1 [Gói có trong IntelliJ hoặc Android Studio] lần đầu tiên sau khi thêm gói, Flutter sẽ lưu phiên bản gói cụ thể được tìm thấy trong tệp khóa dependencies:
some_package:
another_package:
dependency_overrides:
url_launcher: '5.4.0'
31. Điều này đảm bảo rằng bạn sẽ nhận lại cùng một phiên bản nếu bạn hoặc một nhà phát triển khác trong nhóm của bạn chạy configurations.all {
resolutionStrategy {
force 'com.google.guava:guava:28.0-android'
}
}
1Để nâng cấp lên phiên bản mới của gói, chẳng hạn như để sử dụng các tính năng mới trong gói đó, hãy chạy
dependencies:
some_package:
another_package:
dependency_overrides:
url_launcher: '5.4.0'
33 [Nâng cấp phần phụ thuộc trong IntelliJ hoặc Android Studio] để truy xuất phiên bản cao nhất hiện có của gói được cho phép bởi ràng buộc phiên bản được chỉ định trong dependencies:
some_package:
another_package:
dependency_overrides:
url_launcher: '5.4.0'
8. Lưu ý rằng đây là một lệnh khác với dependencies:
some_package:
another_package:
dependency_overrides:
url_launcher: '5.4.0'
35 hoặc dependencies:
some_package:
another_package:
dependency_overrides:
url_launcher: '5.4.0'
36, cả hai lệnh này đều tự cập nhật FlutterPhụ thuộc vào các gói chưa được xuất bản
Các gói có thể được sử dụng ngay cả khi không được xuất bản trên quán rượu. nhà phát triển. Đối với các plugin riêng tư hoặc các gói chưa sẵn sàng để xuất bản, có sẵn các tùy chọn phụ thuộc bổ sung
Sự phụ thuộc vào đường dẫn Một ứng dụng Flutter có thể phụ thuộc vào plugin thông qua hệ thống tệp phụ thuộcdependencies:
some_package:
another_package:
dependency_overrides:
url_launcher: '5.4.0'
37. Đường dẫn có thể là tương đối hoặc tuyệt đối. Đường dẫn tương đối được đánh giá tương ứng với thư mục chứa dependencies:
some_package:
another_package:
dependency_overrides:
url_launcher: '5.4.0'
8. Ví dụ: để phụ thuộc vào plugin dependencies:
some_package:
another_package:
dependency_overrides:
url_launcher: '5.4.0'
39 nằm trong thư mục bên cạnh ứng dụng, hãy sử dụng cú pháp saudependencies:
some_package:
another_package:
dependency_overrides:
url_launcher: '5.4.0'
9Phụ thuộc vào Git Bạn cũng có thể phụ thuộc vào một gói được lưu trữ trong kho lưu trữ Git. Nếu gói nằm ở thư mục gốc của repo, hãy sử dụng cú pháp saudependencies:
some_package:
another_package:
dependency_overrides:
url_launcher: '5.4.0'
3Phụ thuộc Git bằng SSHNếu kho lưu trữ là riêng tư và bạn có thể kết nối với nó bằng SSH, phụ thuộc vào gói bằng cách sử dụng url SSH của repodependencies:
some_package:
another_package:
dependency_overrides:
url_launcher: '5.4.0'
4Sự phụ thuộc của Git vào một gói trong thư mụcPub giả định rằng gói nằm trong thư mục gốc của kho lưu trữ Git. Nếu không phải như vậy, hãy chỉ định vị trí với đối số dependencies:
some_package:
another_package:
dependency_overrides:
url_launcher: '5.4.0'
40. Ví dụdependencies:
some_package:
another_package:
dependency_overrides:
url_launcher: '5.4.0'
6Cuối cùng, sử dụng đối số
dependencies:
some_package:
another_package:
dependency_overrides:
url_launcher: '5.4.0'
41 để ghim phần phụ thuộc vào một cam kết, nhánh hoặc thẻ git cụ thể. Để biết thêm chi tiết, hãy xem Phụ thuộc góiví dụ
Các ví dụ sau hướng dẫn các bước cần thiết để sử dụng các gói
Ví dụ. Sử dụng gói css_colors
Gói
dependencies:
some_package:
another_package:
dependency_overrides:
url_launcher: '5.4.0'
7 xác định các hằng số màu cho các màu CSS, vì vậy hãy sử dụng các hằng số này ở bất cứ đâu mà khung Flutter mong đợi loại dependencies:
some_package:
another_package:
dependency_overrides:
url_launcher: '5.4.0'
43Để sử dụng gói này
Tạo một dự án mới có tên là
44dependencies: some_package: another_package: dependency_overrides: url_launcher: '5.4.0'
Mở
8 và thêm phụ thuộcdependencies: some_package: another_package: dependency_overrides: url_launcher: '5.4.0'
46dependencies: some_package: another_package: dependency_overrides: url_launcher: '5.4.0'
3configurations.all { resolutionStrategy { force 'com.google.guava:guava:28.0-android' } }
Chạy
1 trong thiết bị đầu cuối hoặc nhấp vào Gói nhận được trong IntelliJ hoặc Android Studioconfigurations.all { resolutionStrategy { force 'com.google.guava:guava:28.0-android' } }
Mở
48 và thay thế toàn bộ nội dung của nó bằngdependencies: some_package: another_package: dependency_overrides: url_launcher: '5.4.0'
0dependencies: some_package: another_package: dependency_overrides: url_launcher: '5.4.0'
Chạy ứng dụng. Nền của ứng dụng bây giờ sẽ có màu cam
Ví dụ. Sử dụng gói url_launcher để khởi chạy trình duyệt
Gói plugin
dependencies:
some_package:
another_package:
dependency_overrides:
url_launcher: '5.4.0'
5 cho phép mở trình duyệt mặc định trên nền tảng di động để hiển thị một URL nhất định và được hỗ trợ trên Android, iOS, web và macos. Gói này là một gói Dart đặc biệt được gọi là gói phần bổ sung [hoặc plugin], bao gồm mã dành riêng cho nền tảngĐể sử dụng plugin này
Tạo một dự án mới có tên là
60dependencies: some_package: another_package: dependency_overrides: url_launcher: '5.4.0'
Mở
8 và thêm phần phụ thuộcdependencies: some_package: another_package: dependency_overrides: url_launcher: '5.4.0'
5dependencies: some_package: another_package: dependency_overrides: url_launcher: '5.4.0'
1dependencies: some_package: another_package: dependency_overrides: url_launcher: '5.4.0'
Chạy
1 trong thiết bị đầu cuối hoặc nhấp vào Gói nhận được trong IntelliJ hoặc Android Studioconfigurations.all { resolutionStrategy { force 'com.google.guava:guava:28.0-android' } }
Mở
48 và thay thế toàn bộ nội dung của nó bằng nội dung saudependencies: some_package: another_package: dependency_overrides: url_launcher: '5.4.0'
2dependencies: some_package: another_package: dependency_overrides: url_launcher: '5.4.0'
Chạy ứng dụng [hoặc dừng và khởi động lại ứng dụng, nếu ứng dụng đã chạy trước khi thêm plugin]. Nhấp vào Hiển thị trang chủ Flutter. Bạn sẽ thấy trình duyệt mặc định mở trên thiết bị, hiển thị trang chủ cho rung. nhà phát triển
Làm cách nào để thêm gói vào Android Studio?
Bước 1. Để tạo một gói mới bên trong thư mục Src trong Android studio trước tiên hãy mở dự án của bạn ở chế độ Android như trong hình bên dưới. Bước 2. Bây giờ, hãy truy cập Java > nhấp chuột phải > Mới > Gói như trong hình bên dưới.Làm cách nào để thêm nhập trong java Android Studio?
Nhập vào Android Studio . Open Android Studio and select Open an Existing Android Studio Project or File, Open. Định vị thư mục bạn đã tải xuống từ Dropsource và giải nén, chọn tệp “build. gradle” trong thư mục gốc. Android Studio sẽ nhập dự án.Làm cách nào để nhập một lớp trong Android Studio?
Trong trường hợp dán một số mã được sao chép từ Internet vào Trình chỉnh sửa, nó sẽ yêu cầu nhập mọi Chế độ xem và lớp. Bạn chỉ có thể nhập tất cả chúng bằng cách nhấn phím ALT + ENTER . Ở đây, chúng tôi sẽ giải thích cách tự động nhập tất cả trong Android studio.Làm cách nào để nhập thư viện bên ngoài vào Android?
Phương pháp 1. Sao chép thư viện bên ngoài vào thư mục libs .Tạo một dự án mới có tên là GFGAddLibBây giờ, dự án của chúng tôi đã được tạo raBây giờ hãy nhấp vào trình đơn thả xuống Android và thay đổi thành Tệp dự ánNhấp vào tệp Dự ánSao chép tệp jar vào thư mục libsTại đây, bạn có thể thấy tệp jar đã thêm của chúng tôi trong thư mục libs