2017-10-15 46 views
2

私のアプリでボタンをクリックした後、XMLファイルを作成して書き込むだけでいいです。純粋なJavaファイルの場合は私のコードが動作しますが、アプリケーションの一部としてエミュレータで実行しようとすると、何もしません。私は何の誤りもなく、単に何もしません。xmlファイルに書き込む

私は実装インタフェースを作成してそのようにしましたが、同じ結果が得られました。

ここに私のコードの関連部分があります。

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(); 
       } 
      } 
    } 
      } 
    }); 

} 
} 

答えて

0

あなたのコードは、Androidデバイス、いないWindowsコンピュータ上やAndroid Studioの内を実行します。

したがって、C:\\Users\\soandso\\Documents\\myXml.xmlは存在せず、あなたは正確にそれを言うLogcatエラーを取得する必要があります。

Androidで約File Storageを読む必要があります。デバイスストレージに書き込む許可も与えなければならないからです。

関連する問題