2017-10-15 10 views
2

내 앱의 버튼을 클릭 한 후 XML 파일을 만들고 작성해야합니다. 필자가 가지고있는 코드는 순수한 자바 파일이라면 작동하지만, 응용 프로그램의 일부로 에뮬레이터에서 실행하려고하면 아무 것도하지 않습니다. 나는 어떤 실수도하지 않는다. 단순히 아무 것도하지 않는다.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

당신의 코드는 안드로이드 장치 아닌 Windows 컴퓨터 나 안드로이드 스튜디오에서 를 실행합니다.

따라서 C:\\Users\\soandso\\Documents\\myXml.xml은 존재하지 않으므로 정확히 말하면 Logcat 오류가 발생합니다.

Android에서 약 File Storage을 읽어야합니다. 기기 저장소에 쓸 수있는 권한을 부여해야하기 때문입니다.