Autore Topic: Aiutooooooo XML  (Letto 760 volte)

Offline boyseez

  • Nuovo arrivato
  • *
  • Post: 43
  • Respect: 0
    • Github
    • Google+
    • boyseez
    • @GiuseppeRaddato
    • Mostra profilo
  • Dispositivo Android:
    Padfone 2
  • Sistema operativo:
    windows 8.1
Aiutooooooo XML
« il: 04 Luglio 2012, 11:30:36 CEST »
0
Raga Ho un piccolo problema con il file xml
sto creando un app che mi salva delle impostazioni in un fil Xml e Il codice è il seguente:
Codice (Java): [Seleziona]
public class MenuOpzioni extends TabActivity{
         private static final int SALVA=1;
            private static final int ANNULLA=2;
              EditText Name,Cog,mail,NumSMS,Test;

           
       
        @Override
        protected void onCreate(Bundle savedInstanceState)
        {        
                super.onCreate(savedInstanceState);
                setContentView(R.layout.menuop);
               
               
               
        String xmlUrl="Dati.xml";
        MyParser parser=new MyParser(); //otteniamo un istanza del nostro parser
        parser.parseXml(xmlUrl);//usiamo il parser
        ((TextView)findViewById(R.id.EditNome)).setText(parser.getParsedData().toString());
               

                String text;
                Reader reader = null;
                try {
                        reader = new InputStreamReader(openFileInput("Dati.xml"));
                        StringBuffer aux = new StringBuffer();
                        char[] buf = new char[1024]; int len;
                        while ((len = reader.read(buf)) != -1)
                        {
                                aux.append(buf, 0, len);
                                }
                        text = aux.toString();
                        XMLfromString(text);
               
                                //Toast.makeText(this, "Testo caricato", Toast.LENGTH_LONG).show();
                        } catch (FileNotFoundException e)
                        { text ="";
                        Toast.makeText(this, "Testo non trovato", Toast.LENGTH_LONG).show(); }
                catch (IOException e) {
                        Log.e("FileDemo", "Impossibile aprire il file", e);
                        text = "";
                        Toast.makeText(this, "Errore", Toast.LENGTH_LONG).show();
                        } finally {
                                if (reader != null) {
                                        try {
                                                reader.close();
                                                }
                                        catch (Throwable t) { } } }
                        //Toast.makeText(this, text, Toast.LENGTH_LONG).show();

                       
                                       
                                       
                                       
                                       
                                       
                                       
                                       
                                       
                                       
                                       
                                       
                                       
                                       
                                       
                                       
                                       
                 Name=(EditText)findViewById(R.id.EditNome);
                 Cog=(EditText)findViewById(R.id.EditCognome);
                 mail=(EditText)findViewById(R.id.EditEmail);
                 NumSMS=(EditText)findViewById(R.id.EditSms);
                 Test=(EditText)findViewById(R.id.editTesto);
               
       
               
            TabHost mTabHost1 = getTabHost();
                mTabHost1.addTab(mTabHost1.newTabSpec("tab_test1").setIndicator("Account").setContent(R.id.linearLayout1));
                mTabHost1.addTab(mTabHost1.newTabSpec("tab_test2").setIndicator("Dati Telefono").setContent(R.id.linearLayout2));
                mTabHost1.addTab(mTabHost1.newTabSpec("tab_test3").setIndicator("Configurazione SOS").setContent(R.id.linearLayout3));
                mTabHost1.setCurrentTab(0);
               
               
            TextView Imei=(TextView)findViewById(R.id.EditIMEI);
            Imei.setText(Imei());
             
             TextView iMsi=(TextView)findViewById(R.id.EditIMSI);
             iMsi.setText(iMsi());
             
             TextView serialSim=(TextView)findViewById(R.id.EditserialNumero);
             serialSim.setText(SerialSim());
             
             livelloBat();    
        }
       
       
       
       
       
        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 onCreateOptionsMenu(Menu m){
                MenuItem Salva= m.add(Menu.NONE,SALVA,1,"SALVA");
                Salva.setIcon(R.drawable.usbpendrive_unmount);
               
                MenuItem Annulla= m.add(Menu.NONE,ANNULLA,2,"ANNULLA");
                Annulla.setIcon(R.drawable.cestino);
                return true;   
             }
             
