Page 660 - 2
P. 660

ArrayList<ContentValues> mWeatehr;
                MainActivity mContext;


                public ArrayList<ContentValues> getmWeather()
                {
                    return mWeatehr;
                }


                public ForeCastManager(String lon, String lat, MainActivity mContext) {
                    this.lon = lon;
                    this.lat = lat;
                    this.mContext = mContext;
                }




                public ArrayList<ContentValues> GetOpenWeather(String lon, String lat) {


                    ArrayList<ContentValues> mTotalValue = new ArrayList<ContentValues>();
                    String key = "8f5e18ebbf8ebb9c2be13f548b73bcb8";
                    try {
                        URL url = new URL("http://API.openweathermap.org/data/2.5/forecast/daily?" +
                                "&APPID=" + key +
                                "&lat=" + lat +
                                "&lon=" + lon +
                                "&mode=xml" +
                                "&units=metric" +
                                "&cnt=" + 1);
            XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
                        //  위에서 생성된 URL     을 통하여 서버에 요청하면 결과가 XML Resource                 로 전달됨
                        XmlPullParser parser= factory.newPullParser();
                        // XML Resource  를 파싱할 parser    를 factory 로 생성
                        parser.setInput(url.openStream(), null);
                        //  파서를 통하여 각 요소들의 이벤트성 처리를 반복수행
                        int parserEvent = parser.getEventType();
                        while (parserEvent != XmlPullParser.END_DOCUMENT) {
                            if (parserEvent == XmlPullParser.START_TAG && parser.getName().equals("time
            ")) {
                                // 시작태그의 이름을 알아냄
                                int checkStartTag = parserEvent;
                                ContentValues mContent = new ContentValues();


                                for (; ; ) {
                                    if (checkStartTag == XmlPullParser.START_TAG && parser.getName().eq
            uals("time")) {
                                        mContent.put("day", parser.getAttributeValue(null, "day"));


                                                         - 660 -
   655   656   657   658   659   660   661   662   663   664   665