Булева проверка веб-службы Android - PullRequest
0 голосов
/ 20 октября 2011

Я новичок в Android и работаю над тем, чтобы определить, является ли поток живым или нет.У меня есть существующий файл, который делает это (http://www.calvaryccm.com/ServiceTimes.asmx/IsServiceTime). Это то, что он возвращает, когда поток неактивен:

<boolean xmlns="http://tempuri.org/">false</boolean>

Когда поток активен, он возвращает это:

<boolean xmlns="http://tempuri.org/">true</boolean>

Кто-нибудь знает простой способ просто проверить логические значения? Если да, пожалуйста, предоставьте исходный код.

1 Ответ

1 голос
/ 20 октября 2011

Это очень уродливое, но очень простое решение:

    try {
        URL url = new URL("http://www.calvaryccm.com/ServiceTimes.asmx/IsServiceTime");
        InputStream is = url.openStream();
        byte buff[] = new byte[256];
        int len = is.read(buff);
        String response = new String(buff, 0, len);
        if (response.contains("true")) {
            System.out.println("!!! It's TRUE !!!");
        } else if (response.contains("false")) {
            System.out.println("!!! It's FALSE !!!");
        } else {
            System.out.println("!!! Server/connection error !!!");
        }
    } catch (IOException e) {
        e.printStackTrace();
    }

Правильное решение будет анализировать результат как файл XML:

        DomHandler dom = new DomHandler(); // custom subclass of DefaultHandler
        SAXParser parser = SAXParserFactory.newInstance().newSAXParser();
        parser.parse(is, dom);
        is.close();
        // extract info from dom
...