ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 아래 동영상 보며 정리한 것들임돠~
    예전 글들/Android 2011. 7. 21. 14:45
    반응형

    동영상 한번 보는 것이 더 좋지만 그리고 이건 개인적으로 정리한 것이라......결론은 동영상 보세요 ^^
    우선 예제 소스 프로젝트 생성하면 구조는 아래와 같습니다.

    처음 프로젝트 만들면 옆의 그림과 같은 구조로 프로젝트가 만들어집니다. 샘플 코드 없이 프로젝트를 생성한 다음 무조건 옆의 구조와 같이 만들 필요는 없습니다.
    하지만 초보인 저에게는 옆의 구조로 하는게 편할 듯하네요.

    test.youn.myfirst.client는 패키지 이름 그대로 서버에 접속할 클라이언트에 관한 소스를 넣는 곳입니다. Web상에 보여질 화면을 주로 다룰 듯 하네요.

    test.youn.myfirst.server는 클라이언트가 접속할 서버와 관련된 작업을 많이 하겠죠?

    test.youn.myfirst.shared 저도 이게 궁금했는데 server와 client가 공동으로 사용할 함수를 집어 넣는 곳이라는군요. 이걸보고 '흠...이런 방법이!!' 라는 느낌을 받았답니다. 전 초보닌까요. ㅎㅎ

    나머지는 파일은 차례차례(?) 설명할게요.

    Test.gwt.xml 파일을 보시면 아래와 같은 태그가 있습니다.

    위에 표시된 곳이 GWTApp의 진입점입니다. Java의 main method와 같은 거라 볼 수 있죠.

    그리고 Test.java를 보시면

    EntryPoint를 상속받고 있는 것을 보실 수 있습니다.
    이건 아래에 보시면 onModuleLode() 함수를 쓰기 위함인데요.





    여기가 가장 먼저 실행되는 함수죠. 주석문 보시면 대충 아시겠죠?
    첫 화면을 구성하거나 필요한 함수를 집어 넣으시면 될 것 같군요.


    그리고 Component를 사용해야겠죠? 우선 Test.html 파일을 보셔야하는데요. 이게 첫화면을 구성하는 Layout이라고 할 수 있죠. 이 소스를 보시면 딱봐도 이것은 함수에서 불러다가 쓰겠군. 하는 부분이 있답니다.


    바로 옆에 보이는 것처럼 ID값을 부여받은 얘들이죠. 이걸 사용하려면 다시 Test.java 소스로 돌아와야 한답니다.




    다시 onModuleLoad()로 돌아와서 1번을 보시면 각각의 Component를 선언한게 보이시죠?
    그리고 다음으로 RootPanel 인스턴스를 이용해 Test.html에서 ID값을 부여받은 것들을 얻어서 선언한 인스턴스에 집어 넣는거죠. 쉽죠?
    이 모든것 Stack방식으로 이루어진다는군요.

    자~다음으로 GWT에는 Swing 같은 별도의 Layout 매니저가 없고 Pannel이 그 역활을 한다는 군요.

    딱히 설명 드릴 건 없군요. 직접 예제 소스 보시면서 알아보시는게 더 빠를 것 같네요.


    그리고 각각의 Component가 뭔가 해야겠죠? 그걸 할 수 있게하는 것이 Handler라는군요.

    옆에 그림을 보면 ClickHandler와 KeyUpHandler를 상속받은게 보이죠? 이런 방법으로 onClick() 이벤트를 만들더군요.
    그리고 Test.java 소스의 아래 부분을 보시면


    옆의 그림과 같은 걸 보실 수 있는데 위에서 선언한 Component별로 Handler를 정의한걸 보실 수 있어요.




    그리고 마지막으로 GWT RPC를 살펴보겠습니다.

    너무 왼쪽으로만 치우친 것 같아서 살짝 방향을 바꾸고, 오른쪽 그림을 보시면 ("greet")이라고 되있는 것은 web.xml에 Servlet으로 등록하는 거라는데 제가 RPC의 개념을 잘 몰라서......이건 더 공부해봐야겠네요.

    그리고 진짜 마지막으로

    위에 표시한 클래스는 GreetingServiceAsync가 GreetingService를 비동기 호출하기 위함이라는군요. 일종의 Proxy라는 거죠.

    개인적으로 좀 더 명확히 동영상 강의 본 걸 정리하려고 블로그에 정리해봤습니다. 이제 Hello World를 배운거 같군요. 좀 더 공부해야겠습니다. 재미있을 것 같기도 하고, 아닌거 같기도 하고...뭐 그렇네요.
    반응형

    댓글

Designed by Tistory.