• <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 閱讀(2239) 評(píng)論(0)  編輯 收藏 引用 所屬分類: Android開(kāi)發(fā)
            久久久久久久女国产乱让韩| 久久久久久久波多野结衣高潮 | 久久国产精品成人影院| 久久精品成人一区二区三区| 久久被窝电影亚洲爽爽爽| 亚洲中文字幕无码久久2017| 久久只有这精品99| 天天综合久久一二三区| 久久久亚洲精品蜜桃臀| 久久精品18| 久久九色综合九色99伊人| 久久精品成人一区二区三区| 精品无码久久久久久久动漫| 91久久福利国产成人精品| 99久久99久久久精品齐齐| 2021少妇久久久久久久久久| 久久久久人妻精品一区二区三区| 久久青青草原亚洲av无码app | 久久国产欧美日韩精品| 久久久久免费看成人影片| 91精品国产综合久久婷婷| 久久福利青草精品资源站| 婷婷综合久久中文字幕| 久久99精品国产麻豆不卡| 久久久精品波多野结衣| 婷婷久久综合九色综合绿巨人| 国产精品久久久久久久久久影院 | 精品欧美一区二区三区久久久| 国内精品久久久久久久亚洲| 久久无码AV中文出轨人妻| 色老头网站久久网| 伊人久久精品无码av一区| 99久久精品毛片免费播放| 精品免费久久久久国产一区| 亚洲&#228;v永久无码精品天堂久久| 久久国产AVJUST麻豆| 亚洲第一极品精品无码久久 | 国产成人精品久久亚洲高清不卡| 青青草原综合久久大伊人导航| 亚洲午夜久久久久久久久久| 久久r热这里有精品视频|