Autore Topic: Inserimento ProgressBar o Progress Dialog  (Letto 578 volte)

Offline tuttoilmondo

  • Utente junior
  • **
  • Post: 59
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    HTC Desire Z
  • Sistema operativo:
    Mac OS X 10.7
Re:Inserimento ProgressBar o Progress Dialog
« Risposta #15 il: 20 Gennaio 2012, 07:50:18 CET »
0
Hai un app sul Market da tempo, ma i consigli che ti sono stati dati nel topic sono troppo complessi per te ? Non prenderla male, ma credo che ti convenga studiare la programmazione Java prima di cimentarti con Android, altrimenti sarà un "copia e incolla" di codice per te incomprensibile.

La sola cosa complessa di cui mi sono lamentato è identificare sto benedetto fine caricamento di una pagina web. Non so quindi perchè viene fuori con questa affermazione. Devo studiare ? Lo so, ho anche scritto che ho comprato il nuovo libro del Carli !
Fino ad oggi comuque non ho mai fatto copia incolla di codice per me incomprensibile, andorid non ti permette di incollare quello che vuoi ! Al momento l'unico codice incomprensibile per me è proprio quello che identifica il fine caricamento di una pagina web, infatti ho chiesto un'alternativa per me comprensibile come un handler.

Grazie lo stesso e chiudi pure questo topic.

Paolo
Le mie App sul market Android, Apple e Blackbarry:
Bacchiglione, Colorare, Debito Pubblico, Milano WebCam, Padova WebCam, Palermo WebCam, Venezia WebCam
Android Market
BlackBerry Store

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1464
  • keep it simple
  • Respect: +259
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Tattoo / Galaxy S
  • Market Developer Name:
    Bradipao
  • Sistema operativo:
    Windows XP
Re:Inserimento ProgressBar o Progress Dialog
« Risposta #16 il: 20 Gennaio 2012, 08:31:23 CET »
+1
La sola cosa complessa di cui mi sono lamentato è identificare sto benedetto fine caricamento di una pagina web. Non so quindi perchè viene fuori con questa affermazione. Devo studiare ? Lo so, ho anche scritto che ho comprato il nuovo libro del Carli !
Fino ad oggi comuque non ho mai fatto copia incolla di codice per me incomprensibile, andorid non ti permette di incollare quello che vuoi ! Al momento l'unico codice incomprensibile per me è proprio quello che identifica il fine caricamento di una pagina web, infatti ho chiesto un'alternativa per me comprensibile come un handler.

Non c'è bisogno di risentirsi per quello che ti ha scritto teskio, qui nessuno è pagato per rispondere e risolvere i problemi di chi posta, sono tutte persone che regalano il proprio tempo e le proprie conoscenze senza aspettarsi niente in cambio, nemmeno un grazie.

In questo thread ti sono già state date tutte le informazioni che servono per fare quello che ti occorre, il passo successivo è scrivere il codice al posto tuo.

Ti mostro:

Personalmente non ho mai lavorato con le WebView, ma da una ricerca veloce in rete ho trovato questo
Basta creare un oggetto WebViewClient e fare l'override del metodo onPageFinished, nel quale andrai a fare il dismiss del tuo dialog.

Bene, l'oggetto WebView Client espone proprio quello che ti serve:
void onPageFinished(WebView view, String url)    Notify the host application that a page has finished loading.

Se è troppo difficile partire dalla documentazione e scrivere direttamente il codice, l'unica cosa da fare è spendere una decina di minuti con google, cercando un esempio da cui fare copia-e-incolla. Io di solito pongo la domanda a google stesso, e in questo caso cercherei questo: "android detect when webview finished loading". Escono ottimi risultati, uno di questo sembra essere molto promettente.

Codice (Java): [Seleziona]
 ProgressDialog progressDialog = new ProgressDialog(ResultActivity.this);
progressDialog.setMessage("Loading ...");

progressDialog.setCancelable(false);
progressDialog.show();

WebView wv = new WebView(this);

wv.setWebViewClient(new WebViewClient() {
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
progressDialog.hide();
}
});

wv.loadUrl(some_url);

Penso sia facilmente adattabile al tuo caso, forse basta sostituire solo la quarto riga.
Partecipa anche tu all'iniziativa per salvare logCAT, felino in via di estinzione della razza Dalvik : CLICCA QUA

