CERCA
PER MODELLO
FullScreen Chatbox! :)

Utente del giorno: gianpassa con ben 4 Thanks ricevuti nelle ultime 24 ore
Utente della settimana: DreamReaper con ben 13 Thanks ricevuti negli ultimi sette giorni
Utente del mese: DreamReaper con ben 50 Thanks ricevuti nell'ultimo mese

Pagina 2 di 3 primaprima 123 ultimoultimo
Ultima pagina
Visualizzazione dei risultati da 11 a 20 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. #11
    Androidiano


    Registrato dal
    Feb 2009
    Messaggi
    114

    Ringraziamenti
    0
    Ringraziato 13 volte in 5 Posts
    Predefinito

    Di solito in java il costruttore ha il nome della classe ma questa è una classe estesa quindi dobbiamo "adattarci" alla classe madre. La classe madre dice che il metodo che verrà richiamato sarà onCreate.

    Dovresti studiare un po' le basi degli oggetti. In php puoi tralasciare il tipo di variabile ecc invece in java deve essere tutto "tipizzato".

    i Package se conosci PHP 5.3 (ti faccio esempi su php perchè ho letto che hai approfondito sto linguaggio) sono i namespace come su molto linguaggi.

    public e private ( i più usati): Di solito le variabili si dichiarano tutte private e poi crei dei metodi pubblici get and set per le variabili. dichiari un metodo public quando vuoi far accedere dall'esterno della classe e private quando non vuoi ossia: quando vuoi far accedere solo alla classe(es: this.metodo(); )

    PS:da php5 (uscito nel 2004 credo) il costruttore è __construct() e non il nome della classe e da php 5.3 sarà obbligatorio fare come java, quindi dichiarare tuti i metodì se saranno pubblici, privati ecc. Ti consiglio di comprarti un libricino di java base dove trovi SICURAMEMTE la base degli oggetti che poi ti servirà per tutti gli altri linguaggi.

    Scusa se ho scritto un po' tutto incasinato ma sono di fretta

  2.  
  3. #12
    Androidiano


    Registrato dal
    Jun 2009
    Messaggi
    71

    Ringraziamenti
    2
    Ringraziato 0 volte in 0 Posts
    Predefinito

    Quote Originariamente inviato da Hitler Visualizza il messaggio
    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!
    Grazie! Sei stato molto chiaro, nel frattempo ho approfondito un po' java x comprendere meglio lo sviluppo di applicazioni Android, ma nel tuo post ho trovato delle conferme che mi aiutano. Solo una cosa mi è rimasta sospesa, ed è alquanto fondamentale, nel punto 5., hai tralasciato di dirmi cos'è "Bundle savedInstanceState", che parametro viene passato al costruttore? Bundle è il tipo di dato se non vado errato, ma savedInstanceState cos'è?! Questo non l'ho trovato (ancora) neanche nelle cose di java che ho letto. Cmq grazie moltissimo della tua spiegazione!

  4. #13
    Androidiano


    Registrato dal
    Jun 2009
    Messaggi
    71

    Ringraziamenti
    2
    Ringraziato 0 volte in 0 Posts
    Predefinito

    Quote Originariamente inviato da Skyline Visualizza il messaggio
    Di solito in java il costruttore ha il nome della classe ma questa è una classe estesa quindi dobbiamo "adattarci" alla classe madre. La classe madre dice che il metodo che verrà richiamato sarà onCreate.

    Dovresti studiare un po' le basi degli oggetti. In php puoi tralasciare il tipo di variabile ecc invece in java deve essere tutto "tipizzato".

    i Package se conosci PHP 5.3 (ti faccio esempi su php perchè ho letto che hai approfondito sto linguaggio) sono i namespace come su molto linguaggi.

    public e private ( i più usati): Di solito le variabili si dichiarano tutte private e poi crei dei metodi pubblici get and set per le variabili. dichiari un metodo public quando vuoi far accedere dall'esterno della classe e private quando non vuoi ossia: quando vuoi far accedere solo alla classe(es: this.metodo(); )

    PS:da php5 (uscito nel 2004 credo) il costruttore è __construct() e non il nome della classe e da php 5.3 sarà obbligatorio fare come java, quindi dichiarare tuti i metodì se saranno pubblici, privati ecc. Ti consiglio di comprarti un libricino di java base dove trovi SICURAMEMTE la base degli oggetti che poi ti servirà per tutti gli altri linguaggi.

    Scusa se ho scritto un po' tutto incasinato ma sono di fretta
    No no, non fa niente se hai scritto di fretta, ho capito tutto benissimo! Grazie mille anche a te!

  5. #14
    Baby Droid


    Registrato dal
    May 2009
    Messaggi
    28

    Ringraziamenti
    0
    Ringraziato 3 volte in 1 Post
    Predefinito

    Si scusami, quel savedInstanceState ritorna un valore Bundle che dice in quell'istante lo stato dello schermo è orizzontale o verticale!

  6. #15
    Androidiano


    Registrato dal
    May 2009
    Messaggi
    77

    Ringraziamenti
    8
    Ringraziato 2 volte in 2 Posts
    Predefinito

    Ci tengo ad esprimere mie osservazioni sui seguenti punti :

    #1. Il package è un aggregazione logica di classi e serve a raggruppare le stesse in base alla funzione che in comune esse svolgono. Fisicamente il package non è altro che una ramificazione di cartelle (immagina di sostituire il . con uno / ) gerarchicamente organizzate.

    #4-5. La spiegazione è corretta ma il metodo onCreate non è il costruttore della classe (Il costruttore è un metodo che ha il medesimo nome della classe e chiamato da Java quando viene istanziata la stessa), ma il metodo richiamato dalla piattaforma android quando viene inizializzata un' Activity.

    #6. E' un pò confusa la spiegazione, tu immagina che la classe Activiy che stiamo estendendo abbia una propria implementazione del metodo (e non costruttore) onCreate.
    Con l'istruzione super.onCreate() noi diciamo che intendiamo eseguire il codice definito dalla superclasse ma di estenderne l'esecuzione mediante il codice definito in override. Per cui quando l' OS chiamerà il metodo Oncreate, lo stesso eseguirà dapprima il codice originale definito dalla classe Activity, dopodichè il nostro codice.

    #9. Non mi risulta che sia un metodo java per stampare a video, più che altro è un metodo della classe Activity che injecta a video un oggetto di tipo TextView

    Non vorrei sembrare troppo pignolo, ma potresti creare un pò di confusione.

  7. #16
    Baby Droid


    Registrato dal
    May 2009
    Messaggi
    28

    Ringraziamenti
    0
    Ringraziato 3 volte in 1 Post
    Predefinito

    Non vorrei sembrare troppo pignolo, ma potresti creare un po' di confusione (cit.) con la lingua italiana parlata nel forum.

    #1 [un aggregazione] si scrive con l'apostrofo, se non sai il perchè cerca sui libri delle scuole elementari.

    #6 [un pò] si scrive con l'apostrofo, se non sai il perchè vedi sopra.

    Quando si diventa troppo pignoli questa è la fine che si fa, soprattutto quando si utilizza quell'aria da saccenti. Nessun dubbio su quello che hai cercato di far capire.. cercato.
    Buon studio!

  8. #17
    Androidiano


    Registrato dal
    Feb 2009
    Messaggi
    114

    Ringraziamenti
    0
    Ringraziato 13 volte in 5 Posts
    Predefinito

    Come non quotarti?

  9. #18
    Androidiano


    Registrato dal
    May 2009
    Messaggi
    77

    Ringraziamenti
    8
    Ringraziato 2 volte in 2 Posts
    Predefinito

    Saccente? solo perchè ho fatto delle precisazioni ?? Se non sei pronto al confronto non scrivere su un Forum..per la storia degli apostrofi hai ragione...io ammetto i miei sbagli..mi tocca ristudiarmi la grammatica..
    Ma tu hai studiato un pò di storia prima di avere il coraggio di usare quel nick ?
    Ultima modifica di fritzZz; 10-12-09 alle 19:42

  10. #19
    Baby Droid


    Registrato dal
    May 2009
    Messaggi
    28

    Ringraziamenti
    0
    Ringraziato 3 volte in 1 Post
    Predefinito

    Non sai scrivere in italiano e mi vieni a parlare di storia.. LoL!
    Cmq per me possiamo chiudere qui. Se ci tieni così tanto a continuare puoi farlo in privato, questo non è assolutamente il posto adatto! Il topic era nato per aiutare il buon alextime..

    Mi permetto un ulteriore o.t.:
    in una community, soprattutto in una come questa con tanti iscritti, ci sono persone che sanno di meno e persone che sanno di più! Non c'è MAI nessuno che sa tutto.. Lo spirito che bisogna usare è questo: dimostrare cordialità e disposizione all'utente che sa di meno, e riconoscenza e gratidutine all'utente che sa di più.

  11. #20
    Androidiano


    Registrato dal
    May 2009
    Messaggi
    77

    Ringraziamenti
    8
    Ringraziato 2 volte in 2 Posts
    Predefinito

    1. Io non mai detto di sapere tutto, ho solo detto che ci tenevo a dare delle precisazioni.
    2. Tu hai iniziato ad attaccarmi, la gente "umile" ammette di aver sbagliato
    3. Sono stufo...mettiamola così...hai ragione tu!

Pagina 2 di 3 primaprima 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