Problema creazione progetto

di Anonimizzato13956 il
4 risposte
Salve forum!! Premetto che ho iniziato da poco a fare le prime applicazioni android...praticamente sono a 0. Allora il mio problema è questo, appena creo un progetto (ambiente Eclipse) il file Main.java estende ActionBarActivity e non Activity, e poi l'ambiente di sviluppo crea un altro progetto chiamato appcompat_v7. Allora perché quando creo il progetto l'activity iniziale estende ActionBarActivity e non Activity? Cos'è e a cosa serve appcompat_v7??

4 Risposte

  • Ciao! Il progetto "appcompat_v7", così come il jar "android-support-v4" (che dovresti trovare nella cartella libs) sono due librerie di supporto, che ti permettono di usare componenti nuovi anche per applicazioni che possono essere eseguite su versioni vecchie di android.
    Per farti un esempio tutta la questione dei Fragment è stata introdotta con la versione Android 3.0 (Honeycomb), per cui normalmente potresti usarle solo per applicazioni che girano su android >= 3.0.
    Se, però, la tua app deve poter essere eseguita anche su versioni meno recenti di android, allora le scelte sono 2: o non usi le nuove funzionalità (ma questo è un grosso ostacolo), oppure includi queste librerie. Poiché ovviamente la seconda scelta è quella migliore, allora Eclipse ti importa automaticamente la libreria per permetterti di usare tutte le funzionalità anche sui dispositivi che usano versioni non aggiornate di android.

    La ActionBarActivity è una delle classi presenti all'interno della libreria di supporto e ti permette di utilizzare l'ActionBar anche sui dispositivi che hanno una versione di Android precedente ad Honeycomb
  • Grazie mille la tua spiegazione è stata utile!! Però Eclipse non dovrebbe generare la prima activity estendendo Activity?? Ho visto molti esempi in giro per la rete e tutti creano i progetti creando un activity di default che estende appunto Activity. A me estende ActionBarActivity appena creo un progetto, e non riesco a capire il perché.... grazie
  • Beh se guardi qui vedrai che ActionBarActivity estende Activity. Quindi, di fatto, estendi anche Activity.
  • Ho capito grazie mille!!!
Devi accedere o registrarti per scrivere nel forum
4 risposte