Chuyển đến nội dung chính

Bài đăng

Đang hiển thị bài đăng từ Tháng 8, 2023

Thư mục assets trong dự án Flutter

Cài đặt Các bước cài đặt và editor được mô tả rất chi tiết ở  đây . Tạo folder chứa ảnh Tạo mới một folder chứa ảnh ngang hàng với file pubspec.yaml, bạn có thể đặt ảnh bên trong folder images rồi đặt ở trong assets như hình bên dưới hoặc đặt ảnh trực tiếp vào assets cũng không sao. Mỗi image sẽ được định danh bằng một đường dẫn cụ thể tới nơi mà image file được đặt. Thứ tự sắp xếp của image không quan trọng, và tên của folder chứa ảnh cũng không quan trọng, bạn có thể đặt tuỳ ý. Trong quá trình build, Flutter sẽ đặt các image này vào một kho lưu trữ đặc biệt được gọi là asset bundle, nơi mà app sẽ đọc dữ liệu ở runtime. Copy ảnh vào folder vừa tạo Bây giờ, bạn có thể đưa ảnh vào folder images, ví dụ như ở trên, mình đã đưa vào ba ảnh 1.png, 2.png, 3.png. Lúc này đường dẫn đến ảnh sẽ như sau: assets/images/1.png Đăng ký folder ảnh vào file pubspec.yaml Để sử dụng được ảnh từ assets, ta cần đăng ký nó vào file pubspec.yaml, bạn có thể tìm thấy nó ngay trong cây thư mục root của dự á...

Cấu trúc cơ bản layout trong Flutter

 

TỐI ƯU HOÁ HIỆU NĂNG CHO ỨNG DỤNG FLUTTER VỚI ISOLATE (Hàm Compute sử dụng như thế nào)

  Bạn đã bao giờ thắc mắc rằng Flutter xử lí tất cả các quá trình build UI ứng dụng và các event như request network, các hành động bấm, giữ,... chỉ với một thread? (bạn không nghe nhầm đâu, Flutter đã làm tất cả mọi thứ chỉ với một thread - single thread - duy nhất) Thread/Isolates là gì? Thread là một trình xử lí riêng biệt, được chia một khối lượng bộ nhớ riêng và xử lí tất cả các tiến trình nó được giao trong lượng bộ nhớ đó. Nó có thể chạy song song với các thread khác và giúp việc xử lí các task sẽ được nhannh hơn do không phải chờ lẫn nhau. Có thể hiểu đơn giản thông qua ví dụ sau: Trong một số game FPS như Counter Strike, COD,... bạn có thể thấy cứ mỗi khi bạn bắn súng, sẽ có nhiều task cần được thực thi, ví dụ như phát tiếng súng nổ, thay đổi số lượng đạn còn lại, giảm máu của đối tượng bị trúng đạn,... Tất cả những task này được phân chia thành nhiều thread khác nhau, xử lí song song ở trong các  isolate  riêng biệt (isolate và thread có thể gọi thay cho nhau vì...

Giải quyết rắc rối khi sử sụng Cleartext trên Android Pie

  II. Nội dung chính Cleartext  trong dòng log trên có ý nghĩa gì?  Cleartext  là bất kỳ thông tin nào được truyền (transmitted) hay được lưu trữ (stored) mà không được mã hóa. Khi app giao tiếp với server bằng cách sử dụng  cleartext  (ví dụ như HTTP) sẽ làm tăng nguy cơ bị rò rỉ và giả mạo nội dung. Các bên thứ ba có thể thêm bớt dữ liệu trái phép hoặc trích xuất thông tin của người dùng. Đó là lý do tại sao chúng ta được khuyến khích sử dụng các phương thức bảo mật thông tin (ví dụ như  HTTPS  thay thế cho  HTTP ). Tuy nhiên, trong trường bắt buộc phải sử dụng  cleartext  thì chúng ta có thể fix bằng 2 cách: 1. Sử dụng useCleartextTraffic giá trị là "true" trong AndroiManifest Thuộc tính  useCleartextTraffic  đã được thêm vào từ Android 6.0. Với Android Pie thì thuộc tính này có giá trị mặc định là “ false ”, do đó chúng ta cần phải cấu hình lại cho thuộc tính này để có thể sử dụng  cleartext . <application ...