2012-02-10 4 views
-2

私は昨日Androidアプリケーションを開発し、その技術で大きな楽しみを持っています。基本的なAndroidアプリケーションで、ユーザーが通過する都市の気温を取得する

ユーザがedittextで都市名を入力する必要があるアプリケーションを作成する必要があり、その都市の現在の気温がtextviewに表示されます。

都市名を簡単に追加できる場所には、次のURLを使用します。 現在、私はシドニーを通過しています。

http://www.google.com/ig/api?weather=sydney

これに関して、私を助けてください。

+0

ウェブサービスコールについて知っていますか?すなわちHTTPコール? –

+0

あなたの質問に「満足した質問」が見つかりませんでした。 – Selvin

+0

あなたの不満セルビア..不足 –

答えて

0

/*空白をHTMLに置き換えてください。 */ // url =新しいURL(queryString.replace( ""、 "%20"));

     /* Get a SAXParser from the SAXPArserFactory. */ 
        SAXParserFactory spf = SAXParserFactory.newInstance(); 
        SAXParser sp = spf.newSAXParser(); 

        /* Get the XMLReader of the SAXParser we created. */ 
        XMLReader xr = sp.getXMLReader(); 

        /* 
         * Create a new ContentHandler and apply it to the 
         * XML-Reader 
         */ 
        GoogleWeatherHandler gwh = new GoogleWeatherHandler(); 
        xr.setContentHandler(gwh); 

        /* Use HTTPClient to deal with the URL */ 
        HttpClient httpclient = new DefaultHttpClient(); 
        HttpGet httpget = new HttpGet(queryString.replace(" ", "%20")); 
        Log.d(DEBUG_TAG, "executing request " + httpget.getURI()); 
        // create a response handler 
        ResponseHandler<String> responseHandler = new BasicResponseHandler(); 
        Log.i("Respond Handler","Step 1"); 
        String responseBody = httpclient.execute(httpget, responseHandler); 
         Log.d(DEBUG_TAG, "response from httpclient:\n "+responseBody); 

        ByteArrayInputStream is = new ByteArrayInputStream(responseBody.getBytes()); 
        xr.parse(new InputSource(is)); 
        Log.d(DEBUG_TAG, "parse complete"); 
        // parse complete 
+0

答えがありがたいですが、完全なJavaファイルコードを持つことが可能です... –

+0

はい可能です。私はどこかにアップロードし、ここにURLを与えます。 –

+0

http://www.anddev.org/resources/file/1158 –

1

URLを呼び出すことによって得られるXML文書の使い方を知りたいと思いますか?

 
    DefaultHttpClient httpclient = new DefaultHttpClient(); 

    HttpGet httpget = new HttpGet(http://www.google.com/ig/api?weather=sydney); 
    httpget.setHeader("Content-Type", "application/xml"); 

    ResponseHandler responseHandler = new BasicResponseHandler(); 
    String responseBody = httpclient.execute(httpget, responseHandler); 

これは基本的に必要なものです。応答本文にはXML文書が含まれている必要があります。そこにあなたの温度を得ることができるはずです。

HttpClientコンストラクタに資格情報やその他のパラメータを追加することで、これを改善できます。例えば、を参照してくださいhttp://massapi.com/class/ba/BasicHttpParams.html

1

この呼び出しに対する応答はXMLを返します。 xmlレスポンスを解析するには、DOMとSAXのどちらかを決定する必要があります。アンドロイドxmlの解析でGoogleと開始するには。私はこの1つのリンクを見つけました、もっとあります。ではごきげんよう。あなたが次のことを行うことができますSAXパーサーを使用して

http://android-pro.blogspot.in/2011/07/parsing-xml-wit-dom-parser.html

関連する問題