             public boolean onOptionsItemSelected(MenuItem m){
                 int id= m.getItemId();
                 switch(id){
                 case SALVA:
                                String N=Name.getText().toString();
                                String C=Cog.getText().toString();
                                String E=mail.getText().toString();
                                String S=NumSMS.getText().toString();
                                String T=Test.getText().toString();
                                String k="Campo Mancante: ";
                               
                                if(N.length()==0){
                                        messaggio(k+"Nome");
                                }else if(C.length()==0){
                                        messaggio(k+"Cognome");
                                }else if(E.length()==0){
                                        messaggio(k+"Email");
                                }else if(S.length()==0){
                                        messaggio(k+"Numero SMS");
                                }else if(T.length()==0){
                                        messaggio(k+"Testo");
                                }else
                                {Salva_Imp(N,C,E,S,T,Imei(),iMsi(),SerialSim());}
                       
                                                 
                         return true;
                 case ANNULLA:
                                Intent intent1 = new Intent(MenuOpzioni.this,SoSDroidActivity.class);
                                        startActivity(intent1);
                         return true;            
                 }
                  return false;
             }
       
       

        private CharSequence Salva_Imp(String Nome, String Cognome, String Email, String Sms,String Testo, String Imei, String iMsi, String SerialSim)
        {      
                 XmlSerializer serializer = Xml.newSerializer();
            StringWriter writer = new StringWriter();
           
            try {
                serializer.setOutput(writer);
                serializer.startDocument("UTF-8", true);
                serializer.startTag("", "Impostazioni");
               
                                serializer.startTag("", "Nome");
                                serializer.text(Nome);
                                serializer.endTag("", "Nome");
                               
                               
                                serializer.startTag("", "Cognome");
                                serializer.text(Cognome);
                                serializer.endTag("", "Cognome");
                               
                               
                                serializer.startTag("", "Email");
                                serializer.text(Email);
                                serializer.endTag("", "Email");
                               
                               
                                serializer.startTag("", "Imei");
                                serializer.text(Imei);
                                serializer.endTag("", "Imei");
                               
                               
                                serializer.startTag("", "Imsi");
                                serializer.text(iMsi);
                                serializer.endTag("", "Imsi");
                               
                               
                                serializer.startTag("", "SerialSim");
                                serializer.text(SerialSim);
                                serializer.endTag("", "SerialSim");
                               
                               
                                serializer.startTag("", "SmS");
                                serializer.text(Sms);
                                serializer.endTag("", "SmS");
                               
                                serializer.startTag("", "Testo");
                                serializer.text(Testo);
                                serializer.endTag("", "Testo");
                         
             
                serializer.endTag("", "Impostazioni");
                serializer.endDocument();
               
               
               
               Writer writer1=null;
                        try {
                                writer1=new OutputStreamWriter(openFileOutput("Dati.xml",MODE_PRIVATE));
                                writer1.write(writer.toString());
                                messaggio("Salvato");
                               
                        } catch (IOException e) {
                                Log.e("Salvataggio Impostazioni", "ERRORE: ",e);
                                messaggio("ERRORE: "+e);
                        } finally {
                                if (writer1!=null)
                                {
                                        try
                                        {
                                                writer1.close();
                                        }catch (Throwable t){}}}
               
               
               
                return writer.toString();
            } catch (Exception e) {
                throw new RuntimeException(e);
            }
               
               
               
               
           
         
             
               
                   
                               
                }
               
               
                       
       

        public String Imei() {
        String deviceID = null;
        String serviceName = Context.TELEPHONY_SERVICE;
        TelephonyManager m_telephonyManager = (TelephonyManager) getSystemService(serviceName);
        int deviceType = m_telephonyManager.getPhoneType();
        deviceID = m_telephonyManager.getDeviceId();
        return deviceID;
   }
        public String iMsi() {
        String deviceID = null;
        String serviceName = Context.TELEPHONY_SERVICE;
        TelephonyManager m_telephonyManager = (TelephonyManager) getSystemService(serviceName);
        int deviceType = m_telephonyManager.getPhoneType();
        deviceID = m_telephonyManager.getSubscriberId();
        return deviceID;
   }
        public String SerialSim() {
        String deviceID = null;
        String serviceName = Context.TELEPHONY_SERVICE;
        TelephonyManager m_telephonyManager = (TelephonyManager) getSystemService(serviceName);
        int deviceType = m_telephonyManager.getPhoneType();
        deviceID = m_telephonyManager.getSimSerialNumber();
        return deviceID;
   }
        private void livelloBat() {
               
        BroadcastReceiver batteryLevelReceiver = new BroadcastReceiver() {
            public void onReceive(Context context, Intent intent) {
                TextView LivelloBatteria=(TextView)findViewById(R.id.EditBatteria);
                context.unregisterReceiver(this);
                int rawlevel = intent.getIntExtra(BatteryManager.EXTRA_LEVEL, -1);
                int scale = intent.getIntExtra(BatteryManager.EXTRA_SCALE, -1);
                int level = -1;
                if (rawlevel >= 0 && scale > 0) {
                    level = (rawlevel * 100) / scale;
                }
                LivelloBatteria.setText( level + "%");
            }
        };
        IntentFilter batteryLevelFilter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED);
        registerReceiver(batteryLevelReceiver, batteryLevelFilter);
    }
       

        /*String N=Name.getText().toString();
                String C=Cog.getText().toString();
                String E=mail.getText().toString();
                String S=NumSMS.getText().toString();
                String T=Test.getText().toString();
               
                String k="Campo Mancante: ";
                if(N.length()==0){
                        messaggio(k+"Nome");
                }else if(C.length()==0){
                        messaggio(k+"Cognome");
                }else if(E.length()==0){
                        messaggio(k+"Email");
                }else if(S.length()==0){
                        messaggio(k+"Numero SMS");
                }else if(T.length()==0){
                        messaggio(k+"Testo");
                }else
                {}*/




       
        private void messaggio(String mex) {
                Toast.makeText(this,mex, Toast.LENGTH_LONG).show();     }
}



