Hình ảnh được tải lên firebase như thế nào
Trong lớp học lập trình này, bạn sẽ tìm hiểu cách thêm hình ảnh vào ứng dụng bằng cách sử dụng
Show
Điều kiện tiên quyết
Kiến thức bạn sẽ học được
Sản phẩm bạn sẽ tạo ra
Bạn cần có
2. Xem video tập lập trình (Không bắt buộc)Nếu bạn muốn xem một trong những người hướng dẫn của khoá học hoàn thành lớp học lập trình, hãy phát video bên dưới. Bước này là bước không bắt buộc. Bạn cũng có thể bỏ qua video này và bắt đầu tham gia lớp học lập trình ngay. 3. Thiết lập ứng dụngMở dự án Happy Birthday của bạn từ lớp học lập trình trước trên Android Studio. Khi khởi chạy, ứng dụng sẽ có dạng như ảnh chụp màn hình này. Thêm hình ảnh vào dự ánTrong nhiệm vụ này, bạn sẽ tải một hình ảnh xuống từ Internet rồi thêm hình ảnh đó vào ứng dụng Happy Birthday.
Ví dụ: bạn có thể đã lưu hình ảnh trong thư mục Downloads (Tệp đã tải xuống).
Lưu ý: Trình quản lý tài nguyên là cửa sổ công cụ cho phép bạn nhập, tạo, quản lý và sử dụng tài nguyên trong ứng dụng.
Thao tác này sẽ mở hộp thoại Import Drawables (Nhập đối tượng có thể vẽ).
Thiết bị Android có nhiều loại kích thước màn hình (chẳng hạn như điện thoại, máy tính bảng, TV, v.v. ) và màn hình của chúng cũng có nhiều kích thước pixel. Tức là trong khi một thiết bị có kích thước 160 pixel mỗi inch vuông, thì một thiết bị khác lại đáp ứng 480 pixel trên cùng không gian đó. Nếu bạn không xem xét những biến thể này trong phần mật độ pixel thì có thể hệ thống sẽ điều chỉnh tỷ lệ hình ảnh của bạn. Việc này có thể khiến hình ảnh bị mờ, hình ảnh lớn chiếm nhiều dung lượng bộ nhớ hoặc hình ảnh sai kích thước. Khi bạn đổi kích thước hình ảnh thành kích thước lớn hơn quy cách mà hệ thống Android có thể xử lý, hệ thống sẽ báo lỗi hết dung lượng bộ nhớ. Đối với ảnh chụp và hình nền, chẳng hạn như hình ảnh hiện tại,
Để biết thêm thông tin về mật độ pixel, hãy xem nội dung Hỗ trợ nhiều mật độ pixel.
Android Studio tạo một thư mục
Nếu hình ảnh được nhập thành công thì Android Studio sẽ thêm hình ảnh đó vào danh sách trong thẻ Drawable (Đối tượng có thể vẽ). Danh sách này bao gồm mọi hình ảnh và biểu tượng cho ứng dụng. Giờ đây, bạn có thể sử dụng hình ảnh này trong ứng dụng của mình.
4. Thêm thành phần kết hợp ImageĐể hiện hình ảnh trong ứng dụng, bạn cần xác định vị trí hiện hình ảnh. Tương tự như khi sử dụng thành phần kết hợp
Trong nhiệm vụ này, bạn sẽ thêm một thành phần kết hợp
Thêm hàm có thể kết hợp để thêm hình ảnh
Tài nguyên trong Jetpack ComposeTài nguyên (resource) là các tệp bổ sung và nội dung tĩnh mà mã của bạn sử dụng, chẳng hạn như bitmap, chuỗi giao diện người dùng, hướng dẫn về ảnh động, v.v. Để biết thêm thông tin về tài nguyên trong Android, hãy xem nội dung Tổng quan về tài nguyên ứng dụng. Bạn phải luôn tách riêng các tài nguyên ứng dụng (chẳng hạn như hình ảnh và chuỗi) khỏi mã để có thể duy trì chúng một cách độc lập. Trong thời gian chạy, Android sử dụng tài nguyên phù hợp dựa trên cấu hình hiện tại. Ví dụ: bạn nên cung cấp bố cục khác của giao diện người dùng dựa trên kích thước màn hình hoặc các chuỗi khác dựa trên chế độ cài đặt ngôn ngữ. Nhóm tài nguyênBạn nên luôn đặt mỗi loại tài nguyên trong một thư mục con cụ thể thuộc thư mục
Như bạn có thể thấy trong ví dụ này, thư mục
Truy cập tài nguyênJetpack Compose có thể giúp bạn truy cập vào các tài nguyên đã xác định trong dự án Android của mình. Bạn có thể truy cập tài nguyên bằng mã tài nguyên được tạo trong lớp
Lớp
Trong nhiệm vụ tiếp theo, bạn sẽ dùng hình ảnh (tệp
Hàm
Android Studio đưa ra lỗi có nội dung: "None of the following functions can be called with the arguments supplied" (Không gọi được hàm nào sau đây bằng các đối số đã cung cấp), các đối số này không khớp với hàm. Bạn có thể thấy lỗi này khi di chuột qua thành phần kết hợp
Kiểm tra khả năng hỗ trợ tiếp cận của ứng dụngKhi làm theo các phương pháp lập trình để hỗ trợ tiếp cận, bạn giúp tất cả người dùng của mình, bao gồm cả những người dùng khuyết tật, thao tác và tương tác với ứng dụng của bạn một cách dễ dàng hơn. Lưu ý: Android cung cấp nhiều công cụ cho người dùng. Ví dụ: TalkBack là trình đọc màn hình của Google có sẵn trên thiết bị Android. TalkBack đưa ra phản hồi bằng giọng nói cho người dùng, cho phép người dùng sử dụng thiết bị mà không cần nhìn vào màn hình. Để tìm hiểu thêm về khả năng hỗ trợ tiếp cận, hãy xem nội dung Xây dựng các ứng dụng dễ tiếp cận hơn. Android Studio đưa ra các gợi ý và cảnh báo, giúp bạn xây dựng ứng dụng sao cho người dùng có thể tiếp cận dễ dàng hơn. Thông tin mô tả nội dung xác định mục đích của một thành phần trên giao diện người dùng, giúp ứng dụng dễ sử dụng hơn nhờ TalkBack. Tuy nhiên, hình ảnh trong ứng dụng này chỉ được dùng cho mục đích trang trí. Thao tác thêm thông tin mô tả nội dung cho hình ảnh sẽ khiến người dùng khó sử dụng ứng dụng hơn qua TalkBack trong trường hợp cụ thể này. Thay vì viết thông tin mô tả nội dung thông báo cho người dùng, bạn có thể thiết lập đối số
Xem trước thành phần kết hợp R.drawable.graphic 3Trong nhiệm vụ này, bạn xem trước thành phần kết hợp hình ảnh rồi chạy ứng dụng trên trình mô phỏng hoặc thiết bị.
Hàm của bạn phải trông giống như đoạn mã sau:
Xin lưu ý rằng bạn không thể thấy văn bản đó nữa vì hàm mới chỉ có thành phần kết hợp
5. Thêm bố cục hộp3 thành phần bố cục tiêu chuẩn, cơ bản trong Compose là các thành phần kết hợp
Bố cục
Bạn sẽ thấy văn bản và hình ảnh.
Khối
Hãy lưu ý rằng hình ảnh rộng bằng màn hình ứng dụng nhưng được neo vào đầu màn hình. Cuối màn hình có nhiều khoảng trắng nên trông không thu hút lắm. Trong nhiệm vụ tiếp theo, bạn sẽ lấp đầy chiều rộng và chiều cao của màn hình rồi điều chỉnh tỷ lệ hình ảnh để lấp đầy toàn bộ màn hình. 6. Đặt và điều chỉnh tỷ lệ thành phần kết hợp ImageTrong nhiệm vụ này, bạn sẽ tạo hình ảnh toàn màn hình để làm đẹp ứng dụng. Hãy sử dụng các tham số
Phương thức sửa đổiPhương thức sửa đổi được dùng để trang trí hoặc thêm hành vi vào thành phần trên giao diện người dùng Jetpack Compose. Ví dụ: bạn có thể thêm nền, khoảng đệm hoặc hành vi vào hàng, văn bản hoặc nút. Để thiết lập các giá trị này, thành phần kết hợp phải chấp nhận đối tượng sửa đổi làm tham số. Trong một lớp học lập trình trước đó, bạn đã tìm hiểu về các đối tượng sửa đổi và sử dụng đối tượng sửa đổi khoảng đệm (Modifier.padding) để thêm không gian xung quanh thành phần kết hợp
Ví dụ: thành phần kết hợp
Bây giờ, bạn có thể thêm một đối số
Thao tác này sẽ thiết lập chiều cao của thành phần kết hợp thành chiều cao tối đa hiện có.
Nhập hàm
Nếu phải sử dụng nhiều đối tượng sửa đổi cùng lúc thì bạn có thể xâu chuỗi các lệnh gọi đến đối tượng sửa đổi lại với nhau, như minh hoạ trong đoạn mã dưới đây:
Nhập hàm
Điều chỉnh tỷ lệ nội dungBạn đã thêm hình ảnh vào ứng dụng cũng như đã điều chỉnh vị trí của hình ảnh. Giờ đây, bạn cần điều chỉnh loại tỷ lệ hình ảnh (cho biết cách định kích thước hình ảnh) để hình ảnh lấp đầy toàn màn hình. Hiện có khá nhiều loại
Vậy là được khá nhiều mã rồi! Giờ là lúc xem trước thành quả của bạn. Xem trước hình ảnh
Hình ảnh chiếc bánh bây giờ sẽ lấp đầy toàn bộ màn hình như bạn có thể thấy trong ảnh chụp màn hình sau: Chạy trên thiết bịChạy ứng dụng trên thiết bị hoặc trình mô phỏng. Vậy là đã xử lý xong phần văn bản lời chúc và hình ảnh toàn màn hình! 7. Căn chỉnh văn bản và thêm khoảng đệmTrong nhiệm vụ này, bạn đệm và căn chỉnh tin nhắn văn bản để làm đẹp thêm ứng dụng.
Thành phần kết hợp
Nhập thuộc tính
Khoảng đệmMột thành phần trên giao diện người dùng bao bọc nội dung. Để thành phần này không bao bọc quá chật, bạn có thể chỉ định số lượng khoảng đệm mỗi bên. Khoảng đệm được dùng làm phương thức sửa đổi, tức là bạn có thể áp dụng khoảng đệm cho thành phần kết hợp bất kỳ. Đối với mỗi bên của thành phần kết hợp, phương thức sửa đổi
Rất tốt! Bạn đã thêm một hình ảnh vào ứng dụng Happy Birthday, sử dụng đổi tượng sửa đổi để căn chỉnh văn bản, tuân theo các nguyên tắc hỗ trợ tiếp cận và giúp hoạt động dịch sang các ngôn ngữ khác trở nên dễ dàng hơn! Quan trọng hơn, bạn đã tạo xong ứng dụng Happy Birthday của riêng mình! Hãy chia sẻ thành phẩm của bạn lên mạng xã hội và dùng hashtag #AndroidBasics để chúng tôi xem được! |