정동진 기차여행을 가기위해 청량리로 갔다.


기차표를 끊고 기차시간을 기다리며 커피한잔의 여유를...
스승의 날이라 선생님에게 전화를 하고...(나 말고.ㅡ)


기차에 올랐다.
이게 얼마만의 기차인가..ㅋ

6시간 동안 기차길을 달리고(신기하게 짧았다...)
정동진 해변에 도착해서 아이들 처럼 바다를 즐기고...
조개구이를 맛봤다.


다음날 아침 썬쿠르즈 리조트(조각공원)에 들러서 스카이 라운지에서 밥을 먹고,
기념품을사고 사진을 찍었다.

조각품도 많고 경치도 좋아서 사진찍기 좋았다.





기념품2.. 서로 너 닮았다고..);

모래 공원...
 
아쉬움을 뒤로한체 돌아왔다.
짧지 않은 시간 이었지만, 기차시간이 워낙 길다 보니깐
실제로 있었던 시간은 그렇게 길 지 않았다.
아쉬움이 많았지만, 또하나의 즐거운 추억을 남길 수 있어 좋았다...
AND


'디스코 팡팡' 이 타고 싶다길래 월미도로 가기위해 인천으로 향했다.
날씨는 화창~ 하고 좋았다.^^

우선 배를 채우기 위해 차이나 타운으로 향했다.



공화춘이란 중국 음식점에서 자장면등을 시켜 먹었다.
차이나 타운이라 그런지 역시 맛이 좋았다.
양은 다른집에 비해 좀 적은듯 했지만,
우리 둘다 워낙 소식하다 보니...ㅎ(근데 자주 먹어서 그렇지.ㅡㅋ)



소화도 시킬겸 자유공원 산책을 했다.
공원이라기 보단 등산에 가까운 계단이...ㄷㄷ


여러 종류의 꽃이 활짝 피어있어 기분이 좋았다.

월미도로 향해 놀이기구를 타기전 워밍업.
스윙연습을 하고..

선착장에서 바다를 보고..
주변상가를 구경하고 돌아 다녔다.
개발 중이라고 들었는데, 그래도 주말이라 그런지 사람들이 참 많았다.




드디여 놀이동산에서 놀이 기구를 탓다.
놀이기구는 생각보다 많지 않았다.
바라던 디스코 팡팡과 바이킹을 탓는데,
기대이상 재밋었다.
대형 놀이공원에 비해서 많이 기다리지 않아도 되고,
디스코 팡팡 DJ의 입담 역시 유명한 값을 하였고,
바이킹은 여태껏 탓던 바이킹중 최고 각도 였던것 같다...
그래서 두번은 못타겠드라.ㅡㅋ

그렇게 볼게 많진 않지만,
기존 놀이 동산이 실증나고, 뭔가 새로운걸 원할때 가볍게 다녀오기 좋은 것 같다.^^
AND

1. 프로젝트 Root 폴더 구성

Eclipse IDE이나 기타 툴을 사용해 새로운 안드로이드 프로젝트를 생성하면 프로젝트의 루트 폴더는 다음과 같은 파일/폴더가 생성된다.

  • AndroidManifest.xml - 해당 어플리케이션에 대한 정보와 포함하는 컴포넌트 (activity, Content Provider 등) 정보가 수록된 xml형태의 문서
  • build.xml - 어플리케이션을 컴파일하고 안드로이드 디바이스에 인스톨하는데 사용되는 Ant script (주1)[각주]
  • default.property - Ant script가 사용하는 프로퍼티 파일
  • bin 폴더 - 컴파일된 바이너리가 저장되는 폴더
  • libs 폴더 - 어플리케이션이 필요한 외부 JAR 파일을 저장하는 폴더
  • src 폴더 - 어플리케이션의 Java 원시 코드를 저장
  • res 폴더 - 어플리케이션의 레이아웃, 사용되는 이미지/문자열 등 컴파일된 자바 코드와 함깨 패키징되는  리소스를 저장. 이곳에 저장된 리소스들은 AAPT(Android Asset Packaging Tool)의 의해 컴파일되고 리소스 명세가 프로젝트폴더\gen\R.java 이라는 자동 생성 파일에 정리된다. 소스코드 상에서는 R클래스(예: R.layout.main)를 통해 쉽게 컴파일된 리소스에 접근할 수 있다.
  • asset 폴더 - 어플리케이션 배포 시 static하게 패키지에 포함 시킬 리소스 저장. res폴더에 저장된 리소스와 다른점은 이곳에 저장된 리소스들은 컴파일 되지 않고 raw형태로 packaging되며, 소스코드 상에서 AssetManager클래스를 이용해 바이트 스트림 형식으로 읽어와서 사용 해야한다.

 

 

 