Funziona Perfettamente..... Però da un altro file gestisco la lettura da questo File Xò Non Riesco Qualcuno Mi può dare una mano
Aiutoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo
spero di esserti stato utile
Boyseez :-)

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:Aiutooooooo XML
« Risposta #1 il: 04 Luglio 2012, 11:53:50 CEST »
+1
Prima di andare a spulciare il codice, potresti spiegare in dettaglio cosa hai provato a fare e cosa non ti funziona/riesce?


E due consigli generici: (1) per aumentare la probabilità che le persone leggano la tua richiesta, dovresti scegliere un titolo più contestualizzato rispetto a "Aiutooooooooo XML"; e (2) eviterei abbreviazioni tipiche da SMS-chat (come Xò), visto che qua siamo su un forum.  ;-)
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline Nicola_D

  • Moderatore
  • Utente storico
  • *****
  • Post: 2479
  • SBAGLIATO!
  • Respect: +323
    • Github
    • Google+
    • nicoladorigatti
    • Mostra profilo
  • Dispositivo Android:
    Nexus 6p, Nexus 4, Nexus S, Nexus 7(2012)
  • Sistema operativo:
    Windows 7
Re:Aiutooooooo XML
« Risposta #2 il: 04 Luglio 2012, 12:19:50 CEST »
0
a parte i consigli già dati, ti dico:
1-il codice va formatttato prima di essere copiato qui.
2-non riesco non aiuta chi ti deve dare risposte
3-usa le sharedprefs se vuoi salvare sul xml le proprietà...
IMPORTANTE:NON RISPONDO A PROBLEMI VIA MESSAGGIO PRIVATO
LOGCAT: Non sai cos'è? -> Android Debug Bridge | Android Developers
               Dov'è in Eclipse? -> Window -> Open Prospective -> DDMS e guarda in basso!
[Obbligatorio] Logcat, questo sconosciuto! (Gruppo AndDev.it LOGTFO) - Android Developers Italia

Offline boyseez

  • Nuovo arrivato
  • *
  • Post: 43
  • Respect: 0
    • Github
    • Google+
    • boyseez
    • @GiuseppeRaddato
    • Mostra profilo
  • Dispositivo Android:
    Padfone 2
  • Sistema operativo:
    windows 8.1
Re:Aiutooooooo XML
« Risposta #3 il: 04 Luglio 2012, 12:45:42 CEST »
0
Ok Scusate la mi distrazione
avrei provato ad ottenere i dati dai tag però non riesco.......
Non posso usare Shared Preferences perché questo file quando viene creato una  copia viene creata sullo smartphone e una copia viene inviata via e-mail (anche se quest'ultima parte non l'ho ancora sviluppata)
spero di esserti stato utile
Boyseez :-)

Offline Luigi.Arena

  • Utente senior
  • ****
  • Post: 616
  • DACIA DUSTER 4X4 SUPER
  • Respect: +56
    • Mostra profilo
    • ArenaWebTest
  • Dispositivo Android:
    epad m009
  • Play Store ID:
    Luigi Arena
  • Sistema operativo:
    Windows 7
Re:Aiutooooooo XML
« Risposta #4 il: 09 Luglio 2012, 12:54:54 CEST »
0
E perchè non è fattibile ?
È stata trovata una soluzione al tuo problema?Evidenzia il post più utile premendo . È un ottimo modo per ringraziare chi ti ha aiutato .