0

J'ai créé deux fichiers .java. Celui qui peut compiler et fonctionner sur un téléphone 1.5 (SDK3) et puis celui qui fonctionne sur 2.0 (SDK5) Donc pour cet exemple, j'appellerai le fichier 1.5 ExampleOld et le nouveau Example. Je me demandais si je faisais juste de l'activité comme ça si ça fonctionnait comme un "portail" et choisissez l'activité à charger en fonction du SDK donc il n'y a pas de crash ou de compilation d'erreurs. Y a-t-il des changements que je devrais apporter à mon code? Peut-être que quelqu'un là-bas devait le faire avant. Merci!Essayer de créer une classe Adapter pour choisir le fichier .Java en fonction de la version du micrologiciel

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); 
    } 
} 

} 

Répondre

2

Qu'est-ce que vous faites (corrigez-moi si je me trompe) tente de maintenir une compatibilité ascendante tout en utilisant les nouvelles API si l'utilisateur exécute une version plus récente d'Android. La meilleure façon de faire est de suivre le tutoriel publié par Google here. Cela évite tout problème de vérification et est vraiment la meilleure façon de faire des choses à mon goût.

+0

Je regardais ça. Je suis juste encore assez nouveau à Java. J'ai eu du mal à suivre ça. Donc, j'ai essayé de trouver quelque chose que j'ai compris. – brybam

0

Je mettrais cette décision dans une classe Factory pour éviter d'avoir ces instructions if-else partout dans la base de code.