Создайте xml-файл и сохраните его во внутреннем хранилище android

Я хочу проверить внутреннюю память Android, если существует new.xml (который будет создан мной), тогда он должен вернуть мне дескриптор для него, и я могу легко добавить к нему новые данные. Если он не существует создать новый и добавить к нему данные.

Моя файловая структура xml будет простой.

  a b c  

Если файл есть, я добавлю к нему новую запись. Но если это не так, я создам новый файл и добавлю к нему первую запись.

И как я смогу прочитать эти данные в arraylist . Примером с кодом было бы большое спасибо заранее.

Это довольно просто. это поможет вам:

  String filename = "file.txt"; FileOutputStream fos; fos = openFileOutput(filename,Context.MODE_APPEND); XmlSerializer serializer = Xml.newSerializer(); serializer.setOutput(fos, "UTF-8"); serializer.startDocument(null, Boolean.valueOf(true)); serializer.setFeature("http://xmlpull.org/v1/doc/features.html#indent-output", true); serializer.startTag(null, "root"); for(int j = 0 ; j < 3 ; j++) { serializer.startTag(null, "record"); serializer.text(data); serializer.endTag(null, "record"); } serializer.endDocument(); serializer.flush(); fos.close(); 

для чтения данных с использованием DOM-анализатора:

  FileInputStream fis = null; InputStreamReader isr = null; fis = context.openFileInput(filename); isr = new InputStreamReader(fis); char[] inputBuffer = new char[fis.available()]; isr.read(inputBuffer); data = new String(inputBuffer); isr.close(); fis.close(); /* * converting the String data to XML format * so that the DOM parser understand it as an XML input. */ InputStream is = new ByteArrayInputStream(data.getBytes("UTF-8")); ArrayList xmlDataList = new ArrayList(); XmlData xmlDataObj; DocumentBuilderFactory dbf; DocumentBuilder db; NodeList items = null; Document dom; dbf = DocumentBuilderFactory.newInstance(); db = dbf.newDocumentBuilder(); dom = db.parse(is); // normalize the document dom.getDocumentElement().normalize(); items = dom.getElementsByTagName("record"); ArrayList arr = new ArrayList(); for (int i=0;i 

Используйте getFilesDir (), чтобы получить путь к тому, где вы можете создавать файлы. Проверьте, существует ли файл, создав файловый объект File newXml = new File(getFilesDir+"/new.xml") . Затем проверьте, существует ли она, if(newXml.exists()) .

Для анализа данных обратитесь к dev docs . Как вы можете видеть в примере XmlPullParser, он может возвращать список.

Используйте openFileOutput для создания файла во внутреннем хранилище и getFileStreamPath для проверки, существуют ли они уже и работают с ними

Чтобы прочитать данные в массиве, просто откройте stream файлов и используйте любой соответствующий синтаксический анализатор XML

  • Жизненный цикл Android Fragment над изменениями ориентации
  • Как установить размер текста текстового вида динамически для разных экранов
  • Ошибка раздувания при расширении classа
  • Почему в магазине Google Play говорится, что мое приложение для Android несовместимо с моим собственным устройством?
  • Как создать кнопку динамически в android?
  • Уведомление об уведомлении Android O не отправлено на канал - но это
  • Пользовательский флажок
  • Android: Почему длинный клик также вызывает обычный щелчок?
  • Android: Регистрация ключей API Карт Google: ключ сертификации MD5
  • Устройство ADB для Android запрещено
  • Пользовательские атрибуты в styles.xml
  • Interesting Posts

    Динамически добавлять элемент в элемент управления jQuery Select2, который использует AJAX

    Как решить ошибку «Код: 0x0000000A» при установке Windows 8 Developer Preview?

    Почему мой компьютер с Windows 8 всегда работает, перемещая мышь?

    ng2 – динамическое создание компонента на основе шаблона

    C # – проверить, является ли файл текстовым

    Как настроить rsync и любые другие скрипты, чтобы имитировать минимальную жизнеспособную копию DropBox?

    Прочитать pdf-файл из папки с данными

    сравнение значений float / double с использованием оператора ==

    Является ли выражение / start /, / end / range когда-либо полезным в awk?

    FileProvider – IllegalArgumentException: Не удалось найти настроенный root

    Sudo в Windows 10 Подсистема Linux не может разрешить локальное имя компьютера

    Как получить текущее местоположение GPS программно в Android?

    Изображения для экрана сетчатки iphone 5

    Разрешения ServiceController в Windows 7

    Как выбрать карту и unordered_map?

    Давайте будем гением компьютера.