Strategie per il nido d'ape e la compatibilità all'indietro

Quindi abbiamo visto l'anteprima SDK e le nuove cose come ActionBar e Fragments. Fare molta chiamate di metodo sarà inevitabile per farne uso, quindi quali strategie ci sono per mantenere una versione dell'app, che mi permetterà di utilizzare tutte le novità snazzy ma anche di dispositivi che eseguono 2.3 o successivi? La mia app è attualmente destinata a 1,5 – 2,3.

  • Utilizzando ZXing per creare un'applicazione di scansione del codice a barre android
  • Diffrezie tra l'utilizzo di Permessi e Permessi di utilizzo in AndroidManifest.xml
  • Come passare (correttamente) da startManagingCursor a CursorLoader?
  • La window di dialogo dell'authorization Android non viene visualizzata
  • Errore: Imansible trovare adb all'interno di SDK in Android Studio
  • Chiudere il database in un ContentProvider
  • Continua il suono acustico di riconoscimento vocale dopo l'aggiornamento di Google Search
  • Come sviluppare un analizzatore di spettro da un audio in tempo reale?
  • Come passare i dati formattati da JSON da un WebView a una pagina HTML
  • Immagine ad alta risoluzione non visualizzata in ImageView Android
  • Utilizzo di SQLite da libGDX su Android
  • Determina e lega l'evento di clic o "touch"
  • 5 Solutions collect form web for “Strategie per il nido d'ape e la compatibilità all'indietro”

    Le stesse API di frammento sono ora disponibili come una libreria statica per l'utilizzo con versioni precedenti di Android; è compatibile a destra con Android 1.6.

    Ci sono alcuni trucchi che puoi utilizzare per vedere se le varie API sono disponibili per l'applicazione. In generale, probabilmente desideri creare due set di attività alternative, quelle che utilizzano le nuove API di fantasia (ActionBar, Animatori, ecc.) E un altro set che non lo fa.

    Il seguente codice mostra come è ansible utilizzare la cattura di riflessione e di exception per determinare la disponibilità delle API di frammento e verificare la versione per confermare se sono disponibili altre API a nido d'ape.

    private static boolean shinyNewAPIsSupported = android.os.Build.VERSION.SDK_INT > 10; private static boolean fragmentsSupported = false; private static void checkFragmentsSupported() throws NoClassDefFoundError { fragmentsSupported = android.app.Fragment.class != null; } static { try { checkFragmentsSupported(); } catch (NoClassDefFoundError e) { fragmentsSupported = false; } } @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Intent startActivityIntent = null; if (!shinyNewAPIsSupported) startActivityIntent = new Intent(this, MainNonActionBarActivity.class); else startActivityIntent = new Intent(this, MainActionActivity.class); startActivity(startActivityIntent); finish(); } 

    In generale si possono utilizzare le stesse definizioni di layout. Dove i frammenti sono disponibili, potrai gonfiare each layout all'interno di un frammento diverso, in quanto non è probabile che tu voglia utilizzare tag <include> per incorporarli in un layout di attività più complesso.

    Un lavoro più dettagliato di come scrivere il codice per supportre la compatibilità all'indietro con il nido d'ape può essere trovato qui: http://blog.radioactiveyak.com/2011/02/strategies-for-honeycomb-and-backwards.html

    Convenientemente, Dianne Hackborne di Google ha pubblicato una voce di blog che copre questo argomento esatto. Google afferma che forniranno librerie statiche, quindi le versioni più vecchie di Android saranno in grado di utilizzare frammenti.

    Potrebbe essere utile l' articolo di Reto Meier sulla compatibilità all'indietro , in particolare la sezione intitolata "Gestione delle classi mancanti".

    Devo ancora guardare l'Honeycomb SDK, ma io, come te, spero che sia abbastanza facile e senza problemi di utilizzare le nuove funzionalità senza compromettere la compatibilità con i dispositivi più vecchi.

    Ben Google appena annunciato il nido d'ape sarà solo tablet: http://www.pcmag.com/article2/0,2817,2379271,00.asp

    Quindi, se il tuo dispositivo è destinato solo per cellulari, questo non può nemless essere un problema.

    Campione ufficiale di Android che ti aiuterà a realizzare ActionBar da 1,6 a 4.x

    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.