CERCA
PER MODELLO
FullScreen Chatbox! :)

Utente del giorno: carotix con ben 2 Thanks ricevuti nelle ultime 24 ore
Utente della settimana: 9mm con ben 7 Thanks ricevuti negli ultimi sette giorni
Utente del mese: 9mm con ben 31 Thanks ricevuti nell'ultimo mese

Pagina 1 di 3 123 ultimoultimo
Ultima pagina
Visualizzazione dei risultati da 1 a 10 su 22
Discussione:

Basic How to

Se questa discussione ti è stata utile, ti preghiamo di lasciare un messaggio di feedback in modo che possa essere preziosa in futuro anche per altri utenti come te!
  1. #1
    Androidiano


    Registrato dal
    Jun 2009
    Messaggi
    71

    Ringraziamenti
    2
    Ringraziato 0 volte in 0 Posts
    Predefinito

    Basic How to

    Ho cercato su molti forum degli how to di base per poter iniziare a capire la programmazione di applicazioni per android...la risposta è sempre la stessa: studiare java.

    Premetto che non ho mai lavorato in java, ma ho una piccola base di programmazione, dalle basi scolastiche del vecchio basic, poi pascal e successivo passaggio a c++ (senza l'introduzione agli oggetti, fondamentali in java), per terminare con uno studio approfondito di php e relativa introduzione autodidattica agli oggetti ed al linguaggi di scripting javascript, e qualche cenno di Visual BAsic, per cui, non ho mai programmato in java, ma non sono proprio alle prime prime armi, no?!

    Ho installato Eclipse e il plugin di Android, ieri ho seguito il tutorial per il fatidico Hello World e sono rimasto un po'...disorientato...c'è una qualche documentazione che tocchi un po' le basi? Sono daccordo con classi costruttori metodi e quant'altro però sono rimasto un po' spiazzato dall'approccio...grazie in anticipo

  2.  
  3. #2
    Administrator L'avatar di Andrea


    Registrato dal
    Nov 2008
    Messaggi
    3,368
    Smartphone
    Nexus S, myTouch Slide 4g

    Ringraziamenti
    143
    Ringraziato 880 volte in 323 Posts
    Predefinito

    Eh, la tua richesta è un po generica mi pare..

    Che cosa ti ha lasciato "disorientato" ?

    Twitter @veke87

  4. #3
    Androidiano


    Registrato dal
    Jun 2009
    Messaggi
    71

    Ringraziamenti
    2
    Ringraziato 0 volte in 0 Posts
    Predefinito

    Quote Originariamente inviato da Andrea Visualizza il messaggio
    Eh, la tua richesta è un po generica mi pare..

    Che cosa ti ha lasciato "disorientato" ?
    A dir la verità un po' tutto...ti accontento subito ecco il dettaglio...con relativi commenti che esprimono le mie perplessità da ignorante nonchè newbie ma volenteroso

    Codice PHP:
    package com.example.helloandroid;
    #1. immagino che è obbligatorio definire il nome del software.

    import android.app.Activity;
    import android.os.Bundle;
    import android.widget.TextView;
    #2. Queste sono librerie, giusto? Un po' come il C, ma di cosa si occupano??
    # Dove trovo i vari metodi? E una lista di tutte le altre librerie create e 
    # messe a disposizione da AOSP?

    public class HelloAndroid extends Activity {
    #3. Definisco una classe pubblica di nome HelloAndroid che è un'estensione
    # di Activity che presupponto sia ovviamente anch'essa una classe,
    # il che significa che HelloAndroid eredita tutti i metodi di Activity,
    # giusto??

        /** Called when the activity is first created. */
        
    @Override
        
    #4. Questo che roba è?!

        
    public void onCreate(Bundle savedInstanceState) {
        
    #5. in php ad esempio, la funzione costruttrice deve avere lo stesso nome
        # dell'intera classe, nel caso di Android invece è d'obbligo che 
        # il metodo costruttore si chiami onCreate e fin qui nessun problema
        # il costruttore in questo caso non deve generare
        # nessun risultato (void), è un metodo pubblico (e cos'è un metodo
        # pubblico all'interno di una classe? Non deve sempre e comunque essere
        # richiamato come metodo dell'oggetto? Tipo nomeOggetto.onCreate?)
        # E il "Bundle savedInstanceState" cos'è?

            
    super.onCreate(savedInstanceState);
           
    #6. chi è super? dove è stato definito? Non è un istanza della
           # classe, non ho visto in giro una roba tipo 
           # super = new HelloAndroid, perchè il nome della classe
           # è HelloAndroid, ma quando è stato creato un oggetto della
           # classe HelloAndroid?
           # E poi scusate, ma viene fatto riferimento al metodo
           # onCreate direttamente dentro il metodo stesso?!?!
           # Che fa chiama se stesso?!
        
            
    TextView tv = new TextView(this);
            
    #7. bene, qui creo un oggeto "tv" della classe TextView
            # e passo come parametro al metodo costruttore questa
            # stessa classe (this), ma perchè si deve scrivere
            # TextView anche prima? Non basta un:
            # tv = new TextView(this);?

            
    tv.setText("Hello, Android");
            
    #8. qui ora è più semplice, passo la stringa "Hello, Android" al
            # metodo setText dell'oggetto tv

            
    setContentView(tv);
            
    #9. qui proprio non capisco nulla,setContentView è una funzione
            # generica? Non è chiamata come metodo di un oggetto
            # anche se viene passato come parametro l'intero oggetto tv.
            # e la connessione con il file Xml dove la trovo?

        
    }

    Se riuscissi a capire questi dettagli nello specifico poi il resto è discesa, spulciare le librerie che sono a disposizione non è un problema, anche la sintassi credo sia specificata da qualche parte...
    Ultima modifica di Andrea; 08-10-09 alle 00:11

  5. #4
    Androidiano


    Registrato dal
    Jun 2009
    Messaggi
    71

    Ringraziamenti
    2
    Ringraziato 0 volte in 0 Posts
    Predefinito

    ok, trovate le librerie android.app e android.os che contengono le classi Activity e Bundle, resta tutto il resto (scusate il giro di parole)

  6. #5
    Administrator L'avatar di Andrea


    Registrato dal
    Nov 2008
    Messaggi
    3,368
    Smartphone
    Nexus S, myTouch Slide 4g

    Ringraziamenti
    143
    Ringraziato 880 volte in 323 Posts
    Predefinito

    Tutte le tue richieste sono piu o meno tutte riguardanti a java..

    Infatti, tranne per la setContentView tutte le tue domande sono per java. Secondo me ti conviene leggere in giro cos'è un package e come si programma un pochino in java..

    Io non ho mai studiato un piffero di java e tral'altro sono riuscito a scrivere codice per android.. Perciò non perdere le speranze.. Ti serve solamente capire come funziona il java..

    Inoltre sul sito ufficiale degli sviluppatori android ci sonoa lcuni tutorial che spiegano abbastanza decentemente cosa servono i vari metodi, ci hai dato un occhio?

    Twitter @veke87

  7. #6
    Androidiano


    Registrato dal
    Jun 2009
    Messaggi
    71

    Ringraziamenti
    2
    Ringraziato 0 volte in 0 Posts
    Predefinito

    Quote Originariamente inviato da Andrea Visualizza il messaggio
    Tutte le tue richieste sono piu o meno tutte riguardanti a java..

    Infatti, tranne per la setContentView tutte le tue domande sono per java. Secondo me ti conviene leggere in giro cos'è un package e come si programma un pochino in java..

    Io non ho mai studiato un piffero di java e tral'altro sono riuscito a scrivere codice per android.. Perciò non perdere le speranze.. Ti serve solamente capire come funziona il java..

    Inoltre sul sito ufficiale degli sviluppatori android ci sonoa lcuni tutorial che spiegano abbastanza decentemente cosa servono i vari metodi, ci hai dato un occhio?
    Ho visto Hello World, ed è da li che mi sono nate alcune perplessità. Ora sto proseguendo con gli altri tutorial, alcune cose si chiariscono per strada, ma alcuni dei miei dubbi li ho ancora...

  8. #7
    Androidiano


    Registrato dal
    Jun 2009
    Messaggi
    71

    Ringraziamenti
    2
    Ringraziato 0 volte in 0 Posts
    Predefinito

    Quote Originariamente inviato da Andrea Visualizza il messaggio
    Tutte le tue richieste sono piu o meno tutte riguardanti a java..

    Infatti, tranne per la setContentView tutte le tue domande sono per java. Secondo me ti conviene leggere in giro cos'è un package e come si programma un pochino in java..

    Io non ho mai studiato un piffero di java e tral'altro sono riuscito a scrivere codice per android.. Perciò non perdere le speranze.. Ti serve solamente capire come funziona il java..

    Inoltre sul sito ufficiale degli sviluppatori android ci sonoa lcuni tutorial che spiegano abbastanza decentemente cosa servono i vari metodi, ci hai dato un occhio?
    Scusa ma, se non conoscevi minimamente java, poi cosa hai fatto? Lo hai studiato? Da che fonti?

  9. #8
    Administrator L'avatar di Andrea


    Registrato dal
    Nov 2008
    Messaggi
    3,368
    Smartphone
    Nexus S, myTouch Slide 4g

    Ringraziamenti
    143
    Ringraziato 880 volte in 323 Posts
    Predefinito

    Sincermante no l'ho studiato.. Ho imparato semplicemente a tentoni.. Poi ogni tanto mi informavo ( Tipo cercavo su google cosa era un package ecc)

    Insomma procedevo a tentativi.. Fa schifo da dire ma non avevo il tempo per studiarmi decentemente java cosi ho deciso di impararlo onthefly

    Twitter @veke87

  10. #9
    Androidiano


    Registrato dal
    Jun 2009
    Messaggi
    71

    Ringraziamenti
    2
    Ringraziato 0 volte in 0 Posts
    Predefinito

    Quote Originariamente inviato da Andrea Visualizza il messaggio
    Sincermante no l'ho studiato.. Ho imparato semplicemente a tentoni.. Poi ogni tanto mi informavo ( Tipo cercavo su google cosa era un package ecc)

    Insomma procedevo a tentativi.. Fa schifo da dire ma non avevo il tempo per studiarmi decentemente java cosi ho deciso di impararlo onthefly
    io mi sono messo a vedere basi di java, alcune cose si chiariscono molto...altre ancora no...sono un tipo paziente...vediamo come procede...

  11. #10
    Baby Droid


    Registrato dal
    May 2009
    Messaggi
    28

    Ringraziamenti
    0
    Ringraziato 3 volte in 1 Post
    Predefinito

    Beh non so se sono ancora in tempo, ma provo a rispondere io alle tue perplessità! Cominciamo in ordine numerico come hai fatto tu :

    #1. Il package non è altro che l'insieme di tutte le classi presenti nell'apk.

    #2. Non è proprio giusto definirle librerie, potresti usare la stessa definizione usata in c ' #include ', ma sono semplicemente delle altre classi importate nel package della tua apk.

    #3. Si giusto.

    #4. Un override è un sovrascrittura di un codice già implementato, nel tuo caso stai stai ri-implementando il costruttore della classe Activity, che ovviamente è stato ereditato dalla classe HelloAndroid che estende Activity.

    #5. Si è giusto quello che dici, ma java quando è nato ha creato anche delle convenzioni.. per farti capire ad esempio ha detto che tutti i package devono iniziare per lettera minuscola, le classi per lettera maiuscola, ecc ecc.. e in una convenzione dice che tutti i costruttori delle classi devono essere public.

    #6. super(); non fa nient'altro che richiamare il costruttore della classe, ad esempio se crei due costruttori di una classe qualsiasi, uno dei quali non riceve alcun parametro e l'altro che riceve due paramentri ad esempio interi, puoi richiamare entrambi i costruttori scrivendo super(); e super(int x, int y); l'interprete (in gergo a volte chiamato compilatore) capisce a tempo di esecuzione di quale costruttore si tratta in base ai parametri passati.
    Alla seconda domanda del punto 6 posso semplicemente risponderti in questo modo: hai mai sentito parlare di ricorsione? (scusa se non ti spiego cosa è, ma non è per niente semplice in qualche riga.)

    #7. Devi sempre scrivere il tipo dell'oggetto che vuoi creare, quella è come una dichiarazione di una variabile in c, l'interprete deve sapere che oggetto sta utilizzando! Ti faccio capire meglio.. Immagina di avere una superclasse FigureGeometriche e tutte le sue sotto classi Triangolo,Quadrilatero ecc ecc..
    Se istanzi un oggetto t = new FigureGeometriche(); (apparte che è sintatticamente scorretto e ti da errore) l'interprete non può sapere di che oggetto ha a che fare, proprio perchè dopo new puoi mettere qualsiasi costruttore delle classi superiori, ma l'oggetto può benissimamente essere un oggetto di qualsiasi sottoclasse. Quindi è corretto scrivere sia: Triangolo t = new FigureGeometriche(); sia: Triangolo t = new Triangolo();. Spero di essere stato chiaro in quest'ultimo passaggio..

    #8. Perfetto.

    #9. Immagina setContentView come la printf in c. E' una delle tantissime procedure (in gergo a volte chiamate funzioni :P) di java per stampare a video.

    Spero di essere stato d'aiuto, sia a te che a qualche altro.
    Ciao alla prossima!

  12. I seguenti 3 Utenti hanno ringraziato Hitler per il post:

    alextime (26-11-09),kamig (03-06-10),weblu2000 (03-03-16)

Pagina 1 di 3 123 ultimoultimo
Ultima pagina

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire risposte
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Torna su
Privacy Policy