Autore Topic: Un piccolo chiarimenti sul linguaggio di programmazione Java?  (Letto 1031 volte)

Offline Biagino99

  • Nuovo arrivato
  • *
  • Post: 3
  • Respect: 0
    • Mostra profilo
Un piccolo chiarimenti sul linguaggio di programmazione Java?
« il: 26 Luglio 2015, 12:37:27 CEST »
0
Salve, io sto seguendo un corso per programmatori Android. Ci sono alcune cose che non mi sono molto chiare su Java Base, volevo chiedere se era possibile chiedere in questa Discussione alcune delucidazioni. La prima cosa che non mi è chiara è:

public static void main(String[] args) {}

Non capisco a cosa serve..

Grazie mille. :)

Offline undead

  • Utente senior
  • ****
  • Post: 666
  • Respect: +113
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy S6
  • Play Store ID:
    DrKappa
  • Sistema operativo:
    Windows 10 64-bit, Windows 8.1 64-bit
Re:Un piccolo chiarimenti sul linguaggio di programmazione Java?
« Risposta #1 il: 26 Luglio 2015, 13:32:50 CEST »
0
Occhio a non confonderti:

Nel linguaggio java il metodo main che hai scritto è il "punto di ingresso" della tua applicazione.
E' dove inizia l'esecuzione del tuo codice.

In android non c'è il metodo main, tendenzialmente si inizia a scrivere codice nella onCreate.


Offline iceweasel

  • Moderatore globale
  • Utente senior
  • *****
  • Post: 878
  • Respect: +147
    • Mostra profilo
  • Dispositivo Android:
    LGE P990 - Google Nexus 5
  • Sistema operativo:
    Linux Debian Sid
Re:Un piccolo chiarimenti sul linguaggio di programmazione Java?
« Risposta #2 il: 26 Luglio 2015, 13:35:32 CEST »
0
Quella riga sotto Android non serve a nulla, viene ignorata dal framework di Android.

Quella riga riguarda la programmazione Java sotto l'ambiente JDK di Oracle, in questo forum si discute di programmazione sotto l'ambiente Android di Google.

Quella riga istanzia un metodo statico nullo senza ritorno e come parametro un array di stringhe.

Inviato dal mio Nexus 5 utilizzando Tapatalk
adb logcat | tee /tmp/logcat | grep TAG

Offline Biagino99

  • Nuovo arrivato
  • *
  • Post: 3
  • Respect: 0
    • Mostra profilo
Re:Un piccolo chiarimenti sul linguaggio di programmazione Java?
« Risposta #3 il: 26 Luglio 2015, 18:06:10 CEST »
0
Grazie mille, siete stati chiarissimi. :)

Offline boyseez

  • Nuovo arrivato
  • *
  • Post: 43
  • Respect: 0
    • Github
    • Google+
    • boyseez
    • @GiuseppeRaddato
    • Mostra profilo
  • Dispositivo Android:
    Padfone 2
  • Sistema operativo:
    windows 8.1
Re:Un piccolo chiarimenti sul linguaggio di programmazione Java?
« Risposta #4 il: 28 Luglio 2015, 21:46:19 CEST »
0
undead ha in parte ragione perchè è vero che tendenzialmente è l'onCreate il punto d'accesso, ma se supponiamo di avere 3 Activity avremo 3 onCreate perciò punti d'accesso?
No, ogni activity và dichiarata nel manifest è il punto d'accesso dell'app è l'activity dove ha come intent-filter action MAIN

per chiarirci questa riga di codice
Codice (XML): [Seleziona]
<intent-filter>
                <action android:name="android.intent.action.MAIN" />
          </intent-filter>

« Ultima modifica: 28 Luglio 2015, 21:49:20 CEST da boyseez »
spero di esserti stato utile
Boyseez :-)

Offline undead

  • Utente senior
  • ****
  • Post: 666
  • Respect: +113
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy S6
  • Play Store ID:
    DrKappa
  • Sistema operativo:
    Windows 10 64-bit, Windows 8.1 64-bit
Re:Un piccolo chiarimenti sul linguaggio di programmazione Java?
« Risposta #5 il: 28 Luglio 2015, 22:50:02 CEST »
0
undead ha in parte ragione perchè è vero che tendenzialmente è l'onCreate il punto d'accesso, ma se supponiamo di avere 3 Activity avremo 3 onCreate perciò punti d'accesso?
No, ogni activity và dichiarata nel manifest è il punto d'accesso dell'app è l'activity dove ha come intent-filter action MAIN

per chiarirci questa riga di codice
Codice (XML): [Seleziona]
<intent-filter>
                <action android:name="android.intent.action.MAIN" />
          </intent-filter>
Hai perfettamente ragione, lo dicevo per semplificare.

Su android è proprio il modo di programmare che è diverso.

Se vogliamo essere pignoli il punto di ingresso non esiste. Ci sono delle callback richiamate secondo quello che è il lifecycle di una activity. Callback che non possono avere un tempo di esecuzione infinito pena il crash forzato della app.

Il modello di programmazione è quindi sostanzialmente basato sulla presenza di una serie di thread che svolgono delle funzioni e/o sulla mera risposta ad azioni dell'utente.

Se uno parte dalla programmazione "desktop" e poi passa ad android inizialmente si troverà male perché non c'è un punto di ingresso con tanto di flusso di codice lineare. Hai una serie di callback chiamate a seguito di eventi ed eventualmente dei thread che crei e gestisci tu.

 ;-)