Autore Topic: TabViews e progettazione viste  (Letto 465 volte)

Offline O-Zone

  • Nuovo arrivato
  • *
  • Post: 7
  • Respect: 0
    • michelepinassi
    • michele_pinassi
    • Mostra profilo
    • Zerozone.it
  • Dispositivo Android:
    T-Mobile G1
  • Sistema operativo:
    Ubuntu 10.x
TabViews e progettazione viste
« il: 31 Agosto 2011, 10:58:06 CEST »
0
Salve a tutti,
sono alle prese con la mia prima applicazione Android (perdonate dunque eventuali inesattezze di linguaggio  :-P). Ho utilizzato il tutorial sulla TabView e funziona perfettamente, solo che, per ogni Tab, vorrei progettare interfacce un pò più complesse di un semplice TextView !

Oltretutto ho anche un piccolo problema che spero possiate risolvere

Ecco la parte di codice interessata:

Codice (Java): [Seleziona]
package openitaly.net;

import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.widget.TextView;

public class NewsActivity extends Activity {
        public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
       
        TextView textview = new TextView(this);
        textview.setText(Openitaly.serverVersion);
        setContentView(textview);
       
        Openitaly OI = new Openitaly();
       
        if(OI.doConnect()) {
                AlertDialog.Builder builder = new AlertDialog.Builder(this);
                builder.setMessage("Error connecting to Openitaly.net server.\n\nPlease check your internet connection and retry.")
                       .setCancelable(false)
                       .setPositiveButton("Okay", new DialogInterface.OnClickListener() {
                           public void onClick(DialogInterface dialog, int id) {
                                NewsActivity.this.finish();
                           }
                       }
               );          
        }
    }
}

mentre la classe Openitaly, che causa la morte del programma, viene definita così:

Codice (Java): [Seleziona]
package openitaly.net;

import java.io.IOException;
import java.io.StringReader;
import java.net.URI;

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;

import org.w3c.dom.Document;
import org.xml.sax.InputSource;
import org.xml.sax.SAXException;
import org.xmlrpc.android.XMLRPCClient;
import org.xmlrpc.android.XMLRPCException;
import android.util.Log;


public class Openitaly {
       
        XMLRPCClient OiClient = null;
       
        static String serverVersion = null;
       
        public Document XMLfromString(String xml) {
        Document doc = null;
        DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
        try {
                DocumentBuilder db = dbf.newDocumentBuilder();

                InputSource is = new InputSource();
                is.setCharacterStream(new StringReader(xml));
                doc = db.parse(is);

                } catch (ParserConfigurationException e) {
                        System.out.println("XML parse error: " + e.getMessage());
                        return null;
                } catch (SAXException e) {
                        System.out.println("Wrong XML file structure: " + e.getMessage());
            return null;
                } catch (IOException e) {
                        System.out.println("I/O exeption: " + e.getMessage());
                        return null;
                }
                return doc;
   }
   
        public boolean doConnect() {
               
                Document response = null;
               
                OiClient = new XMLRPCClient(URI.create("[url=http://www.openitaly.net/xmlrpc"]OpenItaly.net: Informazioni, foto, recensioni, mappe ed offerte speciali su Ristoranti, Hotel, Campeggi...e tutte le altre risorse turistiche italiane ![/url]));
               
                try {
                        response = XMLfromString((String) OiClient.call("oi.getInfo"));
                        Log.d("XMLRPC", "Request: oi.getInfo Response:"+response);
                } catch (XMLRPCException e) {
                        Log.d("XMLRPC", "Error", e);
                        return false;
                }
                serverVersion = response.getElementById("value").toString();   
                return true;
        }      
}

tornando a noi, per poter utilizzare "viste" più complesse devo creare file .xml (tipo news.xml ?) sulla falsariga del main.xml ? Se si, come dico di utilizzare tale "vista" al posto della TextView del tutorial ?

Grazie, Michele
--
O-Zone ! No (C) since 1996
On the road with VFR VTec 2002 "Vuffy", on the net with Linux Slackware.
Home+BLOG @ http://www.zerozone.it - Travels @ http://www.openitaly.net

Offline 7h38ugg3r

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1200
  • Respect: +133
    • riccardofischetti
    • th38ugg3r
    • @7h38ugg3r
    • Mostra profilo
  • Dispositivo Android:
    Galaxy-S GT I-9000/ ASUS Eee Pad Transformer
  • Play Store ID:
    Riccardo Fischetti
  • Sistema operativo:
    OS X Lion / Linux Mint 11 (Katya)
Re:TabViews e progettazione viste
« Risposta #1 il: 31 Agosto 2011, 15:32:29 CEST »
0
quando dici che quel pezzo di codice provoca la morte del programma, dovresti specificare cosa succede, in quale occasione e, soprattutto, darci il logcat così da poter trovare più velocemente il problema.
7h38ugg3r<=>thebugger
Non conosci Java? Allora sei nel posto sbagliato!

http://www.androidpatterns.com/

Offline O-Zone

  • Nuovo arrivato
  • *
  • Post: 7
  • Respect: 0
    • michelepinassi
    • michele_pinassi
    • Mostra profilo
    • Zerozone.it
  • Dispositivo Android:
    T-Mobile G1
  • Sistema operativo:
    Ubuntu 10.x
Re:TabViews e progettazione viste
« Risposta #2 il: 31 Agosto 2011, 15:55:20 CEST »
0
Grazie ma ho già risolto ! Chiudo subito il thread :-)

Michele
--
O-Zone ! No (C) since 1996
On the road with VFR VTec 2002 "Vuffy", on the net with Linux Slackware.
Home+BLOG @ http://www.zerozone.it - Travels @ http://www.openitaly.net