Android-Java против ПК-Java

1

Эта простая строка кода дает ошибку "Метод getTextContent() - undefined для типа Element":

String color_string = ( ( Element )( ( Element )inner_node ).getElementsByTagName( "color" ).item( 0 ) ).getTextContent();

Я получаю ошибку в моей версии Android-java, но не на своем ПК-Java, который я использую для тестирования и отладки кода Java, прежде чем запускать его на телефоне.

У меня

import org.w3c.dom.Element;

в обеих версиях. И я скопировал код с ПК-Java на Android-Java, поэтому я на 100% уверен, что у меня такой же синтаксис для обоих.

Теги:

4 ответа

6
Лучший ответ

Ссылка android говорит, что существует такой метод, определенный для класса Element. Поэтому, возможно, вам не хватает некоторых библиотек или неправильной версии.

  • 0
    На самом деле не похоже, что есть метод getTextContent () для Element в Android. Я не могу найти это.
  • 1
    @Espen - нажмите на мою ссылку и найдите ее. Это здесь. Какую версию Android SDK вы используете?
Показать ещё 6 комментариев
2

после многократной проверки и царапин моей головы тысячи раз. Я придумал простые изменения, чтобы изменить уровень API на 8

  • 0
    да, метод getTextContent () был представлен на уровне API 8
2

@Aspen - ответ заключается в том, что вы используете неправильные библиотеки на своем ПК. Вы должны компилировать свое приложение в отношении Android 7-го уровня, а не от Sun Java-библиотек.

Вы можете исправить это для тестовых компиляций, загрузив соответствующие Android JAR и разместив их на вашем компиляторе bootclasspath. Но я бы не рекомендовал запускать такой код на платформе ПК Java. (Это может сработать, но вы также можете столкнуться с множеством проблем, вызванных этим.)

ИЗМЕНИТЬ

Лучшей идеей может быть использование Eclipse с плагином ADT, как описано на этой странице.

  • 0
    Я использую Eclipse с плагином ADT. У меня есть библиотеки уровня 7 и 8. Строительство 7 уровня для более широкой цели. Тестирование этого на библиотеках Sun Java просто потому, что я могу использовать System.out и посмотреть, что DOM получает в консоли Eclipse. На Sun Java это работает. Перемещение кода на Android Java и это не работает. Любой другой аспект моего кода компилируется и запускается на моем телефоне - за исключением getTextContent (), который выдает ошибку в Eclipse. Теперь кажется, что это вещь уровня 7.
0

Android Java не является Sun Java. Андроиды Java на основе проекта Apaches Harmony (повторная реализация Sun Java под открытой лицензией). Некоторые детали могут быть разными.

Wiki содержит список пакетов java и их происхождение.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню