Прежде всего я прошу прощения за перевод, я говорю по-испански.
Моя проблема заключается в следующем: Я использую RSS своего собственного веб-сайта для отображения данных в своем приложении,Плохо то, что они не появляются сразу, мне нужно, чтобы вы делали это так, как нужно.
Я думаю, что проблема может быть в XMLParser class :
public class XMLParser {
private URL url;
private Context contextor;
public XMLParser(String url) {
try {
this.url = new URL(url);
} catch (MalformedURLException e) {
e.printStackTrace();
}
}
@SuppressLint("SimpleDateFormat")
public void parse() {
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
try {
DocumentBuilder builder = factory.newDocumentBuilder();
Document dom = builder.parse(this.url.openConnection().getInputStream());
Element root = dom.getDocumentElement();
NodeList itema = root.getElementsByTagName("item");
for (int i = 0; i < 1; i++) {
Node item = itema.item(i);
NodeList properties = item.getChildNodes();
for (int j = 0; j < properties.getLength(); j++) {
Node property = properties.item(j);
String name = property.getNodeName();
if (name.equalsIgnoreCase("content:encoded")) {
Log.i("XMLParser", "GUARDO " + property.getFirstChild().getNodeValue());
int star = (property.getFirstChild().getNodeValue().indexOf("<table class=\"tg0\">"));
int fiinal = (property.getFirstChild().getNodeValue().indexOf("</table>"));
String cadena = (property.getFirstChild().getNodeValue().substring(star, star+fiinal+8));
MyBus.setDomincal(cadena);
star = (property.getFirstChild().getNodeValue().indexOf("<table class=\"tg1\">"));
String parteCadena = (property.getFirstChild().getNodeValue().substring(star));
fiinal = parteCadena.indexOf("</table>");
cadena = (property.getFirstChild().getNodeValue().substring(star, star+fiinal+8));
Log.i("XMLParser", "GUARDO " + url);
Log.i("XMLParser", "GUARDO " + cadena);
//Log.i("XMLParser", "GUARDO " + MyBus.getIntermedio());
MyBus.setIntermedio(cadena);
star = (property.getFirstChild().getNodeValue().indexOf("<table class=\"tg2\">"));
parteCadena = (property.getFirstChild().getNodeValue().substring(star));
fiinal = parteCadena.indexOf("</table>");
cadena = (property.getFirstChild().getNodeValue().substring(star, star+fiinal+8));
MyBus.setZodiacal(cadena);
star = (property.getFirstChild().getNodeValue().indexOf("<table class=\"tg3\">"));
parteCadena = (property.getFirstChild().getNodeValue().substring(star));
fiinal = parteCadena.indexOf("</table>");
cadena = (property.getFirstChild().getNodeValue().substring(star, star+fiinal+8));
MyBus.setExtraordinario(cadena);
//MyBus.setSeguro(1);
}
}
}
} catch (Exception e) {
//MyBus.setSeguro(1);
//Esto solo es para lanzar un error y para que la app haga un cierre forsozo
//throw new RuntimeException(e);
}
}}
Я не знаю, что я делаю неправильно, потому что когда я проверяю ссылку в браузере, она обновляется.Пожалуйста, если кто-то может мне помочь, я был бы очень признателен.
Примером может быть: на сайте я создаю сообщение или просто редактирую его, я изменяю определенные данные, которые у меня есть или есть, скажем таксказал «красный», но теперь я отредактировал его и поставил «синий».В ссылке, которую я вижу, RSS в браузере выглядит обновленным, но если я захожу в свое приложение, он постоянно говорит красный или не появляется новое сообщение, которое я создал, спустя несколько часов или на следующий день, и это неправильно, потому чтоИнформация, передаваемая моему приложению, должна обновляться очень часто, и это не дает мне никакой пользы делать это много часов спустя.
Сначала я подумал, что это может быть кэш веб-просмотра, но проблема возникает до того, как он был показан вэто веб-представление.
Заранее спасибо.