简体   繁体   English

Android Webservice布尔检查

[英]Android Webservice Boolean Check

I am new to Android and I am working on determining if a stream is live or not. 我是Android的新手,我正在努力确定流是否在线。 I have a preexisiting file that does that ( http://www.calvaryccm.com/ServiceTimes.asmx/IsServiceTime ). 我有一个预先存在的文件可以做到这一点( http://www.calvaryccm.com/ServiceTimes.asmx/IsServiceTime )。 This is what it returns when the stream is inactive: 这是流不活动时返回的内容:

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

When the stream is active it returns this: 当流处于活动状态时,它将返回以下内容:

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

Does anyone know of a simple way to just check the boolean values? 有谁知道检查布尔值的简单方法? If so will you please provide source code. 如果可以,请提供源代码。

This is a reeeaaally ugly, but very simple solution: 这是一个丑陋但非常简单的解决方案:

    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();
    }

A proper solution would would parse the result as XML file: 适当的解决方案将结果解析为XML文件:

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM