free page hit counter

App Startup – Khởi động ứng dụng theo cách chuyên nghiệp

warm cold hot startup android

MỞ ĐẦU
App Startup là thư viện trong bộ Architecture Components do Google cung cấp. App Startup hỗ trợ khởi tạo các thành phần một cách rõ ràng, tuần tự và gọn gàng hơn, nhờ đó cải thiện tốc độ khi khởi chạy ứng dụng.

ĐẶC ĐIỂM

App Startup hỗ trợ cơ chế khai báo dependencies Initializer. Khi khai báo dependences thì App Startup sẽ hiểu rằng: “Tôi cần phải chuẩn bị các thành phần này để chuẩn bị dữ liệu/thành phần cho Initializer chính”.

Theo mình đánh giá thì điểm hay nhất của App Startup chính là, bạn có thể tách bạch các logic khởi tạo của từng thành phần, mỗi thành phần sẽ được tách riêng thành 1 class. Điều nà giúp code của bạn trở nên sáng sủa và dễ maintain hơn. Code cũng “sang sịn mịn” hơn hẳn, hehe.

CÁCH SỬ DỤNG

Bước 1: Khai báo App Startup vào gradle

dependencies {
    implementation("androidx.startup:startup-runtime:1.1.1")
}

Bước 2: Tạo class Initializer cho các component cần khởi tạo:

class AppDataInitializer : Initializer<AppData> {
    override fun create(context: Context): AppData {
        return AppData.initData()
    }

    override fun dependencies(): List<Class<out Initializer<*>>> {
        return listOf(LogInitializer::class.java)
    }
}

Bước 3: Khai báo trong Android Manifest

<provider
    android:name="androidx.startup.InitializationProvider"
    android:authorities="${applicationId}.androidx-startup"
    android:exported="false"
    tools:node="merge">
    <!-- This entry makes AppDataInitializer discoverable. -->
    <meta-data  android:name="com.example.AppDataInitializer"
          android:value="androidx.startup" /></provider>

Khi khai báo trong Android Manifest, App Startup sẽ tự động tìm và khởi tạo các Initializer. Có một cách làm khác là bạn có thể khai báo bằng code. Chi tiết có trong bài hướng dẫn của Google mà mình có dẫn link ở bên dưới.

TỔNG KẾT

Vậy là bạn đã biết thêm cách khởi tạo data một cách chuyên nghiệp theo phong cách chuyên gia rồi đấy. Nếu bạn gặp vấn đề hay câu hỏi gì thì có thể comment ở phía bên dưới nha.

Tham khảo

App Startup  |  Android Developers

Source Code demo:

wakiratohf/DemoArchitectureAppStartup (github.com)

Loading

Là một người thích chia sẻ, tôi tạo ra blog này để mọi người - đặc biệt là các bạn mới vào nghề biết thêm được những kiến thức hữu ích. Rất mong nó sẽ có ích với bạn.
Back To Top