Offline tuttoilmondo

  • Utente junior
  • **
  • Post: 59
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    HTC Desire Z
  • Sistema operativo:
    Mac OS X 10.7
Re:Inserimento ProgressBar o Progress Dialog
« Risposta #17 il: 20 Gennaio 2012, 19:34:12 CET »
0
Ciao ho inserito il codice che mi hai passato nella activity che visualizza la pagina html, naturalemente ho dovuto fare degli adattamenti e alla fine questo è quello che ne risulta:

Codice (Java): [Seleziona]
public class Webcam extends Activity {
        @Override
        public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.webcam);
       
        ProgressDialog progressDialog = new ProgressDialog(Webcam.this);
        progressDialog.setMessage("Loading ...");

        progressDialog.setCancelable(false);
        progressDialog.show();

        WebView wv = new WebView(this);

        wv.setWebViewClient(new WebViewClient() {
        @Override
        public void onPageFinished(WebView view, String url) {
        super.onPageFinished(view, url);
        progressDialog.hide();
        }
        });

        wv.loadUrl("http://www.tuttoilmondo.it/app/bacchiglione/Webcam1.html");}
       
        //Creazione menù
         public boolean onCreateOptionsMenu(Menu menu) {
                   menu.add(Menu.NONE, 1, 1, "Aggiorna");
                   return true;}
         public boolean onOptionsItemSelected(MenuItem item) {
               int id = item.getItemId();    
               switch (id) {
               case 1:
                   WebView webview = new WebView(Webcam.this);
                   setContentView(webview);
                   webview.loadUrl("http://www.tuttoilmondo.it/app/bacchiglione/Webcam1.html");
               }  
               return false;
         //Fine creazione menù
         
}}

Dopo i vari adattementi ho un solo errore che non comprendo, mi sottolinea la riga "progressDialog.hide();" in verità solo "progressDialog" è scrive "Cannot refer to a non-final variable progressDialog inside an inner class defined in a different method".

Siceramente non mi sento uno che fà copia incolla amorfo, spesso copi pezzi di codice trovato sul mio libro o su internet, lo comprendo però in buona parte e ogni giorno che passa sempre più, grazie al libro del Carli. Il mio problema principale è attualmente la comprensione della struttura del codice più che della comprensione di cosa fà.

Ciao e grazie

Paolo
Le mie App sul market Android, Apple e Blackbarry:
Bacchiglione, Colorare, Debito Pubblico, Milano WebCam, Padova WebCam, Palermo WebCam, Venezia WebCam
Android Market
BlackBerry Store

Online teskio

  • Moderatore globale
  • Utente normale
  • *****
  • Post: 306
  • Respect: +103
    • Google+
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy i7500 / HTC Hero
  • Market Developer Name:
    Skullab Software
  • Sistema operativo:
    windows 7 / ubuntu 10.10
Re:Inserimento ProgressBar o Progress Dialog
« Risposta #18 il: 20 Gennaio 2012, 19:57:08 CET »
0
Meno male che avevo detto di non prenderla male  :D

Citazione
Il mio problema principale è attualmente la comprensione della struttura del codice più che della comprensione di cosa fà.

E' per questo che il mio consiglio era quello di puntare più sullo studio di Java e della programmazione. Il libro di Carli parla di Android, di un framework con delle sue API, ma da per scontato che il lettore sappia programmare in Java. Ad esempio l'errore che Eclipse ti riporta :

Cannot refer to a non-final variable progressDialog inside an inner class defined in a different method

Non c'entra nulla con Android, ma è proprio un errore derivato dal linguaggio Java. Il "consiglio" che Eclipse ti da è di dichiarare la variabile come final
logcat OR

Offline tuttoilmondo

  • Utente junior
  • **
  • Post: 59
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    HTC Desire Z
  • Sistema operativo:
    Mac OS X 10.7
Re:Inserimento ProgressBar o Progress Dialog
« Risposta #19 il: 20 Gennaio 2012, 21:06:36 CET »
0
Ci sono riuscito ecco il codice che ho usato:

