Scum

1. Scrum là gì? Scrum là một khung làm việc (framework) giúp các nhóm làm việc cùng nhau để phát triển sản phẩm một cách linh hoạt và hiệu quả. Nó thuộc phương pháp Agile – đề cao sự thích nghi, cộng tác và cải tiến liên tục trong quá trình làm việc. 2. Các […]

So sánh Realm, Hive, Sqflite, và Drift

So sánh Tiêu chí Realm Hive Sqflite Drift Mức độ phổ biến Tăng nhanh (Meta hỗ trợ) Rất phổ biến Rất phổ biến Trung bình (cộng đồng ổn định) Dễ sử dụng, dễ tích hợp Trung bình (cần setup Realm SDK) ★ Rất dễ (NoSQL, không cần SQL) Trung bình (phải viết SQL tay) Trung […]

Testing

I. Testing là gì? Testing (kiểm thử phần mềm) là quá trình đánh giá một hệ thống phần mềm để xác định xem sản phẩm có đáp ứng các yêu cầu được đặt ra hay không, và nhằm phát hiện lỗi nếu có. Testing là một phần quan trọng trong vòng đời phát triển phần […]

Application security

Ứng dụng bảo mật là gì? Application Security (Bảo mật ứng dụng) là quá trình bảo vệ ứng dụng khỏi các lỗ hổng và tấn công từ các mối đe dọa bên ngoài. Quá trình này bao gồm các biện pháp bảo vệ trong suốt vòng đời phát triển phần mềm (SDLC): từ thiết kế, […]

MVC/MVP

