xml 형식의 압축 데이터 흐름 을 기반 으로 한 안 드 로 이 드 가 날 씨 를 가 져 오 는 방법

안 드 로 이 드 일기예보 소프트웨어 를 만 드 는 과정 에서 날씨 자원 을 얻 는 것 은 보통 일부 사이트 에서 제공 하 는 API 를 통 해 얻 을 수 있 습 니 다. API 가 돌아 오 는 파일 형식 은 xml 일 수도 있 고 json 일 수도 있 습 니 다. 전송 하 는 데이터 흐름 은 보통 정상 적 입 니 다.사실 API 서버 에서 가 져 온 데이터 흐름 도 압축 될 수 있다.다음은 xml 형식의 압축 데이터 흐름 을 기반 으로 하 는 안 드 로 이 드 가 날 씨 를 가 져 오 는 방법 을 제공 합 니 다.
public class GetWeather{

    static String weather;
    static String high;
    static String low;
    public void getweather()
    {

        URL url;

        try{

            DocumentBuilderFactory domFac = DocumentBuilderFactory.newInstance();
            DocumentBuilder domBuilder = domFac.newDocumentBuilder();
            Document doc;
            Element root;
            NodeList books;

            url = new URL("weatherAPIwebsite");//weatherAPIwebsite      url
            URLConnection uc = url.openConnection();
            uc.setDoOutput(true);
            InputStream in = new GZIPInputStream(uc.getInputStream());//      
            Reader rd = new InputStreamReader(in,"UTF-8");//UTF-8   xml       
            int c = 0;

            StringBuffer temp = new StringBuffer();
            String strHtml;

            while ((c = rd.read()) != -1) {
                temp.append((char) c);
            }
            in.close();
            strHtml = temp.toString();

            System.out.println(strHtml);

            doc = domBuilder.parse(new InputSource(new ByteArrayInputStream(strHtml.getBytes("utf-8"))));
            root = doc.getDocumentElement();
            books = root.getChildNodes();
            Node node = doc.getElementsByTagName("wendu").item(0).getFirstChild();
            System.out.println(node.getTextContent());
        }catch (Exception e)
        {
            System.out.println("      "+e);
        }
    }


    public static void main (String[] args)
    {
        GetWeather t = new GetWeather();
        t.getweather();
    }
}

인터넷 에서 도 비 압축 데이터 흐름 을 바탕 으로 하 는 방법 을 제 공 했 는데 여기 서 더 이상 언급 하지 않 는 다.이 블 로 그 를 쓰 는 것 도 압축 데이터 흐름 의 존 재 를 일 깨 워 주기 위해 서다.

좋은 웹페이지 즐겨찾기