2. 안드로이드 프로젝트 생성시 자동으로 생성되는 요소

  • src 폴더 및의 소스 파일 - 소스 파일은 프로젝트 생성시 사용자가 재공한 main activity의 이름에 따라 프로젝트폴더\src\main_activy_이름.java 파일이 생성됨. 이 폴더에 저장된 파일은 자유롭게 편집하거나 또는 새로운 파일을 추가 할 수 있음.
  • gen 폴더 및 R.java 파일 - 프로젝트를 처음 빌드하면 프로젝트 루트 폴더 밑에 gen이라는 이름의 폴더가 생성되고, 내부에는 R.java 파일이 자동으로 생성된다. R.java 파일은 실행 코드 내부에서 리소스들을 쉽게 사용할 수 있게 해주는 R객체 인스턴스의 기본이 되는 클래스이며, 내부에는 aapt에 의해 컴파일된 리소스(\res)들을 식별하는 리소스 identifier 상수가 자동으로 저장됨으로, 절대 임의로 수정하면 안됨. (eclipse개발 환경에서는 res\ 밑에 리소스를 추가 후 프로젝트를 저장하면 자동으로 R.java 클래스가 update됨)

 

 

 

3. res 폴더 내부

프로젝트폴더\res\에는 다음과 같이 각기 다른 리소스가 폴더별로 저장 됨.

  • res\anim - animation을 지정하는 xml 형식의 문서 저장. frame by frame(프레임 별로 에니메이션 설정) 또는 tweened(에니메이션의 처음과 끝의 형태를 지정하면 자동으로 중간 단계들이 채워짐) 두 종류의 animation을 지원.
  • res\drawalbe - png, jpeg등의 이미지
  • res\layout - UI layout 관련 xml 형식의 문서
  • res\menu - menu 관련 xml 형식의 문서
  • res\raw - 컴파일 되지 않은 리소스 저장. (ex. 계정 정보를 담은 CVS파일) 자바코드에서는 Resources.openRawResource() 메소드를 사용해 리소스에 접근
  • res\values - string, 오브젝트 크기 등
  • res\xml - 어플리케이션에 포함시키고자 하는 xml 형식의 자원

 

 

 

4. 산출물 저장

프로젝트를 컴파일 후 프로젝트폴더\bin\ 폴더는 다음과 같이 구성.

  • bin\classes 폴더 - 컴파일된 자바 코드
  • bin\classes.dex - 실행가능한 컴파일된 자바 코드
  • bin\AppName.ap - res 폴더 밑의 리소스들이 zip 압축 알고리즘을 사용해 압축된 파일
  • bin\AppName-debug.apk 또는 bin\AppName-unsigned.apk - install 가능한 안드로이드 어플리케이션 (-debug가 붙은 apk파일은 특정 에뮬레이터의 전자서명 키로 전자서명된 것을 뜻함. 반면 -unsigned를 포함한 apk파일은 release 빌드이지만 정식 전자서명 키와 jarsigner를 이용해 전자서명 하여야 최종 릴리즈 가능 함)

 

Install가능한 .apk 파일은 zip 압축 알고리즘을 사용한 압축 파일로 다음과 같은 요소를 포함.

  • .dex 파일 - 컴파일된 실행 파일
  • AppName.arsc - 컴파일된 리소스 파일
  • 컴파일 필요 없는 리소스 - \res\raw 폴더 밑의 자료 등
  • AndroidManifest.xml 파일




(주1) Ant script: make와 같은 각종 shell에 dependent한 빌드 툴 대신 모든 플렛폼에서 유니버셜하게 사용가는한 xml포멧의 문서를 build script로 사용하는 build tool. Apache 프로젝트의 일환. (http://ant.apache.org/ 참고)
AND