'Java'에 해당되는 글 2건

  1. 2012.01.11 인제대 밥 버스
  2. 2011.09.10 D-Day 계산 알고리즘 (날짜 오차 안나도록) (9)


- 작품 목표

경남 인제대학교 학생들의 편의를 사용하여 만든 어플리케이션으로써, 학생들이 많이 사용하는 통확버스와 식단표 확인이 가능합니다. 통학버스는 기존에 존재하는 버스 어플리케이션과 비슷한 구성을 하고 있으며, 식단표는 학교 전체적인 식단이 확인 가능하도록 만들어졌습니다.

- 개발 아키텍쳐
Activity / SQLiteOpenHelper/ MySQL / 웹 PHP 컴포넌트를 사용한 프로그래밍
BlueOnyx 서버 사용
(서버 DB를 PHP로 웹상에 띄우고 그 자료를 Json 파싱으로 모바일 내부 DB로 가져 오는 방식)

- 기능 설명

1. 통학버스 학기/방학 시간표
2. 승차장소 지도와 사진
3. 버스노선 즐겨찾기 및 시간 클릭시 운행여부와 남은시간 표시
4. 요일별, 식당별 메뉴
5. 학교홈페이지 바로가기

- 실행, 설치방법
안드로이드 마켓에서 카오스 헬퍼 검색 후 설치(무료)
Android 2.2(프로요) 이상
https://market.android.com/details?id=Injes.org&feature=search_result#?t=W251bGwsMSwxLDEsIkluamVzLm9yZyJd

- 이미지

    

    
저작자 표시
신고
Creative Commons License
Creative Commons License
Posted by 냥아


이 글을 딱히 안드로이드에만 적용되는 부분은 아닙니다.

제가 지금 현재 날짜 계산 프로그램을 만들고 있습니다. 그런데 예전에 저의 봉봉이와 함께 쓰기 위한 D-day 프로그램을 만들었었는데 이게 왠일 다른 분들을 알고리즘을 사용하였는데 프로그램을 작동 시킬때 날짜가 1일 차이로 계산 바뀌는 것이었습니다. 참으로 이상함을 느끼고 이번에 만드는 프로그램에는 제대로 만들어 보겠다고 생각하고 이리 찾아보고 저리 찾아본 결과 답이 나오게 되었습니다.

소스는 정말 참으로 간단합니다.


public class dday{
	public int caldate(int myear, int mmonth, int mday) {
		try {
			Calendar today = Calendar.getInstance(); //현재 오늘 날짜
			Calendar dday = Calendar.getInstance(); 


			dday.set(myear,mmonth,mday);// D-day의 날짜를 입력합니다.


			long day = dday.getTimeInMillis()/86400000; 
			// 각각 날의 시간 값을 얻어온 다음 
			//( 1일의 값(86400000 = 24시간 * 60분 * 60초 * 1000(1초값) ) )


			long tday = today.getTimeInMillis()/86400000;
			long count = tday - day; // 오늘 날짜에서 dday 날짜를 빼주게 됩니다.
			return (int) count+1; // 날짜는 하루 + 시켜줘야합니다.
		} 
		catch (Exception e) 
		{
			e.printStackTrace();
			return -1;
		} 
	}
}

 소스는 참 간단한데 위의 소스에서 보시면 각 날짜의 시간을 따로 불러들어와서 그 날 값을 서로 빼주게 됩니다. 다른 블로그에 있는 방법으로 사용을 하면 이상하게 저는 날짜가 한번씩 번갈아 가면서 계산이 되던데 저런식으로 해주니 날짜의 변동이 일어나지 않더군요. 제가 아직까지 프로그래밍에 많이 미숙하여 잘 모르는 부분일 수도 있습니다. 혹시나 다른 지식인 분들께서 아시는 정보가 있으시면 많이 알려주시면 감사하겠습니다.

저작자 표시
신고
Creative Commons License
Creative Commons License
Posted by 냥아


티스토리 툴바