2011-11-08 3 views
5

Tôi có một ứng dụng đã hết trong một thời gian, cho phép các thiết bị chạy Android 1.5 trở lên chạy ứng dụng. Tôi muốn thêm Phân đoạn vào ứng dụng của mình ngay bây giờ, nhưng thư viện tương thích không bao gồm hỗ trợ cho Android 1.5.Các tùy chọn tồn tại để duy trì khả năng tương thích Android 1.5 sau khi triển khai Fragment

Tùy chọn duy nhất tôi biết để cho phép người dùng vẫn có Android 1.5 tiếp tục sử dụng ứng dụng của mình là tạo và duy trì 2 APK riêng biệt, một chỉ dành cho 1,5 và thứ 2 cho 1,6 trở lên. Tôi thấy đây là một lựa chọn khủng khiếp và tôi không muốn làm điều này. Có sự lựa chọn nào khác không? Nếu có nhiều tùy chọn, tùy chọn nào sẽ là tốt nhất? Nếu tôi không có bất kỳ người dùng nào có Android 1.5, tôi sẵn sàng từ bỏ nó, nhưng vì đây không phải là trường hợp, tôi vẫn phải hỗ trợ họ.

+0

tại sao bạn nghĩ nhiều gói ứng dụng là một lựa chọn khủng khiếp? – 500865

+0

Tôi không muốn thay đổi tệp nguồn giống nhau ở 2 vị trí khác nhau. Trừ khi tôi hiểu nhầm điều gì đó, về cơ bản nó sẽ duy trì 2 dự án, trong đó phần lớn mã giống hệt nhau. Vì vậy, nếu tôi thực hiện 10 thay đổi tập tin nguồn trong dự án 1, tôi phải làm tương tự trong dự án 2 (hai lần công việc). Tôi muốn làm công việc một lần và được thực hiện, nhưng tôi không chống lại bằng cách sử dụng 2 APK nếu đó là lựa chọn tốt nhất. – Michael

+0

Tôi cũng phải đối mặt với cùng một vấn đề. Bạn đã giải quyết vấn đề này như thế nào? –

Trả lời

-2

Bạn có thể kiểm tra mức độ API thiết bị và có 2 phiên bản của giao diện người dùng của bạn (một cho cupcake, một cho các điện thoại khác)

if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.CUPCAKE) { 
      ...Cupcake code here... 
     } 
+0

Cảm ơn Taiko. Tôi sẽ điều tra điều này. Âm thanh như duy trì GUI sẽ phức tạp trong kịch bản này, nhưng hy vọng tôi sai về điều đó. Tôi sẽ biết nhiều hơn khi tôi bắt đầu chơi với một số mã. – Michael

+0

Bạn không thể kiểm tra phiên bản sdk trong 1,5 như thế này, bởi vì Build.VERSION.SDK_INT là từ phiên bản 1.6 trở lên. Vì vậy, trong 1.5 nó sẽ sụp đổ. Bạn cần sử dụng Build.VERSION.SDK. – Raz