Toggle Theme Editor
Slate Blueberry Blackcurrant Watermelon Strawberry Orange Banana Apple Emerald Chocolate Charcoal

[Trao đổi Android] minSDK và targetSDK chọn phiên bản nào phù hợp để cân bằng khi lập trình

Discussion in 'Hướng dẫn lập trình Android' started by tranhuyvc, 31/3/17.

  1. tranhuyvc

    tranhuyvc Administrator Staff Member

    Chào anh em, như các bạn đã biết Google ra mắt Android 1.0 năm 2008 đến nay gần 8 năm trải qua nhiều phiên bản, bây giờ là 7.0, sắp tới là android O (8.0?). đã 13 - 14 phiên bản Android được phát hành theo thứ tự chữ cài từ A -> O... đây là bản phân bố các phiên bản andoid người dùng sử dụng tính đến nay.

    [​IMG]
    do vấn đề phân mạnh của Android, lượng lớn thiết bị lại không tập trung có phiên bản mới nhất ở đây là Nougat, mà tập trung ở Android 6.0, 5.0, 4.0- 4.4 nhưng thiết bị ra mắt 2,3 năm về trước, vấn đế ở đây phát sinh khi phát triển ứng dụng/ game cho Android anh em sẽ lựa chọn minSDK và targetSDK như thế nào để cân bằng hỗ trợ người dùng và tận dụng tối đa chức năng mới - SDK mà Google càng về phiên bản sau càng hỗ trợ nhiều hơn cho ae DEV của chúng ta.

    Chọn minSDK nào -> chọn SDK Android thấp nhất để ứng dụng chạy được trên thiết bị

    Khi ae chọn phiên bản 3.0 chằng hạn thì Google Play chỉ sẽ hiện thị ứng dụng của ae trên thiết bị nào có phiên bản Android 3.0 trở lên, thấp hơn sẽ không hiển thị, xem như không tìm được.

    Vậy chúng ta lựa chọn minSDK = 1.0 được không; vậy Google Play khi tìm kiếm dù thiết bị nào cũng tìm ra ứng dụng của chúng ta, lượng người dùng, khách hàng sẽ nhiều lên đúng không nào? Vấn đề phát sinh ở đây, đời không như là mơ ae à, chúng ta sẽ phải hỗ trợ nhiều thiết bị hơn, chúng ta phải tạo ra nhiều IF-ESLE hơn để chia case nếu là Android phiên bản này thì chạy code A, phiên bản ANdroid kia thì chạy code B, phát sinh vấn đề tạo giao diện và các thành phần hỗ trợ của Google nữa, mình đã từng phải thiết kế nhiều file layout, và code chỉ để chạy chức năng cơ bản để hỗ trợ nhiều thiết bị có thể. ngoài ra có những thành phần nào Google không hỗ trợ ở SDK thấp chúng ta cũng không có cách nào tự code chèn vào mà chạy được cả.

    Khi Google giới thiệu SDK mới thì sẽ có nhiều API và thiết bị hỗ trợ với SDK tương ứng, danh sách dưới đây là những tính năng chính mới Google thêm vào bản SDK của mình, ví dụ chúng ta muốn viết app cho Android TV, đồng hồ thì phải dùng SDK Lollipop trở lên.
    • Home screen widgets (Cupcake)
    • Multiple finger tracking (Froyo)
    • Tablet (Honeycomb)
    • Android Beam (Jellybean)
    • Android TV, Auto, Wear (Lollipop)
    • Pro Audio (Marshmallow)
    Chọn targetSDK nào -> chọn SDK Android nào để test chương trình

    targetSDK chỉ là phiên bản chúng ta test ứng dụng chạy mượt, tốt trên phiên bản này chưa, nếu chạy tốt trên targetSDK thì có nghĩa cũng sẽ chạy tót từ targetSDk đến minSDK, vì vậy mặc định chúng ta nên chọn targetSDK là phiên bản cao nhất, khi update hay code lại ứng dụng, nên chọn là phiên bản mới nhất có thể (mình tham khảo từ DOCs của Google ghi vậy)
    ---

    Nếu là mình khi tạo lập trình ứng dụng Android mới mình sẽ chọn minSDk là Kitkat (4.4) và targetSDK là Nougat (7.0) để cân bằng giữa người dùng và chức năng SDK Google hỗ trợ, như bản số liệu ở đầu bài viết thì Jelly Bean và các phiên bản thấp hơn đã giảm, và thiết bị cũng tương đối lỗi thời mình sẽ bỏ ^_^

    Còn anh em, ae sẽ chọn minSDK và TargetSDK nào, tại sao? chia sẻ comment nhé.
     

Chia sẻ trang này

Loading...