Codice (Java): [Seleziona]
public class Webcam extends Activity {
        @Override
        public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.webcam);
        WebView webview = new WebView(Webcam.this);
         setContentView(webview);
         webview.loadUrl("http://www.tuttoilmondo.it/app/bacchiglione/Webcam1.html");
       
        final ProgressDialog progressDialog = new ProgressDialog(Webcam.this);
        progressDialog.setMessage("Loading ...");

        progressDialog.setCancelable(false);
        progressDialog.show();

        WebView wv = new WebView(Webcam.this);

        wv.setWebViewClient(new WebViewClient() {
        @Override
        public void onPageFinished(WebView view, String url) {
        super.onPageFinished(view, url);
        progressDialog.hide();
        }
        });
             wv.loadUrl("http://www.tuttoilmondo.it/app/bacchiglione/Webcam1.html");}

Grazie mille a tutti !
« Ultima modifica: 20 Gennaio 2012, 21:12:23 CET da tuttoilmondo »
Le mie App sul market Android, Apple e Blackbarry:
Bacchiglione, Colorare, Debito Pubblico, Milano WebCam, Padova WebCam, Palermo WebCam, Venezia WebCam
Android Market
BlackBerry Store

Offline Ricky`

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 2698
  • Respect: +370
    • Google+
    • rciovati
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Nexus
  • Sistema operativo:
    OS X Lion
Re:Inserimento ProgressBar o Progress Dialog
« Risposta #20 il: 20 Gennaio 2012, 21:39:39 CET »
+1
Ma.... hai capito il codice che hai scritto? :S

Offline tuttoilmondo

  • Utente junior
  • **
  • Post: 59
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    HTC Desire Z
  • Sistema operativo:
    Mac OS X 10.7
Re:Inserimento ProgressBar o Progress Dialog
« Risposta #21 il: 20 Gennaio 2012, 23:38:25 CET »
0
Ma.... hai capito il codice che hai scritto? :S

Se confronti il codice che mi ha passato bradipao con quello che poi ho inserito nella mia pagina, non dovresti aver dubbi.

Credo che tutti questi post di giustificazione, studia, hai capito etc... non servano a niente. Questo è un forum dove la gente dà e cerca consigli. Quando qualcuno cercherà come me di inserire una barra di attesa per il caricamento di una pagina web, troverà questo articolo interessante. I più bravi si fermeranno ai primi post dove si dice solo usa una progress dialog, attendi il caricamento e poi fai un dismiss. I meno bravi come me andranno avanti fino a trovare il codice di bradipao generico o magari il mio che incollato su un activity, funziona con piccoli adattamenti. Tutti i post invece dove mi viene chiesto se capisco il codice  che inserisco, perchè faccio copia incolla etc.. verranno scartati perchè non didattici.

L'importante è che alla fine ho trovato una riposta e la mia app è più bella e professionale di prima. Ringrazio per questo tutti quelli che hanno collaborato positivamente.

Se qualcuno ha voglia di vedere il risultato, lunedì troverà sul market le miè due applicazioni con implementato finalmente l'attesa prima del caricamento della pagina web. Sono "Padova Webcam" e "Bacchiglione". Ci tengo a precisare che sono due applicazioni gratuite, tutto quello che sto facendo e solo per pura passione.

Grazie

Paolo
Le mie App sul market Android, Apple e Blackbarry:
Bacchiglione, Colorare, Debito Pubblico, Milano WebCam, Padova WebCam, Palermo WebCam, Venezia WebCam
Android Market
BlackBerry Store

Offline blackgin

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1063
  • Respect: +116
    • Google+
    • blackgins
    • blackginsoft
    • Mostra profilo
    • CommaBit
  • Dispositivo Android:
    Galaxy Nexus
  • Market Developer Name:
    CommaBit
  • Sistema operativo:
    Mac OSX
Re:Inserimento ProgressBar o Progress Dialog
« Risposta #22 il: 21 Gennaio 2012, 01:50:56 CET »
0
Uhm.. Secondo me hai una concezione un po' strana della didattica.
Fate i bravi bimbi, postatelo il LogCat

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1464
  • keep it simple
  • Respect: +259
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Tattoo / Galaxy S
  • Market Developer Name:
    Bradipao
  • Sistema operativo:
    Windows XP
Re:Inserimento ProgressBar o Progress Dialog
« Risposta #23 il: 21 Gennaio 2012, 09:12:10 CET »
0
Credo che tutti questi post di giustificazione, studia, hai capito etc... non servano a niente.

Al contrario, sono fondamentali per la sopravvivenza di questo forum.
Partecipa anche tu all'iniziativa per salvare logCAT, felino in via di estinzione della razza Dalvik : CLICCA QUA