Hive là một lightweight database xây dựng theo dạng key-value được viết bằng Dart thuần túy. Lấy cảm hứng từ Bitcask Introduction https://docs.hivedb.dev/ Hive là một cơ sở dữ liệu NoSQL đảm...
[Flutter] Dart Extension Methods
Introduction Trước đây, có khá nhiều người chê Dart bởi nó thiếu các tiện ích mở rộng như Extensions - thứ mà các ae dev đã biết và sử dụng rất nhiều từ các ngôn ngữ như C#, Swift hay Kotlin… Để ...
[Flutter] Package Dependencies
Introduction Hệ sinh thái Dart sử dụng các package để quản lý các phần mềm dùng chung như các libs hay tool. Trong bài viết này, mình sẽ giới thiệu cách làm việc với các dependencies trong pubspe...
[Android] Tìm hiểu về Custom View và xây dựng thư viện Circular Seekbar
CustomView trong Android khá phức tạp với những bạn mới bắt đầu. Trong bài viết này, mình sẽ tìm hiểu các khái niệm cơ bản về custom view trong android và làm thế nào để xuất bản thư viện lên JCent...
[Android] Clean architecture
Giới thiệu Việc xây dựng 1 kiến trúc nền tốt thật sự quan trọng cho ứng dụng để scale lên một cách đơn giản. Trước đây thì mình cực kì không thích thằng clean này đơn giản vì nó phải code nhiều qu...
[Tips & Trick] Android Studio shortcuts
Introduction Hi ae, hôm nay mình sẽ chia sẻ một vài phím tắt hữu ích khi lập trình với Android Studio. Nếu muốn tự đọc về đống shortcuts thì bạn chỉ cần check trong Preferences > Keymap 1. Cli...
[RxJava] Error Handing
Introduction Hi ae, trong bài viết này, mình sẽ cùng các bạn tìm hiểu về cách xử lý lỗi trong RxJava. Đầu tiên, hãy nhớ rằng Observable thường không ném ra ngoại lệ. Thay vào đó nó thông báo cho ...
[RxJava] Combining Observables
Combining Observables Trong bài viết này mình sẽ cùng đi qua các toán tử kết hợp trong Rx thường được sử dụng để xem cách chúng hoạt động nhé. startWith merge mergeDelayError combineLast...
[RxJava] Code gọn gàng hơn với doOnSubscribe, doFinally và doOnTerminate
Introduction Là 1 fan của RxJava, khi sử dụng tôi nhận thấy rằng rất nhiều trường hợp sử dụng với RxJava tuân theo cùng một flow từ việc setup đến khi kết thúc logic. Một usecase phổ biến là tải...
[RxJava] Concat & Merge operator
Introduction Hi mọi người, hôm nay chúng ta sẽ cùng tìm hiểu một số operator đơn giản và hữu ích trong Rx là Concat và Merge nhé. Concat Concat ghép nối đầu ra của các Observables rồi trả về m...