1. Giới thiệu chung Trong phát triển phần mềm, việc tổ chức mã theo mô hình kiến trúc rõ ràng là rất quan trọng để dễ dàng bảo trì, mở rộng và kiểm thử. Hai mô hình phổ biến trong phát triển ứng dụng là: MVC (Model – View – Controller) MVP (Model – View […]

Flutter ChangeNotifier / Provider

ChangeNotifier là gì? ChangeNotifier là một class có sẵn trong Flutter, dùng để thông báo cho các widget khi dữ liệu thay đổi.Nó thường được dùng để tạo ra một “model” – nơi lưu trữ state (trạng thái), sau đó khi dữ liệu thay đổi thì gọi notifyListeners() , tất cả các widget đang “lắng nghe” […]

Flutter Local Storage with RealmDB

1. RealmDB Là Gì? Tại Sao Nên Dùng? RealmDB là cơ sở dữ liệu NoSQL thời gian thực, được tối ưu cho di động với các ưu điểm vượt trội: Tốc độ cực nhanh: Nhanh hơn SQLite 10x trong nhiều trường hợp Làm việc trực tiếp với object: Không cần ORM phức tạp Đồng bộ dễ dàng: […]

Flutter Local Storage with Hive

Hive là gì? Hive là một cơ sở dữ liệu NoSQL được thiết kế riêng cho Flutter, dùng để lưu trữ dữ liệu local (nội bộ trên thiết bị). Không cần internet, không cần native code, hiệu suất rất nhanh. Hive phù hợp để lưu: Ghi chú cá nhân Cài đặt ứng dụng Danh sách […]

Flutter Local Storage with SQLite

SQLite trong Flutter là gì? SQLite là cơ sở dữ liệu quan hệ nhúng (embedded relational database) có các đặc điểm quan trọng: Không cần server: Dữ liệu được lưu trực tiếp trong file .db trên thiết bị Hỗ trợ đầy đủ ACID: Đảm bảo tính toàn vẹn dữ liệu Hiệu suất cao: Xử lý […]

Flutter Local Storage with Shared Preference

1. Shared Preferences là gì? Shared Preferences là một package trong Flutter giúp lưu trữ dữ liệu đơn giản dưới dạng key-value (khóa-giá trị) trên thiết bị. Dữ liệu được lưu trữ persistent (tồn tại ngay cả khi ứng dụng bị đóng hoặc thiết bị khởi động lại). Tính năng chính: ✔ Lưu trữ các kiểu dữ liệu cơ bản: int, double, bool, String, List<String> […]

Json Data

JSON DATA LÀ GÌ? JSON (JavaScript Object Notation) là định dạng dữ liệu phổ biến dùng để trao đổi thông tin giữa client (như app Flutter) và server. JSON đơn giản, dễ đọc và dễ xử lý trong hầu hết các ngôn ngữ lập trình. CẤU TRÚC CƠ BẢN CỦA JSON JSON là tập hợp […]

REST API

REST API Là Gì? REST API (Representational State Transfer Application Programming Interface) là một kiểu thiết kế API dựa trên các nguyên tắc của kiến trúc REST. Nó cho phép các ứng dụng giao tiếp với nhau thông qua giao thức HTTP/HTTPS, thường sử dụng định dạng JSON hoặc XML để trao đổi dữ liệu. […]

Flutter Networking

FLUTTER NETWORKING LÀ GÌ? Flutter Networking là quá trình giao tiếp giữa ứng dụng Flutter và server thông qua mạng Internet. Điều này giúp ứng dụng có thể lấy dữ liệu từ bên ngoài, gửi dữ liệu lên server, hoặc tương tác với các API như đăng nhập, đăng ký, lấy danh sách sản phẩm, […]

Flutter Navigation and Routing

Route là gì? Trong Flutter, Route là một màn hình hoặc trang trong ứng dụng. Khi chúng ta nói về Route, chúng ta đang đề cập đến cách mà ứng dụng di chuyển giữa các màn hình và cách chúng ta xây dựng và quản lý các màn hình này. Có hai loại Route phổ […]

Flutter State Management

State Management trong Flutter là quá trình quản lý và thay đổi trạng thái của widget. Khi state thay đổi, widget sẽ được cập nhật lại để phản ánh thay đổi đó. Có nhiều phương pháp quản lý state trong Flutter, mỗi phương pháp phù hợp với các loại ứng dụng khác nhau. Các phương […]

Flutter Layout

Flutter Layout là gì ? Trong Flutter, layout là quá trình sắp xếp các widget con trong không gian giao diện người dùng. Flutter cung cấp nhiều widget layout giúp xây dựng giao diện ứng dụng linh hoạt và dễ dàng. Việc sử dụng đúng các widget layout sẽ giúp bạn tạo ra giao diện […]

Flutter Widget

FLUTTER WIDGET LÀ GÌ? Widget là “viên gạch” để xây nên giao diện Flutter. Mọi thứ nhìn thấy trên app đều là widget: chữ, nút bấm, ô nhập liệu, hình ảnh… Phân loại cơ bản Widget 1. StatelessWidget – Giao diện tĩnh Không thay đổi sau khi được tạo. Dùng khi widget chỉ hiển thị […]

Flutter Package

Trong quá trình phát triển ứng dụng Flutter, để tiết kiệm thời gian và tái sử dụng các tính năng có sẵn, lập trình viên thường sử dụng Flutter package – là các thư viện (thư viện mã nguồn mở hoặc do cá nhân viết) giúp thêm các chức năng mới vào ứng dụng mà […]

Agile – Phương pháp phát triển phần mềm linh hoạt

Agile là gì? Agile là một phương pháp phát triển phần mềm linh hoạt, nhấn mạnh vào khả năng thích nghi với thay đổi, làm việc theo nhóm, và phát triển sản phẩm theo từng phần nhỏ (iterative & incremental). Agile không phải là một quy trình cụ thể, mà là một tư duy (mindset) […]

Domain – Tên miền của website trên Internet

Domain là gì? Domain (tên miền) là địa chỉ của một website mà người dùng gõ vào trình duyệt để truy cập. Ví dụ: google.com, facebook.com, mywebsite.vn đều là các tên miền. Nếu Hosting là “ngôi nhà” chứa dữ liệu của website, thì Domain là “địa chỉ nhà” – giúp người dùng tìm đến website […]

Hosting – Nơi lưu trữ và vận hành website

Hosting là gì? Hosting (Web Hosting) là dịch vụ cho thuê không gian trên máy chủ (server) để lưu trữ dữ liệu của website như mã nguồn, hình ảnh, video, cơ sở dữ liệu,… và cho phép người dùng truy cập thông qua Internet. Hiểu đơn giản, Hosting giống như “ngôi nhà” chứa toàn bộ […]

Giới thiệu về GitHub – Nền tảng lưu trữ và cộng tác mã nguồn

GitHub là gì? GitHub là một nền tảng lưu trữ mã nguồn trực tuyến sử dụng Git – công cụ quản lý phiên bản phân tán. Đây là nơi lập trình viên có thể lưu trữ, chia sẻ, quản lý và cộng tác phát triển phần mềm cùng nhau trên toàn thế giới. GitHub không […]

Giới thiệu về Git

Git là gì? Git là một hệ thống quản lý phiên bản (Version Control System – VCS) phân tán mã nguồn mở, được phát triển bởi Linus Torvalds – người tạo ra Linux. Git giúp quản lý và theo dõi các thay đổi trong mã nguồn khi làm việc cá nhân hoặc theo nhóm. Nhờ […]

Giới thiệu về Flutter

Giới thiệu tổng quan Flutter là một bộ công cụ phát triển giao diện người dùng (UI) mã nguồn mở do Google phát triển. Điểm mạnh của Flutter nằm ở khả năng xây dựng ứng dụng cho nhiều nền tảng như Android, iOS, Web, Windows, macOS và Linux chỉ từ một codebase duy nhất. Điều […]

Cài đặt Flutter – Windows

  Bước 1: Tải và giải nén Flutter SDK Truy cập trang chính thức: https://flutter.dev Tải Flutter SDK (Windows) và giải nén vào thư mục như C:\src\flutter Bước 2: Cấu hình biến môi trường Mở Environment Variables Thêm đường dẫn C:\src\flutter\bin vào biến Path để có thể gọi lệnh flutter từ bất kỳ đâu Bước […]

Flutter Navigation and Routing

Trong Flutter, việc chuyển đổi giữa các màn hình (screen/page) được thực hiện thông qua Navigator và Route. Flutter cung cấp hai loại điều hướng chính: Named Route: Sử dụng chuỗi định danh (string) để gọi màn hình. Direct Route: Sử dụng đối tượng Route để gọi màn hình. Navigator là một widget quản lý […]

Flutter State Management

SetState là cách cập nhật trạng thái cơ bản: Provider – Một nhà cung cấp thì dùng ChangeNotifierProvider Dùng navigator. Màn hình như ngăn sếp push vô pop ra. Provider có thể quản lý trạng thái ở nhiều màn hình khác nhau. Dùng với comsumer có thể dùng tham số trực tiếp truy xuất thay vì dùng […]

Flutter Layout

Cơ chế cốt lõi để xây dựng nên layout trong Flutter là Widget. Hầu như tất cả mọi thứ đều là Widget Ảnh, icon, text, rows, columns, grid, arrange, constrain, align,… Material apps – Sử dụng Scaffold widget. Chúng ta có thể sử dụng widget trong phần body. Non-Material apps Aligning widget mainAxisAlignment và crossAxisAlignment cung […]

Flutter Widget

Flutter Widget là thành phần cơ bản nhất trong Flutter, được sử dụng để tạo ra giao diện người dùng (UI). Mọi thứ trong Flutter, từ văn bản, hình ảnh, nút bấm cho đến toàn bộ giao diện ứng dụng, đều là widget. Widgets trong Flutter là bất biến (immutable), tức là khi trạng thái […]

Flutter Package

Flutter Package là một bộ mã nguồn chứa các chức năng được viết sẵn giúp lập trình viên có thể tái sử dụng trong ứng dụng của mình. Các package này thường được chia sẻ công khai và được sử dụng để tăng tốc quá trình phát triển, bổ sung các tính năng hoặc tích […]

Cài đặt Flutter – MacOS

Để cài đặt Flutter trên hệ điều hành của bạn, bạn có thể làm theo hướng dẫn sau tùy theo hệ điều hành của mình. Flutter hỗ trợ Windows, macOS, và Linux. Dưới đây là các bước cài đặt Flutter cho từng hệ điều hành MacOS Bước 1: Tải Flutter SDK Truy cập: https://docs.flutter.dev/get-started/install/macos/mobile-ios Tải xuống […]

Flutter – Phát triển ứng dụng đa nền tảng

Flutter là một bộ công cụ phát triển giao diện người dùng (UI) mã nguồn mở do Google phát triển. Flutter giúp các lập trình viên xây dựng ứng dụng di động, web, và desktop từ cùng một codebase duy nhất. Điều này có nghĩa là bạn có thể viết một lần và triển khai […]

Lập trình android – vòng đời Fragment

Vòng đời 1 Fragment Ghi chú: một số phương thức quan trọng trong Fragment onCreate(): Hệ thống gọi phương thức này khi tạo Fragment. Bạn nên khởi tạo các thành phần thiết yếu của Fragment mà bạn muốn giữ lại khi Fragment được tạm dừng, dừng lại hoặc tiếp tục. onCreateView(): Hệ thống gọi phương […]

Lập trình android – về AsyncTask

Hình ảnh minh họa về AsyncTask Diễn giải:

Lập trình android – vòng đời ứng dụng

Vòng đời 1 ứng dụng Android REF https://developer.android.com/guide/components/activities/activity-lifecycle

Lập trình android – những kiến thức chung đầu tiên

Từ khoá quan trọng liên quan đến lập trình android Một số từ khoá bạn có thể tham khảo để học lập trình android Lap trinh android co ban java co ban tao ung dung android dau tien lap trinh android nang cao java nang cao Công cụ – dụng cụ cần thiết để lập trình […]