Попытка создать класс адаптера для выбора файла .Java в зависимости от версии прошивки. - PullRequest
0 голосов
/ 02 сентября 2010

Я создал два файла .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 ]

2 голосов
/ 02 сентября 2010

То, что вы делаете (поправьте меня, если я ошибаюсь) пытается поддерживать обратную совместимость при использовании новых API, если пользователь использует более новую версию для Android. Лучший способ сделать это - следовать руководству, которое Google опубликовал здесь . Это позволяет избежать каких-либо проблем с проверкой и действительно является лучшим способом сделать что-либо.

0 голосов
/ 02 сентября 2010

Я бы поместил это решение в Factory Class, чтобы избежать использования этих операторов if-else по всей базе кода.

...