Поддержка моего приложения Android 2.2 на Android 2.1

Я разработал приложение в Android 2.2, и мои клиенты хотят, чтобы я поддерживал его на 2.1. Поэтому у меня есть некоторая зависимость для синтаксического анализа XML, поскольку я использую следующий код:

XPathFactory factory = XPathFactory.newInstance();
XPath xpath = factory.newXPath();
//Set xmlns namespace otherwise xmlns will not be parsed
xpath.setNamespaceContext(new PersonalNamespaceContext());

//Parse XML string
XPathExpression expr = xpath.compile(CCRKEY1);          
Object result = expr.evaluate(doc, XPathConstants.NODESET); 

Теперь в 2.1 я не могу получить доступ к XPathFactory, XPath, XPathExpression Так что же может быть похожими методами, чтобы заменить их в 2.1??

Спасибо,


person Shraddha Shravagi    schedule 08.12.2010    source источник


Ответы (1)


Поддержка XPath отсутствовала в версии 2.1, поэтому я думаю, что вам придется выполнять синтаксический анализ самостоятельно через SAX или DOM или использовать внешнюю библиотеку XPath, например jaxen, например. Вы также можете использовать библиотеку JAXP, которая содержит официальную реализацию XPath, присутствующую в Java >5.

Вы также можете сохранить оба метода и использовать Build.VERSION для получения версия, под которой работает приложение.

person Valentin Rocher    schedule 08.12.2010
comment
Есть ли другая альтернатива? Я узнал, что это можно сделать, добавив java 1.6. Как мне это сделать? - person Shraddha Shravagi; 08.12.2010
comment
Android работает на собственном фреймворке, который является подмножеством Java 1.6, плюс-минус некоторые библиотеки. Таким образом, вы не сможете добавить Java 1.6 в свое приложение. Все, что вы можете сделать, это найти другой способ сделать XPath. - person Valentin Rocher; 08.12.2010
comment
jaxp-xalan-1.5 не поддерживается в 2.1 - person Udaykiran; 29.12.2011