Попытка создать класс адаптера для выбора файла.Java в зависимости от версии прошивки.
Я создал два файла.java. Тот, который можно скомпилировать и запустить на телефоне 1.5 (SDK3), а затем тот, который работает на 2.0(SDK5). Так что для этого примера я назову файл 1.5 ExampleOld и новый пример. Мне было интересно, если бы я просто выполнил действие, как это, если бы оно работало как "портал" и выбрало действие для загрузки в зависимости от SDK, чтобы не было сбоев или ошибок компиляции. Есть ли какие-либо изменения, которые я должен внести в свой код? Может быть, кто-нибудь, кто должен был сделать это раньше. Спасибо!
package com.my.app;
import android.app.Activity;
import android.content.Intent;
import android.os.Build;
import android.os.Bundle;
public class ExamplePortal extends Activity {
int sdk=new Integer(Build.VERSION.SDK).intValue();
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (sdk<5) {
Intent v = new Intent(this, ExampleOld.class);
startActivity(v);
}
else {
Intent v = new Intent(this, Example.class);
startActivity(v);
}
}
}
2 ответа
То, что вы делаете (поправьте меня, если я ошибаюсь), пытается поддерживать обратную совместимость при использовании новых API, если пользователь использует более новую версию для Android. Лучший способ сделать это - следовать руководству Google, опубликованному здесь. Это позволяет избежать каких-либо проблем с проверкой и является действительно лучшим способом сделать что-либо.
Я бы поместил это решение в Factory Class, чтобы избежать использования этих операторов if-else по всей базе кода.