2017-10-15 2 views
2

J'ai juste besoin de créer et d'écrire dans un fichier XML après avoir cliqué sur un bouton dans mon application. Le code que j'ai fonctionne si c'est juste un pur fichier Java, mais si j'essaie de l'exécuter dans l'émulateur dans le cadre de l'application, il ne fait rien. Je n'ai pas d'erreurs, ça ne fait rien.Écrire dans le fichier xml

J'ai essayé de créer une interface d'implements et de le faire de cette façon, mais j'ai obtenu le même résultat.

Voici la partie pertinente de mon code en ce moment.

public class MainActivity extends AppCompatActivity { 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    add_defect.setOnClickListener(new View.OnClickListener() 
    { 
      public void onClick(View v) 
      { 
       try { 

        DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance(); 
        DocumentBuilder docBuilder = docFactory.newDocumentBuilder(); 
        // Add this and a bunch of other stuff that I edited out 
        Document doc = docBuilder.newDocument(); 
        Element rootElement = doc.createElement("root"); 
        doc.appendChild(rootElement); 


        TransformerFactory transformerFactory = TransformerFactory.newInstance(); 
        Transformer transformer = transformerFactory.newTransformer(); 
        DOMSource source = new DOMSource(doc); 
        StreamResult result = new StreamResult(new File("C:\\Users\\soandso\\Documents\\myXml.xml")); 

        // Output to console for testing 
        //StreamResult result = new StreamResult(System.out); 

        transformer.transform(source, result); 

       } catch (ParserConfigurationException pce) { 
        pce.printStackTrace(); 
       } catch (TransformerException tfe) { 
        tfe.printStackTrace(); 
       } 
      } 
    } 
      } 
    }); 

} 
} 

Répondre

0

code Vous fonctionne sur un appareil Android, pas un ordinateur Windows ou dans Android Studio.

Par conséquent, C:\\Users\\soandso\\Documents\\myXml.xml n'existe pas, et vous devriez recevoir une erreur Logcat disant exactement cela.

Vous devriez lire environ File Storage sur Android car vous devrez également vous accorder l'autorisation d'écrire sur le périphérique de stockage.