CERCA
PER MODELLO
FullScreen Chatbox! :)

Utente del giorno: 9mm con ben 3 Thanks ricevuti nelle ultime 24 ore
Utente della settimana: 9mm con ben 8 Thanks ricevuti negli ultimi sette giorni
Utente del mese: 9mm con ben 29 Thanks ricevuti nell'ultimo mese

Pagina 2 di 3 primaprima 123 ultimoultimo
Ultima pagina
Visualizzazione dei risultati da 11 a 20 su 24
Discussione:

Problema con Java

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
    Senior Droid L'avatar di Cymon


    Registrato dal
    Jul 2010
    Messaggi
    419

    Ringraziamenti
    7
    Ringraziato 43 volte in 42 Posts
    Predefinito

    Quote Originariamente inviato da Supergiox Visualizza il messaggio
    Invece (non so se è il caso di aprire un altro post),
    vorrei capire perchè si utilizza la parola chiave "final" per la TextView, se proprio questa verrà modificata (fatto sta che il programma funziona!), e invece il button non è final...
    E poi non so a cosa serve l'istruzione @override.
    La cosa grave è che non trovo risposta alle mie domande sui libri...
    Ma guarda, sui final rimango un pochino perplesso anch'io, visto che quando programma in quel senso non li uso mai. La clausola final definisce in pratica una costante... è ben vero che una volta riempita con la relativa view non verrà mai cambiata, ma comunque trattandosi di una variabile non mi sembra proprio un uso rigoroso.
    Ah, in realtà nel codice che hai esposto il TextView non viene modificato in modo che possa interessare all'attributo final. Trattandosi di una classe modificarlo violando la clausola final significherebbe assegnargli un altro puntatore di memoria che conserva i dati di quella classe. Invocare un metodo della classe, anche se modifica gli attributi, non modifica "l'area" di memoria in cui questi verranno scritti quindi non modifica il suo riferimento che è la TextView.
    Ecco, come tutte le volte che mi metto a parlare di puntatori mi è venuto il vomitino...

    Override è solo un'annotazione, quindi facoltativa. Indica che il metodo che stai andando a scrivere è in realtà una riscrittura di un metodo già presente nella classe che stai estendendo, in particolare il metodo onCreate().
    In pratica Activity ha già un suo onCreate (che puoi vedere nel javadoc), tu però lo riscrivi perché la classe che stai facendo ProjectLayoutActivity ha bisogno di un'implementazione diversa.

    In questo caso particolare è una procedura standard nella scrittura di un'Activity android, in realtà può essere usata in diversi modi.

    Volendo ci starebbe bene un override pure sopra
    public void onClick(View v)
    La mia katana: Slackware 13.1
    La mia wakizashi: Acer A1 Liquid con Android 2.1 Eclair
    Il mio sito: Follow the rabbit (con la sua App )

  2.  
  3. #12
    Androidiano L'avatar di Supergiox


    Registrato dal
    Oct 2010
    Messaggi
    179

    Ringraziamenti
    5
    Ringraziato 10 volte in 8 Posts
    Predefinito

    Anche a me non piacciono troppo i puntatori... e anzi in Java si usano meno che in C per fortuna :P Però bisogna ammettere che sono importanti perchè aiutano a capire il funzionamento interno...

    Comunque se è come dici tu, cioè che un'oggetto final consente di modificarne gli attributi, va bene! é un pò meno chiara la scelta di usarlo da parte dell'autore, e la scelta di non usarlo in button... ma per ora va bene così!

  4. #13
    Senior Droid L'avatar di Cymon


    Registrato dal
    Jul 2010
    Messaggi
    419

    Ringraziamenti
    7
    Ringraziato 43 volte in 42 Posts
    Predefinito

    Quote Originariamente inviato da Supergiox Visualizza il messaggio
    Anche a me non piacciono troppo i puntatori... e anzi in Java si usano meno che in C per fortuna
    Dai, concedimi di pignolare
    In JAVA si usano come in C, però JAVA si occupa da solo di gestirli lasciando il programmatore un po' più tranquillo
    La mia katana: Slackware 13.1
    La mia wakizashi: Acer A1 Liquid con Android 2.1 Eclair
    Il mio sito: Follow the rabbit (con la sua App )

  5. #14
    Androidiano L'avatar di Supergiox


    Registrato dal
    Oct 2010
    Messaggi
    179

    Ringraziamenti
    5
    Ringraziato 10 volte in 8 Posts
    Predefinito

    Quote Originariamente inviato da Cymon Visualizza il messaggio
    Dai, concedimi di pignolare
    In JAVA si usano come in C, però JAVA si occupa da solo di gestirli lasciando il programmatore un po' più tranquillo
    Giusto! E se devo essere sincero mi aspettavo che qualcuno lo dicesse xD

  6. #15
    Androidiano L'avatar di Ferri


    Registrato dal
    Jan 2011
    Messaggi
    129

    Ringraziamenti
    14
    Ringraziato 1 volta in 1 Post
    Predefinito

    ciao!!!Io sono al tuo stesso punto e sul

    pressButton.setOnClickListener(new OnClickListener() {


    mi da errore su OnClickListener()...Sai come mai? :S

    https://www.androidiani.com/forum/le...klistener.html
    Ultima modifica di Ferri; 21-01-11 alle 11:50
    _Il passante, in quanto tale, passò

  7. #16
    Senior Droid L'avatar di Cymon


    Registrato dal
    Jul 2010
    Messaggi
    419

    Ringraziamenti
    7
    Ringraziato 43 volte in 42 Posts
    Predefinito

    Quote Originariamente inviato da Ferri Visualizza il messaggio
    ciao!!!Io sono al tuo stesso punto e sul

    pressButton.setOnClickListener(new OnClickListener() {


    mi da errore su OnClickListener()...Sai come mai? :S

    https://www.androidiani.com/forum/le...klistener.html
    Ad occhio manca la classe tra gli import...
    La mia katana: Slackware 13.1
    La mia wakizashi: Acer A1 Liquid con Android 2.1 Eclair
    Il mio sito: Follow the rabbit (con la sua App )

  8. #17
    Androidiano L'avatar di Ferri


    Registrato dal
    Jan 2011
    Messaggi
    129

    Ringraziamenti
    14
    Ringraziato 1 volta in 1 Post
    Predefinito

    package it.apogeo.cap03.resurcelayout;

    import android.app.Activity;
    import android.os.Bundle;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.widget.Button;
    import android.widget.TextView;

    public class ResurceLayoutActivity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    Button pressButton = (Button) findViewById(R.id.pressButton);
    final TextView outputView = (TextView) findViewById(R.id.output);
    pressButton.setOnClickListener(new OnClickListener() {
    public void onClick(View v) {
    int counter = 0;
    outputView.setText("Click # " + counter ++ );
    }
    });
    }
    }

    Inserendola, queste sono le modifice aggiuntive che ho dovuto apportare! Ma il run comuque mi dice che che il mio project contiene errori. L esempio è a pag 65. Crisi nera
    _Il passante, in quanto tale, passò

  9. #18
    Senior Droid L'avatar di Cymon


    Registrato dal
    Jul 2010
    Messaggi
    419

    Ringraziamenti
    7
    Ringraziato 43 volte in 42 Posts
    Predefinito

    Quote Originariamente inviato da Ferri Visualizza il messaggio
    package it.apogeo.cap03.resurcelayout;

    import android.app.Activity;
    import android.os.Bundle;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.widget.Button;
    import android.widget.TextView;

    public class ResurceLayoutActivity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    Button pressButton = (Button) findViewById(R.id.pressButton);
    final TextView outputView = (TextView) findViewById(R.id.output);
    pressButton.setOnClickListener(new OnClickListener() {
    public void onClick(View v) {
    int counter = 0;
    outputView.setText("Click # " + counter ++ );
    }
    });
    }
    }

    Inserendola, queste sono le modifice aggiuntive che ho dovuto apportare! Ma il run comuque mi dice che che il mio project contiene errori. L esempio è a pag 65. Crisi nera
    Mi sembra di vedere uno spazio tra counter e ++, ma se ci dicessi che errosi sono sarebbe più facile...

    Ribadisco che prima di buttarsi a pesce s android sarebbe caldamente consigliato farsi un po' le ossa sul java...
    La mia katana: Slackware 13.1
    La mia wakizashi: Acer A1 Liquid con Android 2.1 Eclair
    Il mio sito: Follow the rabbit (con la sua App )

  10. #19
    Androidiano L'avatar di Ferri


    Registrato dal
    Jan 2011
    Messaggi
    129

    Ringraziamenti
    14
    Ringraziato 1 volta in 1 Post
    Predefinito

    Lo spazio non c'è, bug grafico!

    Comuque hai ragione ma pensavo che questa guida illustrasse passo passo le operazioni, ma evidentemente mi trovo in difficoltà, anche perchè ho copiato pari pari il code e non vedo perchè dovrebbe darmi quell errore.



    tu quella pagina come l hai passata?
    _Il passante, in quanto tale, passò

  11. #20
    Senior Droid L'avatar di Cymon


    Registrato dal
    Jul 2010
    Messaggi
    419

    Ringraziamenti
    7
    Ringraziato 43 volte in 42 Posts
    Predefinito

    Quote Originariamente inviato da Ferri Visualizza il messaggio
    Lo spazio non c'è, bug grafico!

    Comuque hai ragione ma pensavo che questa guida illustrasse passo passo le operazioni, ma evidentemente mi trovo in difficoltà, anche perchè ho copiato pari pari il code e non vedo perchè dovrebbe darmi quell errore.



    tu quella pagina come l hai passata?
    Non ho usato il libbbbro

    Comunque il discorso è che la guida android (e molte guide android) danno java per scontato. E comunque (questo vale per TUTTI i testi di informatica da Turing* in poi) non ci si può mai fidare ciecamente di un listato stampato e sperare che non dia noie in compilazione.
    In generale quando il codice si inceppa si tratta sempre di sciocchezze che uno sviluppatore java anche con pochi mesi di esperienza supera a pié pari e ignora, anche perché non riguardano quello che sta studiando.
    Se però si accavallano le ovvie perplessità di android con le ovvie perplessità di java essendo entrambe cose nuove si va in cortocircuito.

    In ogni caso non hai ancora detto che errore ti da


    *Si, anche i testi di Turing. Ma lui faceva il figo perché nessuno aveva ancora trovato una macchina con nastri infiniti su cui compilare la sua roba**

    **Roba tra cui c'era una versione preliminare di tetris, sembra. Ma i russi ti uccidono se lo dici in giro.
    La mia katana: Slackware 13.1
    La mia wakizashi: Acer A1 Liquid con Android 2.1 Eclair
    Il mio sito: Follow the rabbit (con la sua App )

  12. Il seguente Utente ha ringraziato Cymon per il post:

    Ferri (21-01-11)

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