У меня проблемы с отправкой данных из RSS в моем приложении - PullRequest
0 голосов
/ 13 декабря 2018

Прежде всего я прошу прощения за перевод, я говорю по-испански.

Моя проблема заключается в следующем: Я использую 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 в браузере выглядит обновленным, но если я захожу в свое приложение, он постоянно говорит красный или не появляется новое сообщение, которое я создал, спустя несколько часов или на следующий день, и это неправильно, потому чтоИнформация, передаваемая моему приложению, должна обновляться очень часто, и это не дает мне никакой пользы делать это много часов спустя.

Сначала я подумал, что это может быть кэш веб-просмотра, но проблема возникает до того, как он был показан вэто веб-представление.

Заранее спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...