InputSource не работает в Android при получении данных из активов?

#java #android #xml #dom #assets

#java #Android #xml #dom #ресурсы

Вопрос:

После проверки ответов на другие вопросы и применения их к моей программе у меня все еще возникают проблемы с загрузкой ресурсов из моего проекта.

Вот блок кода, в котором возникла проблема, и, похоже, он не проходит дальше строки с комментарием // ОШИБКА

     public  void parseXmlFile(String xml_file, String object, String xml_class, String pointer, Activity activity, TextView test) throws ParserConfigurationException, SAXException, IOException{

    view = test;

    view.setText("2.1");
    categories_list = new ArrayList<Category>();

    //instantiate String object sto be used throughout class
    object_name = object;
    class_type = xml_class;
    value_pointer = pointer;


    //get factory
    DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();


    //get instance of document builder to build document from xml file
    DocumentBuilder builder = factory.newDocumentBuilder();



    //Create bytestream which allows a stream of data from xml to document builder
    ByteArrayInputStream byte_stream = new ByteArrayInputStream(xml_file.getBytes("utf-8"));


    //create an input source for the bytestream
    InputSource input_src = new InputSource(activity.getAssets().open(xml_file));

    dom = builder.parse(input_src); //BUG

    parseDocument();

    byte_stream.close();
}
  

Мой XML находится в папке assets, и приложение не вылетает, оно просто ничего не делает. Ответ, который я должен получить, — это список кнопок, полученных в результате анализа XML. Алгоритм для анализа XML работает так, как он был протестирован в обычном приложении Java. Я просто хочу применить его к приложению для Android.

Если вы хотите больше информации, просто прокомментируйте.

Комментарии:

1. Я тестирую на своем телефоне, потому что эмулятор отстой.

2. У телефона все еще есть logcat