从我的App中的RSS提交数据时遇到问题

时间:2018-12-13 02:50:11

标签: java android android-studio

首先,我对翻译表示歉意,我会说西班牙语。

我的问题如下: 我使用自己网站的RSS在我的App中显示数据,不好的是它们不会立即显示,我需要您根据需要进行操作。

我认为问题可能出在 XMLParser类中:

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链接显示为已更新,但是如果我转到我的应用,则一直说红色或直到几小时后或第二天才显示我创建的新帖子,这是错误的,因为我的应用程序中提供的信息必须经常更新,而且很多小时后对我来说没有任何好处。

起初我以为可能是webview缓存,但是问题出在该webview中显示。

谢谢。

0 个答案:

没有答案