Nhiều dự án Android thường sử dụng kế thừa ViewModel để chia sẻ logic trạng thái chung, nhưng điều này dẫn đến hệ thống lớp sâu và sự kết hợp chặt chẽ giữa các thành phần. Bài viết hướng dẫn thay thế kế thừa bằng việc ủy nhiệm lớp Kotlin (từ khóa by) cùng với các interface ViewModel nhỏ, sodass mỗi ViewModel chỉ cần ủy logic chung cho các đối tượng ủy nhiệm riêng mà vẫn giữ kiểu ViewModel duy nhất. Khi áp dụng mô hình này, mã mẫu giảm từ 12 lớp ViewModel xuống còn 4 lớp, lượng mã boilerplate giảm khoảng 35% và việc kiểm tra đơn vị trở nên đơn giản hơn vì các ủy nhiệm có thể được mô phỏng độc lập. Điều này cho thấy việc tái sử dụng qua ủy nhiệm mang lại lợi ích kế thừa mà không gặp vấn đề fragility của hệ thống lớp sâu, và Kotlin làm cho cách tiếp cận này gần như không có chi phí bổ sung. Nếu bạn đang cân nhắc cách cấu trúc ViewModel để giữ codebase phẳng, dễ kiểm tra và dễ mở rộng, bài viết cung cấp một hướng dẫn cụ thể, chỉ dùng Kotlin mà worth đọc.
Why read it: Bài viết này giúp bạn hiểu cách sử dụng composition trong Android ViewModels thông delegation của Kotlin để xây dựng ứng dụng linh hoạt và dễ bảo trì hơn.
Answer 3 short questions to earn reward points for this article. Only do it if you want the points.
3 questions · under a minute · optional
Source: https://proandroiddev.com/composition-over-inheritance-in-android-viewmodels-51f3efba5f90. 8 Sync News only summarizes and links out; content copyright belongs to the authors and original sources.
Đang tải bình luận…
Giải quyết vấn đề ghi kép (dual-write) trong ứng dụng Kotlin & Spring Boot bằng cách triển khai mẫu Transactional Outbox với Okapi, hỗ trợ Postgres, MySQL, Kafka và HTTP.
Lập trình viên cần đọc bài này để giải quyết vấn đề đồng thời ghi dữ liệu vào cơ sở dữ liệu và hệ thống message queue một cách đáng tin cậy trong ứng dụng Kotlin-Spring Boot, tránh rủi ro mất dữ liệu do lỗi đồng thời.
Google Assistant đã "chết" nhường chỗ cho trợ lý ngoại tuyến chạy trên local LLM, giúp tránh phụ thuộc vào đám mây và tăng cường bảo mật.
Lập trình viên nên đọc bài này để hiểu cách chuyển đổi từ các dịch vụ cloud đắt tiền sang các giải pháp tự chủ, mở rộng kiến thức về LLM offline và ứng dụng thực tế trong phát triển ứng dụng thông minh độc lập.
Hệ thống Google Earthquake Alerts đã cảnh báo 11,4 triệu người dùng Android tại Venezuela vài giây trước hai trận động đất mạnh 7,2 và 7,5 độ Richter. Hệ thống này sử dụng cảm biến gia tốc trong điện thoại để phát hiện sóng sơ cấp và gửi cảnh báo trước khi sóng thứ cấp gây phá hủy ập đến, đóng vai trò quan trọng khi Venezuela không có hệ thống cảnh báo động đất quốc gia.
Nếu bạn đang tìm hiểu về công nghệ cảnh báo động đất hiệu quả và ứng dụng của AI trong bảo vệ an toàn công cộng, bài viết này cho thấy cách một hệ thống dựa trên thiết bị di động có thể thay thế các hệ thống truyền thống đắt tiền, mang lại hiệu quả cao trong các khu vực thiếu nguồn lực.
Một nhà phát triển tích hợp thành công Android virtualization dựa trên QEMU trực tiếp vào IDE Quartex Pascal, cho phép chạy dự án Android trên một phiên bản ảo thực sự, streamed vào cửa sổ trình duyệt của IDE qua giao thức tùy chỉnh (có VNC fallback) và hỗ trợ Chrome debugger protocol. Hệ thống tự động tải QEMU runtime và disk images Android theo nền tảng, cho phép cài APK đã biên dịch lên thiết bị ảo, và dự kiến mở rộng công nghệ này cho streaming ứng dụng headless trên Quartex Desktop. Tính năng này chưa được merge và chưa có ngày phát hành chính thức.
Lập trình viên Android sẽ tìm hiểu cách tích hợp môi trường ảo hóa mạnh mẽ này để tối ưu hóa phát triển, debug nhanh hơn với giao diện trực quan và hỗ trợ debug Chrome, đặc biệt khi cần chạy các phiên bản Android khác nhau mà không phụ thuộc vào máy chủ hoặc thiết bị vật lý.
Bài viết đi sâu vào khái niệm immutability trong PHP, bao gồm readonly properties, interior mutability, immutable value objects, collections, dates, cloning, boundaries và testing.
Lập trình viên nên đọc bài này để hiểu cách áp dụng không thay đổi (immutability) trong PHP không chỉ bằng readonly mà còn thông qua các mẫu thiết kế như giá trị không thay đổi, tập hợp, và các kỹ thuật nâng cao như clone và biên giới (boundaries) để cải thiện tính bảo mật, dễ bảo trì và hiệu suất trong ứng dụng.
JetBrains đã tái xây dựng Kilo Code bằng Kotlin, tích hợp trợ lý AI coding cấp cao đầu tiên vào toàn bộ hệ sinh thái IDE của mình như IntelliJ, WebStorm và PyCharm.
Những lập trình viên sử dụng các IDE JetBrains sẽ tìm hiểu cách Kotlin tích hợp AI vào công cụ làm việc hàng ngày, giúp tối ưu hóa hiệu suất và giảm thời gian phát triển với các tính năng mới.
Trước khi đăng nhập Google trên điện thoại Android mới, người viết chia sẻ 5 bước quan trọng cần thực hiện đầu tiên.
Lập trình viên nên đọc bài này để hiểu cách bảo mật và tối ưu hóa thiết bị Android từ đầu, giúp giảm thiểu rủi ro bảo mật và tăng hiệu suất phát triển ứng dụng trên nền tảng này.
Khi UiState trở nên quá lớn và khó đọc, giải pháp là chia nhỏ thành các trạng thái độc lập lẫn nhau (Mutually Exclusive States) để quản lý state hiệu quả hơn trong kiến trúc UDF.
Một lập trình viên nên đọc bài này để hiểu cách quản lý hiệu quả UIState lớn và phức tạp, tránh rủi ro về tính bảo trì và khả năng mở rộng trong ứng dụng hiện đại.
Read the news here, practice coding, follow structured courses and train for IELTS on our sibling products — all connected through one 8 Sync account.
The ecosystem home: product overviews, blog and full pricing.
ExploreLearn along a clear roadmap: videos, auto-graded quizzes, certificates and mentors who ship for a living.
View the roadmap1,000+ DSA problems in Vietnamese, auto-graded across 7 languages — many FREE, right in your browser.
Practice for freeAI grading for all four IELTS skills with detailed rubric feedback.
Try it freeA 22 MB AI IDE for Vietnamese devs.
Download freeOrganizational memory for AI agents.
ExploreAI that staffs your Fanpage and qualifies leads for you.
Try it