• <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ā)
            久久人妻无码中文字幕| 亚洲国产另类久久久精品黑人| 精品免费tv久久久久久久| 国产成人久久精品一区二区三区 | 久久久久国产一级毛片高清板| 久久精品二区| 2021久久精品国产99国产精品| 久久久久久一区国产精品| 午夜精品久久久久久久久| 久久93精品国产91久久综合| 久久久久久午夜精品| 久久综合九色综合久99| 精产国品久久一二三产区区别 | 久久丫精品国产亚洲av不卡| 国产99久久久国产精免费| 99久久精品免费看国产一区二区三区| 婷婷综合久久狠狠色99h| 久久久久亚洲AV无码网站| 色婷婷综合久久久久中文字幕| 韩国无遮挡三级久久| 无码人妻精品一区二区三区久久| 老司机午夜网站国内精品久久久久久久久 | 久久黄色视频| 久久精品免费一区二区三区| 亚洲熟妇无码另类久久久| 欧美日韩中文字幕久久久不卡| 久久精品国产亚洲网站| 久久精品国产亚洲AV电影| 一本色道久久综合亚洲精品| 久久久久久国产a免费观看黄色大片| 精品熟女少妇aⅴ免费久久| 国产精品久久久久9999高清| 久久精品国产亚洲AV无码娇色| A级毛片无码久久精品免费| 国产精品久久新婚兰兰| 亚洲国产日韩欧美久久| 久久久无码精品亚洲日韩软件| 久久久国产精华液| 亚洲七七久久精品中文国产| 国产精品中文久久久久久久| 亚洲色婷婷综合久久|