CERCA
PER MODELLO
FullScreen Chatbox! :)

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

Visualizzazione dei risultati da 1 a 7 su 7
Discussione:

Puntare a un XML su Web

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
    Baby Droid


    Registrato dal
    Dec 2010
    Messaggi
    2

    Ringraziamenti
    2
    Ringraziato 0 volte in 0 Posts
    Predefinito

    Puntare a un XML su Web

    Buongiorno a tutti!
    Un semplice codice come questo:

    fa riferimento al file layout/main.xml che si trova in locale.
    E' possibile far puntare la funzione setContentView() a un file XML che si trovi in remoto, con un indirizzo del tipo http: //mysite.com/main.xml?
    Grazie!

  2.  
  3. #2
    Senior Droid


    Registrato dal
    Dec 2009
    Messaggi
    307

    Ringraziamenti
    15
    Ringraziato 40 volte in 39 Posts
    Predefinito

    Quote Originariamente inviato da marianotomatis Visualizza il messaggio
    Buongiorno a tutti!
    Un semplice codice come questo:

    fa riferimento al file layout/main.xml che si trova in locale.
    E' possibile far puntare la funzione setContentView() a un file XML che si trovi in remoto, con un indirizzo del tipo http: //mysite.com/main.xml?
    Grazie!
    Risposta: no.

  4. Il seguente Utente ha ringraziato Orochi per il post:

    marianotomatis (28-12-10)

  5. #3
    Baby Droid


    Registrato dal
    Aug 2010
    Località
    Palermo
    Messaggi
    48

    Ringraziamenti
    0
    Ringraziato 7 volte in 7 Posts
    Predefinito

    Allora...direi di si...ma c'è una procedura più lunga e complessa che va dallo scaricamento del file, alla creazione di una nuova View allo "spacchettamento" del layout.

    Scopo di utilizzo?

  6. Il seguente Utente ha ringraziato sprik per il post:

    marianotomatis (29-12-10)

  7. #4
    Baby Droid


    Registrato dal
    Dec 2010
    Messaggi
    2

    Ringraziamenti
    2
    Ringraziato 0 volte in 0 Posts
    Predefinito

    In effetti speravo si potesse aggirare in questo modo.
    L'idea è quella di generare in streaming con PHP dei file XML da far usare all'applicativo in modo dinamico; si tratta di reportistica varia, che pesca da un database MySQL su web.

    L'alternativa sarebbe quella di generare (sempre con il PHP) direttamente codice HTML e caricare delle WebView, ma lavorare con gli oggetti "nativi" di un layout XML mi sembra più pulito.

    Qualcuno ha esperienza in merito? Pro e contro dei due approcci?

    Nel caso scelga di sfruttare l'XML, sono costretto a farne il parsing o esistono strutture più efficaci attraverso cui passarlo a una setContentView()?

  8. #5
    Senior Droid


    Registrato dal
    Dec 2009
    Messaggi
    307

    Ringraziamenti
    15
    Ringraziato 40 volte in 39 Posts
    Predefinito

    Prova a dare un'occhiata alla classe LayoutInflater, serve a ricostruire una view da un file xml presente in /res/layout, che però gli passi tramite il riferimento R.layout.nome_della_view, se non c'è niente neanche lì ti tocca davvero fare tutto a "mano", ovvero parsare l'xml e costruire le varie view.
    Di sicuro il codice per scaricare e leggere l'xml dal sito remoto lo devi scrivere per forza.

  9. #6
    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 marianotomatis Visualizza il messaggio
    Nel caso scelga di sfruttare l'XML, sono costretto a farne il parsing o esistono strutture più efficaci attraverso cui passarlo a una setContentView()?
    Tecnicamente setContentView accetta anche una View, una View può essere costruita da un oggetto AttributeSet e un AttributeSet può essere creato da un XML con questo codice



    Se guardi il javadoc relativo soprattutto a AttributeSet dovresti riuscire a vedere come fare.

    Perdonami, però, ma a mio parere stai chiedendo all'infrastruttura Android di fare qualcosa per cui non è preposta. Visto che mi sembra che tu stia semplicemente cercando di visualizzare dei dati credo che la cosa migliore sarebbe far arrivare dal web (un server, immagino) i dati in formato XML (o pincopallino a piacere, ovviamente), ma comunque solo i dati e poi costruire una classe che li parsa e monta la view secondo la visualizzazione che preferisci.
    Questo rende il server un po' meno android-dependent e permette di gestire in modo più pulito la visualizzazione sul client, anche con un mucchio più di libertà e altri vantaggi.
    La webview invece direi che è da escludere, la webview è quasi sempre una scorciatoia dirty, a mio modo di vedere, a meno che tu non stia scrivendo un browser.
    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. #7
    Androidiano


    Registrato dal
    Apr 2010
    Messaggi
    63

    Ringraziamenti
    0
    Ringraziato 0 volte in 0 Posts
    Predefinito

    Penso che non si possa fare semplicemente perchè quando viene pacchettizzata l' applicazione android il contenuto è già stato memorizzato non si può aggiungere un layout.

    Secondo me basta poco per rendere tutto dinamico alla fine ogni layout è composta da oggetti View devi solo ciclare l' xml e creare in runtime

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