0

私がしたことは、2つの.javaファイルを作成することでした。1.5台の電話(SDK3)でコンパイルして実行できるものと、2.0(SDK5)で動作するものです。したがって、この例では、1.5ファイルのExampleOldと新しいファイルのExampleを呼び出します。「ポータル」のように機能し、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);
    } 
}

}
4

2 に答える 2

2

ユーザーが新しいAndroidバージョンを実行している場合、新しいAPIを使用しながら、下位互換性を維持しようとしています(間違っている場合は修正してください)。これを行うための最良の方法は、Googleがここに投稿したチュートリアルに従うことです。これにより、検証の問題が回避され、私見を行うための最良の方法になります。

于 2010-09-01T23:23:54.290 に答える
0

これらのif-elseステートメントがコードベース全体に存在しないように、この決定をファクトリクラスに入れます。

于 2010-09-01T23:24:16.157 に答える