• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            life02

              C++博客 :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
              197 隨筆 :: 3 文章 :: 37 評(píng)論 :: 0 Trackbacks
            http://www.oschina.net/code/snippet_149945_6389

            [代碼] [Java]代碼
            001    public class WeatherActivity extends Activity {
            002        private TextView txCity;
            003        private Button btnSearch;
            004        private Handler weatherhandler;
            005        private Dialog progressDialog;
            006        private Timer timer;
            007        /** Called when the activity is first created. */
            008        @Override
            009        public void onCreate(Bundle savedInstanceState) {
            010            super.onCreate(savedInstanceState);
            011            setContentView(R.layout.main);
            012            timer = new Timer();
            013            txCity = (TextView)findViewById(R.id.txCity);
            014            btnSearch = (Button)findViewById(R.id.btnSearch);
            015            progressDialog = new AlertDialog.Builder(this)
            016            .setTitle("讀取數(shù)據(jù)中")
            017            .setMessage("正在加載數(shù)據(jù),請(qǐng)稍等")
            018            .create();
            019             
            020            weatherhandler = new Handler(){
            021                public void handleMessage(Message msg){
            022                    final String cityName = txCity.getText().toString().trim();
            023                    searchWeather(cityName);
            024                    progressDialog.hide();
            025                }
            026            };
            027             
            028            btnSearch.setOnClickListener(new OnClickListener() {
            029                 
            030                @Override
            031                public void onClick(View v) {
            032                    progressDialog.show();
            033                    timer.schedule(new TimerTask() {
            034                        @Override
            035                        public void run() {
            036                            Message msg = new Message();
            037                            msg.setTarget(weatherhandler);
            038                            msg.sendToTarget();
            039                        }
            040                    },100);
            041                }
            042            });
            043        }
            044        private void searchWeather(String city){
            045            SAXParserFactory spf = SAXParserFactory.newInstance();
            046            try {
            047                SAXParser sp = spf.newSAXParser();
            048                XMLReader reader = sp.getXMLReader();
            049                XmlHandler handler = new XmlHandler();
            050                reader.setContentHandler(handler);
            051                URL url = new URL("http://www.google.com/ig/api?hl=zh-cn&weather="+URLEncoder.encode(city));
            052                InputStream is = url.openStream();
            053                InputStreamReader isr = new InputStreamReader(is, "GBK");
            054                InputSource source = new InputSource(isr);
            055                reader.parse(source);
            056                List<Weather>weatherList = handler.getWeatherList();
            057                TableLayout table = (TableLayout)findViewById(R.id.table);
            058                table.removeAllViews();
            059                for(Weather weather:weatherList){
            060                    TableRow row = new TableRow(this);
            061                    row.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.WRAP_CONTENT));
            062                    row.setGravity(Gravity.CENTER_VERTICAL);
            063                    ImageView img = new ImageView(this);
            064                    img.setImageDrawable(loadImage(weather.getImageUrl()));
            065                    img.setMinimumHeight(80);
            066                    row.addView(img);
            067                    TextView day = new TextView(this);
            068                    day.setText(weather.getDay());
            069                    day.setGravity(Gravity.CENTER_HORIZONTAL);
            070                    row.addView(day);
            071                    TextView temp = new TextView(this);
            072                    temp.setText(weather.getLowTemp()+"℃-"+weather.getHighTemp()+"");
            073                    temp.setGravity(Gravity.CENTER_HORIZONTAL);
            074                    row.addView(temp);
            075                    TextView condition = new TextView(this);
            076                    condition.setText(weather.getCondition());
            077                    condition.setGravity(Gravity.CENTER_HORIZONTAL);
            078                    row.addView(condition);
            079                    table.addView(row);
            080                }
            081            } catch (Exception e) {
            082                e.printStackTrace();
            083                new AlertDialog.Builder(this)
            084                    .setTitle("解析錯(cuò)誤")
            085                    .setMessage("獲取天氣數(shù)據(jù)失敗,請(qǐng)稍候再試。")
            086                    .setNegativeButton("確定"null)
            087                    .show();       
            088            }
            089             
            090        }
            091        private Drawable loadImage(String imageUrl) {
            092            try {
            093                return Drawable.createFromStream((InputStream) new URL("http://www.google.com/"+imageUrl).getContent(), "test");
            094            } catch (MalformedURLException e) {
            095                e.printStackTrace();
            096            } catch (IOException e) {
            097                e.printStackTrace();
            098            }
            099            return null;
            100        }
            101    }
            posted on 2011-12-18 21:19 life02 閱讀(2244) 評(píng)論(0)  編輯 收藏 引用 所屬分類(lèi): Android開(kāi)發(fā)
            性做久久久久久久久| 久久水蜜桃亚洲av无码精品麻豆| 久久伊人精品青青草原高清| 久久综合综合久久狠狠狠97色88| 久久青青草原精品国产软件| 99久久国产宗和精品1上映| 国内精品伊人久久久久av一坑| 国内精品久久久久久久影视麻豆 | 欧美一级久久久久久久大| 亚洲欧洲日产国码无码久久99| 久久国产精品一区二区| 伊人久久综合无码成人网| 国内精品久久久久久野外| 人妻无码αv中文字幕久久琪琪布| 国产成人久久激情91| 中文精品久久久久人妻不卡| 久久天天躁狠狠躁夜夜2020| 91精品国产色综合久久| 婷婷伊人久久大香线蕉AV| 亚洲国产精品成人久久蜜臀| 99久久婷婷国产一区二区| 97久久香蕉国产线看观看| 色综合久久久久无码专区| 久久99国产精品久久99小说| 欧美精品福利视频一区二区三区久久久精品| 婷婷久久综合九色综合98| 久久亚洲日韩看片无码| 亚洲七七久久精品中文国产| 久久精品国产一区二区三区不卡 | 久久免费的精品国产V∧| 曰曰摸天天摸人人看久久久| 99精品久久久久中文字幕| 中文字幕日本人妻久久久免费 | 久久人人爽人人爽人人片AV东京热| 久久99精品国产99久久6男男| 久久久无码一区二区三区| 亚洲欧美成人综合久久久| 欧洲人妻丰满av无码久久不卡| 波多野结衣AV无码久久一区| 亚洲级αV无码毛片久久精品| 久久久一本精品99久久精品88|