본문 바로가기
Programing/android

[android studio] 일출 일몰 가져오기

by Benedictus711 2021. 10. 17.
728x90

앱을 만드는 중에 일출/일몰을 가져와야 할 경우가 생겨 가져오는 방법에 대해서 알아보았다.

일단 일출/일몰 라이브러리를 찾아본 결과, github에 알맞은 오픈소스가 있었다.

아래 사이트를 참고하면 된다.

https://github.com/mikereedell/sunrisesunsetlib-java

 

GitHub - mikereedell/sunrisesunsetlib-java: Library for computing the sunrise/sunset from GPS coordinates and a date, in Java.

Library for computing the sunrise/sunset from GPS coordinates and a date, in Java. - GitHub - mikereedell/sunrisesunsetlib-java: Library for computing the sunrise/sunset from GPS coordinates and a ...

github.com

 

해당 라이브러리를 gradle에 아래와 같이 참조 추가를 한 후,

dependencies {

    compile 'com.luckycatlabs:SunriseSunsetCalculator:1.2'

}

 

클래스를 찾아서 Parameter와  return 값을 찾아본 결과 아래와 같이 parameter를 던져 결과를 받을 수 있었다.

public static Calendar getSunrise(double latitude,
                  double longitude,
                  TimeZone timeZone,
                  Calendar date,
                  double degrees)

일몰의 경우 getSunset으로 Method명이 다른것 말고는 나머지 같았다.

현재의 위도 경도 값과 TimeZone, Calendar, 수평선 각도 등 Parameter를 넘기게 되면 Calendar값으로 

결과치를 넘겨 받을 수 있다.

 

아래와 같이 코드 작성 후에 String str_sunrise값에 일출 시간이 찍혀 나오는 것을 확인 하였다.

SimpleDateFormat dateFormatHHmm = new SimpleDateFormat("HH:mm");

//SunriseSunsetCalculator param
Calendar cal = Calendar.getInstance();
cal.setTime(date);
//SunriseSunsetCalculator param
TimeZone tz = TimeZone.getDefault();

Calendar sunCal;
sunCal = SunriseSunsetCalculator.getSunrise(dbl_obs_lat, dbl_obs_lon, tz, cal, 0);
String str_sunrise = dateFormatHHmm.format(sunCal.getTime());
728x90

댓글