2012-02-26 7 views
0

私はアンドロイドアプリを開発するのがかなり新しいです。私がしようとしているのはあなたの現在の場所を見つけるボタンクリックイベントです。市の名前と現在の天気が表示されます。私はweather2をAPIとして使用する予定です。とにかく私はこれを行うための最善の考えを持っていない私はチュートリアルを検索し、私が見つけることができるすべては、Googleマップと一緒にlatatudeとlongatudeの結果の位置マネージャの使用です。どのように私は代わりにAPIを使用するためにGPSを使用することができます誰か教えてください?天気にこだわったアプリロケーションマネージャー

答えて

2

あなたの質問は完全には明確ではありません。 GPSを使用してAPIを使用することはできません。APIを使用するコードを記述してください。

weather2を使用すると、HTTP GETリクエストを送信する必要があります。実際にクライアントに呼び出すには、HttpClient(Androidのライブラリに含まれています)を使用します。あなたは、サンプルコードの一部のビットがここでこれを行うために見つけることができます?あなたはそれがこれらのガイドラインに従います与える

timewastedドットネット/ pは= 127

クエリ:の

http://www.myweather2.com/developer/apis.aspx?uref=becda844-8299-4bf6-899b-d771a92b9dbf

ワンこのAPIに送信できるパラメーターは現在の経度と緯度です。 locationmanagerを使用してこれを取得できます。 Context.getSystemServiceを実行してLocationManagerオブジェクトを取得し、それがどこにいるかを通知するように要求します。更新が一度も起こらない場合はLocationManager.getLastKnownLocationを使用することもできます(これは、たとえば、ユーザーが建物内にいる場合など)。あなたがリスナーに取り戻すLocationオブジェクトはあなたにその緯度と経度を教えてくれます

blogoscopedドットコム/アーカイブ/ 2007年11月19日 - n27.html

:あなたはここに簡単なLocationManagerチュートリアルを見つけることができますこれをweather2に送るためのクエリとしてパッケージ化することができます。例えば、ここではクエリ文字列は、あなたが(のHttpClientを使用して、私は上記の要求をGET)weather2に送ることができます:

http://www.myweather2.com/developer/forecast.ashx?uac= &クエリ= 24.15,56.32 & temp_unit =ここ

fはあなたがそれらの座標を置き換えることができます代わりにLocationManagerから取得したものを使用します。

私が与えたリンクはではなく、であることを覚えておいてください。アプリケーションのメインスレッドでネットワーク操作を実行しないでください。代わりに、AsyncTask、Serviceなどのようなもので実行し、Messengerを使用して2つの間で話す必要があります(ただし、AsyncTaskを使用するとこれを簡略化します)。

申し訳ありませんが、ドットの実際の期間は、私が低い評判を持っているから:-)

+0

ある場所に夕暮れがあるかどうかを検出するサービスがあるかどうか、聞いたことがありますか? – drupality

+0

または現在の日の何時に夕方です – drupality

+0

私は見つけました:http://openweathermap.org/current – drupality