2012-02-26 4 views
0

저는 Android 앱을 개발하는 데 상당히 새로운 경험이 있습니다. 내가 뭘하려고하는지 현재 위치를 찾을 수있는 버튼 클릭 이벤트입니다. 그러면 도시 이름과 현재 날씨가 표시됩니다. weather2를 API로 사용할 계획입니다. 어쨌든 나는 이것을하기위한 희미한 아이디어를 얻지 못했습니다. 제가 자습서를 수색했기 때문에 찾을 수있는 것은 위치지도를 사용하여 Google지도와 함께 latatude와 longatude를 사용하는 것입니다. 아무도 대신 gps를 사용하여 API를 사용할 수있는 방법을 말해 줄 수 있습니까?날씨가 좋은 앱 위치 관리자

답변

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을 사용할 수도 있습니다 (예 : 사용자가 건물 안에있을 때 발생). 여기 간단한을 locationManager 자습서를 찾을 수 있습니다

이 Blogoscoped를 닷컴/아카이브/2007년 11월 19일-n27.html

당신이 당신의 리스너에 다시 얻는 위치 객체는 당신에게 위도와 경도를 말할 것이다 원하는대로 이것을 weather2에 보낼 쿼리로 패키지 할 수 있습니다. 당신은 그 좌표를 대체 할 수있는 다음

F =

http://www.myweather2.com/developer/forecast.ashx?uac= & 쿼리 = 24.15,56.32 & temp_unit : 예를 들어, 다음 쿼리 문자열은 (내가 위에서 언급 한 HttpClient를하고 GET 요청을 사용하여) weather2을 보낼 수있다 대신 LocationManager에서 얻은 정보를 사용하십시오.

내가 준 링크는 이 아니며,이 완전히 맞음을 기억하십시오. 응용 프로그램의 기본 스레드에서 네트워크 작업을 수행하면 안됩니다. 대신 AsyncTask, Service 등의 기능을 수행하고 Messenger를 사용하여 두 가지 사이를 대화하십시오. (AsyncTask를 사용하면 간단 해집니다 ..)

죄송합니다. 도트의 실제 기간은 내가 낮은 평판을 가지고 있기 때문에 :-)

+0

특정 위치에 황혼이 있는지 감지하는 서비스가 있다면 궁금합니다. – drupality

+0

또는 오늘의 일몰 시간은 – drupality

+0

입니다. 발견 : http://openweathermap.org/current – drupality