dslab.konkuk.ac.kr › class › 2011 › 11cd2 › t11 › 졸업작품... · 졸업작품...

Post on 25-Feb-2020

4 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

졸업작품 중간보고서

주제

무선통신(3G/Wi-Fi)을 이용한

모바일기기와 컴퓨터간의 파일전송 어플리케이션

지도교수 : 유준범 교수님

조원김효석 / 200614164(dal8197@gmail.com / 010-4276-8197)김형석 / 200511316(rainelody@nate.com / 010-7210-8733)

<목 차>

1. 유사한 관련 프로그램 3

2. 프로젝트 적용 기술 5

3. 프로젝트 요구사항 17

4. 프로젝트 설계구조 19

5. USE CASE 25

6. 현재까지의 프로젝트 진행상황 29

7. 앞으로의 계획 33

8. Reference 34

1. 유사한 관련 프로그램

1.1. 심플싱크

SKT에서 만든 스마트폰과 PC등 디지털 기기간에 무선(Wi-Fi)으로

연결하여 사진/뮤직/동영상/주소록 등을 간단히 이동 및 저장할 수

있는 서비스

특징

- 별도의 PC 응용프로그램 설치 후 사용 가능

- 탐색기 기능을 사용하여 간편한 파일 이동

주요기능

뮤직/동영상/사진을 디바이스 간에 간단히 이동 가능

가능 디바이스 : Android 핸드폰, iPhone, iPod touch 등

- PC와 스마트폰간 사진/뮤직/동영상 이동

- 스마트폰간 사진/뮤직/동영상 이동

- Wi-Fi 연결 시 파일 전송 없이 뮤직/동영상 감상

(단, 사전에 스마트폰에 적합한 파일로 변환 후 사용)

- 주소록을 PC에 저장하여 백업 및 복원 작업을 가능하게 함

- SMS 관리

제약조건

두 장치가 동일한 무선 Wi-Fi(AP) 에 연결시 사용 가능

1.2. 삼성 kies air

삼성에서 만든 갤럭시S2와 PC간에 무선(Wi-Fi)으로 연결하여 사진/

뮤직/동영상/주소록 등을 간단히 이동 및 저장할 수 있는 서비스

기존에 삼성에서 모바일기기와 Sync를 맞추기 위해 사용했던 kies

의 업그레이드 버전

특징

- 별도의 PC 응용프로그램 설치 없이 PC웹브라우저 사용

- PC웹브라우저에서 갤럭시S2의 IP주소를 입력하여 통신 시작

주요 기능

- 연락처, 일정 동기화

- 사진/음악/동영상 듣기 및 저장

- 휴대폰 데이터 백업

- 전화번호부 관리

- 배경화면/벨소리 지정

문제점

- 불편한 UI와 느린 처리 속도

제약조건

두 장치가 동일한 무선 Wi-Fi(AP) 에 연결시 사용 가능

2. 프로젝트 적용 기술

2.1. PC 어플리케이션 적용 기술

2.1.1. SWT

- 이클립스에서 사용하고 있는 자바 기반의 위젯 툴킷이다.

- 윈도우 시스템에서 제공하는 고유의 그래픽 구성 요소를 자바

네이티브 인터페이스(JNI, Java Native Interface)를 통하여 직

접적으로 사용하며 스윙에 비하여 비교적 하위 수준의 간단한

구현을 가진다.

- 스윙과 같은 모델-뷰-컨트롤러(MVC, Model-View-Controller)

와 같은 디자인 패턴은 직접적으로 지원하지 못하기 때문에 좀

더 추상화된 고수준의 패턴 지원을 위해 JFace가 개발되었으며,

SWT/JFace와 같이 병기하여 사용하는 경우가 많다.

- JNI를 사용하기 때문에 각 운영 체제별 고유의 라이브러리 파일

이 있어야 구동 가능하므로 자바가 구동되는 모든 운영 체제/윈

도우 시스템에서 구동 가능하지는 않다.

2.1.2. JFace

- 이클립스에서 사용되는 일반적인 UI를 구현하기 위한 툴킷이다.

- JFace는 하위 UI 시스템인 SWT를 대체하기 위해 만들어진 것

이 아니고, 자주 쓰이는 UI Framework를 추상화하도록 만들어

졌기 때문에 단독으로는 쓰일 수 없고 SWT와 같이 사용해야 한

다.

- SWT를 보완하기 위해, 모델 기반 접근 방법을 사용하여 더 적

은 시간에, 더 이해하기 쉬운, 재사용 가능한 코드를 작성할 수

있도록 설계되었다.

- Model-View 구조로 되어 있기 때문에, 이미 어플리케이션에서

사용하던 모델을 자연스럽게 사용할 수 있다.

- 주요 기능

* 액션 : 사용자의 명령이 어떠한 UI에서 발생되었는지를 상관

하지 않고 동일하게 처리할 수 있는 추상적인 매커니즘

제공

* 뷰어 : 특정 모델 기반의 SWT 위젯의 어댑터가 되어 자료를

리스트, 테이블, 트리형태로 표현하는 기능을 간략히 할

수 있도록 제공

* MVC가 적용된 필터, 정렬, 업데이트 기능을 갖춘 뷰어를 제

* 액션을 정의하고, 적절한 위치에 배치하는(메뉴, 툴바, 버튼)

기능을 제공

* 표준 대화상자 및 마법사를 제공

* 이미지, 글꼴 등을 관리하는 레지스트리를 제공

2.2. 연결동작 적용 기술

2.2.1. TCP/IP Socket

- TCP/IP 개요

* 전 세계적인 표준기구인 ISO가 표준안을 확정하기까지는 너

무나도 많은 시간이 요구되었기 때문에 긴급히 표준안 작성할

필요가 있었던 미국에서 만들어 낸 것이 TCP/IP이다. 이후

TCP/IP 가 인터넷을 위한 프로토콜로 채택되고 인터넷이 전

세계적으로 확산되면서, TCP/IP가 수많은 프로토콜 중에 대

표적인 프로토콜이 된 것이다.

- TCP/IP 구조

* TCP/IP는 다음에서 설명하는 바와 같이 응용계층, 전송계층,

인터넷 계층, 그리고 물리계층 등 4개의 계층 구조를 갖는다.

* 응용 계층은 네트워크를 실제로 사용하는 파일 전송 프로그램

등이 이 계층에 해당되는 프로그램이다. OSI 모델에서 보면

애플리케이션 계층과 프리젠테이션 계층이 여기에 해당된다.

* 전송 계층의 역할은 도착하고자 하는 시스템까지 데이터를 전

송하는 것이다. OSI 모델에서 보면 세션 계층과 트랜스포트

계층에 해당하는 역할을 한다. TCP/IP 소켓 부분이 OSI 모델

의 세션 계층에 해당된다. TCP/IP에서는 시스템의 주소

(address)와 포트(port)를 가지고 각 프로세스를 연결해서 통

신을 한다.

* 인터넷 계층에서는 데이터그램이 가지고 있는 주소를 판독하

고 네트워크에서 주소에 맞는 네트워크를 찾아가서 해당되는

호스트가 데이터그램을 받을 수 있도록 데이터그램을 전송한

다. OSI 모델에서 보면 네트워크 계층과 데이터 링크 계층에

해당한다.

* 물리 계층에 대하여 TCP/IP 프로토콜에 따로 정의한 내용은

없으며, IEEE가 정해놓은 기존의 하드웨어 표준을 따르고 있

다. 일반적으로 데이터 통신에서 이용되는 이더넷(Ethernet)

을 이용한다.

* TCP/IP 계층 구조를 그림으로 표현하면 다음과 같다.

- 연결형 서비스와 비연결형 서비스

* 통신 프로토콜은 연결형(Connection-Oriented) 서비스와 비

연결형(Connectionless Oriented) 서비스 중에서 한 가지 형

태로 서비스를 제공한다.

* 연결형은 데이터를 주고 받기 전에 미리 연결을 설정하고 연

결된 전송로를 이용해서 데이터를 주고 받은 다음 연결을 해

제하는 방식으로 스트림 서비스(Stream Service)라고도 한

다. 이 방식은 TCP에서 사용하는 방식으로서 데이터를 신뢰

성있게 전송할 수 있다.

* 연결을 설정하지 않고 데이터를 보내고 그 데이터가 제대로

갔는지 여부에 대해 전혀 신경쓰지 않는 비연결

(connection-less) 방식이 있는데, 이러한 방식은 UDP에서

데이터를 전송하기 위해 사용하는 방식으로, 이러한 포트는

일반적으로 서비스 프로그램에 대해 할당되어 있다.

Socket [|sɑ:kɪt]1. power point , 美 out・let , re・cep・tacle)

(또한 英 모두 사용) 콘센트

a wall socket

벽의 콘센트

2. (전기 기구에서 플러그 등을) 꽂는 곳, (전구) 소켓

an aerial socket on the television

텔레비전의 안테나 꽂는 곳

3. (다른 부분이 들어갈 수 있도록) 푹 들어간 곳, 구멍

His eyes bulged in their sockets.

그의 두 눈은 눈구멍에서 툭 튀어나와 있었다.

- 소켓(Scocket) 프로그래밍

* 소켓(Socket)의 사전적 의미

* 소켓(Socket)은 전기·전자적으로는 플러그를 연결하는 단자를

의미하는 용어로서, 통신에서는 특정 노드상의 서비스를 식별

하는 식별자를 의미하며, 주소와 서비스를 식별하는 포트 번

호로 구성된다.

* 소켓의 세가지 형식은 다음과 같다.

① SOCK_STREAM : 바이트를 주고받을 수 있는 스트림

(Stream) 통신을 구현할 수 있게 해주는 소켓으로 양방향

통신 가능. 다른 말로 TCP(Transfer Control Protocol)라

고 한다.

② SOCK_DGRAM : 데이터그램 통신용 소켓으로

SOCK_STREAM 과 마찬가지로 양방향 통신 가능.

UDP(User Datagram Protocol)라고 한다.

③ SOCK_RAW : 좀더 수준 높은 제어를 하고 싶은 사용자를

위한 것으로 패킷의 경로까지도 지정할 수 있다. 보안상

문제가 발생할 수 있기 대문에 자바언어에서는 지원하지

않는다.

* 소켓은 서버측에 있는 프로그램과 클라이언트측에 있는 두 개

의 프로그램이 특정 포트를 통해 연결됨으로써 논리적은 채

널을 형성하여 양방향 통신이 가능하도록 하는 소프트웨어적

인 메커니즘(mechanism)이라고 할 수 있다. 서버와 클라이언

트간에 형성된 채널을 통해 클라이언트가 서비스를 요청

(Request)하면 서버는 그 요청의 내용을 듣게되며(Listen),

해당하는 서비스 프로그램을 수행하여 그 결과를 연결되어

채널로 돌려준다.

* 자바에서는 java.net 패키지에서 서버를 위한 ServerSocket

클래스와 클라이언트를 위한 Socket 클래스를 제공하고 있으

므로, 클라이언트/서버 프로그램에서 각 프로그램에 적합한

소켓 객체를 생성한 후, InputStream과 OutputStream 클래

스를 이용하여 통신을 수행한다.

* TCP 프로그래밍에서 중요한 클래스는 다음과 같다.

① Java.net.ServerSocekt : 서버쪽에서 클라이언트의 접

속을 대기하기 위해서 반드시 필요한 클래스

② Java.net.Socket : 서버와 클라이언트가 통신하기 위

해서 반드시 필요한 클래스

* 서버와 클라이언트간의 통신과정을 그림으로 다시 표현하면

다음과 같다.

2.2.2. Thread

- 프로세스와 쓰레드(process & thread)

① 프로세스 (Process): 컴퓨터에서 연속적으로 실행되고 있는

프로그램을 말하는 것으로 여러개의 프로세서를 사용하면 멀

티프로세싱이고 여러개의 프로그램을 같은 시간에 시분할 방

식으로 돌리면 멀티태스킹이라 말한다.

② 쓰레드(Thread): 프로세스내에서 실행되는 흐름의 단위를 말

하는 것으로 하나의 프로그램은 최소한 하나의 쓰레드(main

thread)를 가진다. 프로그램에 따라 둘 이상의 쓰레드를 동

시에 실행할수 있는데 이를 멀티쓰레드라고 부른다.

* 모든 프로세스는 하나 이상의 쓰레드를 가지고 있다.

- 프로세스 : 쓰레드 = 공장 : 일꾼

- 멀티프로세스 vs 멀티쓰레드

* 하나의 새로운 프로세스를 생성하는 것보다 하나의 새로운 쓰

레드를 생성하는 것이 더 적은 비용이 든다.

* 멀티프로세스와 멀티스레드는 양쪽 모두 여러 흐름이 동시에

진행된다는 공통점을 가지고 있다. 하지만 멀티프로세스에서

각 프로세스는 독립적으로 실행되며 각각 별개의 메모리를 차

지하고 있는 것과 달리 멀티스레드는 프로세스 내의 메모리를

공유해 사용할 수 있다. 또한 프로세스 간의 전환 속도보다

스레드 간의 전환 속도가 빠르다.

- 멀티스레드 프로그래밍의 장점

* 응답성 : 대화형 프로그램을 멀티스레드화하면, 프로그램의 일

부분(스레드)이 중단되거나 긴 작업을 수행하더라도 프로그램

의 수행이 계속되어, 사용자에 대한 응답성이 증가된다.

* 자원 공유 : 스레드는 자동적으로 그들이 속한 프로세스의 자

원들과 메모리를 공유한다. 코드 공유의 이점은, 한 응용 프로

그램이 같은 주소 공간 내에 여러 개의 다른 활동성 스레드를

가질 수 있다는 점이다.

* 경제성 : 프로세스 생성에 메모리와 자원을 할당하는 것은 비

용이 많이 든다. 스레드는 자신이 속한 프로세스의 자원들을

공유하기 때문에, 스레드를 생성하고 문맥교환을 하는 편이

보다 경제적이다.

* 멀티프로세서 활용 : 멀티프로세서 구조에서는 각각의 스레드

가 다른 프로세서에서 병렬로 수행될 수 있다. 단일 스레드

프로세스는 CPU가 많아도 CPU 한개에서만 실행된다. 즉, 다

중 스레드화를 하면 다중 CPU에서 병렬성이 증가된다.

- 쓰레드의 구현과 실행

* 쓰레드를 구현하는 방법은 2가지가 있다.

① Thread 클래스를 상속

class MyThread extends Thread{

public void run() { /* 작업내용 */ }

}

// Thread 클래스의 run()을 오버라이딩.

* Thread 클래스를 상속하는 첫 번째 방법은 다른 클래스를 상

속 받을 수 없게 된다는 단점이 있다.

② Runnable 인터페이스를 구현

class MyThread implements Runnable{

public void run() { /* 작업내용 */ }

}

// Runnable 인터페이스의 추상메서드 run()을 구현

* Runnable 인터페이스를 구현하는 두 번째 방법은 재사용성이

높고, 코드의 일관성을 유지할 수 있는 장점이 있다.

- 쓰레드의 생성부터 소멸과정

① 쓰레드를 생성하고 start()를 호출하면 큐형태의 실행대기열

에 저장되어 기다린다.

② 실행대기 상태에 있다가 차례가 되면 실행상태가 된다.

③ 주어진 실행시간이 다 되거나 yield()를 만나면 다시 실행대

기 상태가 된다.

④ 실행 중 suspend(), sleep(), wait(), join(), I/O block에 의

해 일시정지 상태가 될 수 있다.

⑤ 지정된 일시정지 시간이 다 되거나 time-out, notify(),

resume(), interrupt()가 호출되면 실행대기 상태가 된다.

⑥ 실행을 모두 마치거나 stop()이 호출되면 소멸된다.

※ 번호의 순서대로 쓰레드가 수행되는 것이 아니라 설명을 위

한것임.

3. 프로젝트 요구사항

3.1. 간편한 UI

- 삼성 kies air와 같은 경우 여러 가지 좋은 기능을 갖추고 있

음에도, 불편한 UI 때문에 사용하기가 어려움

3.2. 안정된 통신 연결과 올바른 파일 전송

- 가장 기본적이고 우선되어야 할 사항

3.3. 비정상적인 통신 해제를 대비한 파일 이어받기 기능

- 파일 전송 중에 통신이 해제되면, 추후에 다시 접속했을 때

받던 파일을 이어서 받을 수 있도록 한다.

3.4. 동일한 이름의 파일 전송시 덮어쓰기

- 저장 폴더에, 전송받으려는 파일과 같은 이름의 파일이 있으

면 덮어써서 저장

3.5. 다중 파일 전송 지원

- 동시에 여러 개의 파일을 전송

3.6. 하나의 PC에 다중 모바일 기기 접속 불가

- PC와 모바일 기기는 동시에 일대일로만 접속

- 모바일 기기는 최초 접속한 PC의 정보를 소유

3.7. PC에서 요청한 모바일 기기 내 파일 정보들이 바

르게 표기

- 어플리케이션에서, 목록에 나타난 파일들의 이름, 크기와 같

은 정보들이 올바르게 표기되어야 함

4. 프로젝트 설계구조

4.1. 어플리케이션간의 접속

4.1.1. 접속 과정

- 사용자가 안드로이드 어플리케이션에서 PC의 IP주소를 입력하여

PC의 Client와 통신을 설정한다.

- 이때 안드로이드 핸드폰의 IP 주소와 Port Number를 PC 어플리

케이션에 전송한다.

- 전송받은 IP주소와 Port Number를 통해 안드로이드 핸드폰의

Server와 통신을 설정한다.

4.1.2. 접속 완료

- 안드로이드 어플리케이션과 PC 어플리케이션의 Server는 각각

실행중이며 Client의 요청을 기다린다.

- 별도의 종료 동작이 발생하기 전까지 각 어플리케이션의 Server

는 동작하고 있다.

- 파일전송은 안드로이드에서 PC로, PC에서 안드로이드 양방향 모

두 가능하다.

4.2. 파일전송

4.2.1. PC에서 안드로이드 핸드폰으로 파일 전송

- PC 어플리케이션에서 ACK를 보내어 파일 전송을 알린다.

- 안드로이드 어플리케이션에서 ACK를 보내어 다운 준비가 되었음

을 알린다.

- PC 어플리케이션에서 안드로이드 핸드폰으로 파일을 전송한다.

4.2.2. 안드로이드 핸드폰에서 PC로 파일 전송

- PC 어플리케이션에서 안드로이드 핸드폰의 파일 중 다운 받을 파

일을 선택한다.

- PC 어플리케이션에서 파일 전송을 요청한다.

- 안드로이드 어플리케이션 Server에서 Client에게 파일 전송 요청

이 있음을 알린다.

- Client는 PC 어플리케이션에게 ACK를 보내어 파일 전송을 알린

다.

- PC 어플리케이션에서 ACK를 보내어 다운 준비가 되었음을 알린

다.

- 안드로이드 어플리케이션에서 PC 어플리케이션으로 파일을 전송

한다.

4.2.3. 다중 파일 전송

- 파일전송 중 일 때 파일전송 요청이 있어도 이전에 있었던 연결

은 끊어지지 않는다.

- 쓰레드를 사용하지 않는 파일전송 일 경우 위와 같은 파일전송

과정을 따라서 파일전송이 이루어진다.

- 안드로이드에서 PC로 전송, 반대로 PC에서 안드로이드로 전송

양방향 모두 가능하다.

4.2.4. 쓰레드를 사용한 다중 전송

- 파일전송 중 일 때 파일전송 요청이 있어도 이전에 있었던 연결

은 끊어지지 않는다.

- 쓰레드를 사용해야 할 경우, 쓰레드를 생성하여 파일전송에 무리

가 없게 한다.

- 쓰레드를 생성하여 파일전송을 시작하고, 파일전송이 완료되면 생

성된 쓰레드는 소멸된다.

- 파일전송 과정은 위의 과정과 동일하다.

- 안드로이드에서 PC로 전송, 반대로 PC에서 안드로이드로 전송

양방향 모두 가능하다.

5. USE CASE

Use Case PC와 모바일 기기 연결

Actor 사용자

Type Primary

Pre-conditionsPC와 모바일 기기가 동일 네트워크 상에 연결되어 있음

PC와 모바일 기기가 각각 어플리케이션 실행 중

Basic Flow

Actor System

1. 모바일 기기에 PC IP 주

소를 입력

2. 해당 IP 주소를 가진 PC

에 접속

3. 최초 접속이라면 모바일

기기는 PC의 정보를 저장

4. 모바일 기기가 PC에 자

신의 IP 주소를 전송

5. PC, 모바일 기기의 어플

리케이션에 각각 파일 리스

트를 출력

Alternative Flow

Actor System

E-1. 해당 IP 주소를 가진

PC가 동일 네트워크 상에

존재하지 않으면 접속 실패

메시지를 출력

Use Case PC와 모바일 기기 연결 해제

Actor 사용자

Type Primary

Pre-conditions PC - 모바일 기기 접속

Basic Flow

Actor System

1. 어플리케이션에서 연결

해제 버튼을 클릭2. 세션을 해제한다.

Use Case 파일 업로드

Actor 사용자

Type Primary

Pre-conditions PC - 모바일 기기 접속

Basic Flow

Actor System

1. 업로드를 원하는 파일을

선택한 후, 업로드 버튼을

클릭

2. 모바일 기기에 동명 파일

이 있는지 체크 후 전송

3. 완료되면 파일 리스트 새

로고침

Alternative Flow

Actor System

E-1. 모바일 기기에 파일을

저장할 용량이 부족할 경우

전송하지 않고 메시지 출력

E-2. 동명 파일이 존재할

경우 덮어쓰기

Use Case 파일 다운로드

Actor 사용자

Type Primary

Pre-conditions PC - 모바일 기기 접속

Basic Flow

Actor System

1. 다운로드를 원하는 파일

을 선택한 후, 다운로드 버

튼을 클릭

2. PC에 동명 파일이 있는

지 체크 후 전송

3. 완료되면 파일 리스트 새

로고침

Alternative Flow

Actor System

E-1. PC에 파일을 저장할

용량이 부족할 경우 전송하

지 않고 메시지 출력

E-2. 동명 파일이 존재할

경우 덮어쓰기

Use Case 파일 이어받기

Actor 사용자

Type Primary

Pre-conditionsPC - 모바일 기기 접속

이전 세션에서 파일 전송 중 비정상 종료

Basic Flow

Actor System

1. 전송 중 중단됐던 부분부

터 다시 파일 전송 재개

Use Case 파일 덮어쓰기

Actor 사용자

Type Primary

Pre-conditionsPC - 모바일 기기 접속

전송하려는 폴더에 동명 파일 존재

Basic Flow

Actor System

2. ‘예’, ‘아니오’ 중 선택

1. 동명 파일이 있고, 덮어

쓸지 여부를 묻는 메시지

출력

3. 사용자가 ‘예’를 선택했

을 경우 기존 파일을 삭제

하고 파일 전송

Alternative Flow

Actor System

E-1. 사용자가 ‘아니오’를

선택했을 경우 전송을 취소

하고 대기

Use Case 파일 리스트 새로고침

Actor 사용자

Type Primary

Pre-conditions PC - 모바일 기기 접속

Basic Flow

Actor System

1. 어플리케이션에서 파일리

스트 새로고침 버튼을 클릭

2. PC와 모바일 기기 양쪽

의 파일 리스트를 갱신하여

출력

Use Case 파일 다중 전송

Actor 사용자

Type Primary

Pre-conditionsPC - 모바일 기기 접속

파일이 이미 전송 중

Basic Flow

Actor System

1. 파일 전송 중에, 다른 파

일을 선택하여 업로드나 다

운로드 버튼을 클릭

2. 기존 전송 중이던 파일과

동시에 새로운 파일을 전송

Alternative Flow

Actor System

E-1. 이미 전송 중인 파일

을 다시 선택하였을 경우

에러 메시지를 출력

6. 현재까지의 프로젝트 진행상황

6.1. PC 어플리케이션

6.1.1. 메인화면

- 현재 구현 중인 PC 어플리케이션의 메인화면이다.

- JFace의 TreeViewer와 TableViewer, Menu로 구성되어 있다.

- 왼쪽 화면은 Mobile Equipment의 파일 트리 구조에 해당한다.

아직 Mobile Equipment와의 연동이 이루어지지 않아 양쪽 모두

PC의 파일 트리 구조를 출력하는 모습을 나타냈다.

- 오른쪽 화면은 PC의 파일 트리 구조에 해당한다.

- PC 어플리케이션을 통하여 Mobile Equipment와 PC의 파일 모

두를 제어할 수 있도록 할 예정이다.

TreeViewer TableViewer

6.1.2. 파일 트리 탐색

- TreeViewer에서 폴더를 선택했을 경우에 나타나는 화면이다. 폴

더안에 포함되어 있는 하위 폴더 및 파일들이 우측 Table

Viewer에 출력된다.

- 좌측 TreeViewer에서 폴더를 더블클릭하면 하위폴더 내용들이

TreeViewer에 출력된다.

- 좌측 TreeViewer에서 폴더 외에 파일까지 출력되는 부분을 폴더

만 출력될 수 있도록 변경할 예정이다.

- 가운데 두 버튼은 Upload와 Download 역할을 할 버튼이다.

6.1.3. 메뉴 동작 화면

- 일반적으로 사용하는 메뉴의 모습이다.

- 메뉴버튼의 하위 목록을 클릭하면 그에 해당하는 동작이 작동한다.

6.2. 안드로이드 어플리케이션

6.2.1. 메인화면

- 현재 구현 중인 안드로이드 어플리케이션의 메인화면이다.

- PC의 IP주소를 입력하는 TextBox가 있고, Mobile Equipment에

서 사용할 Port번호를 입력하는 TextBox가 있다.

7. 앞으로의 계획

- 각각의 어플리케이션의 UI 확정

- 각각의 어플리케이션 기본 동작 설계 및 구현

- TCP/IP Socket을 통한 통신 구현

- 두 어플리케이션간의 연동 확인

- 이어받기, 덮어쓰기 등의 추가 기능 구현

  6월말 7월초 7월말 8월초 8월말 9월초 9월말 10월초 10월말 11월초

설계 준비                    컴퓨터 어플리케이

션 개발                   

모바일 어플리케이

션 개발                   

TCP/IP 통신 모듈

구현                   

두 어플리케이션간

연동 확인                   

테스트&디버깅                    중간보고서 제출                    최종보고서 제출

및 시현                   

8. Reference

http://story.pxd.co.kr/342

http://news.danawa.com/netizen/News_Netizen_View.php?nSeq=1

987177&nBoardSeq=28

http://ko.wikipedia.org/wiki/JFace

http://wiki.eclipse.org/index.php/JFace

http://reshout.com/2692009

http://golmaru.tistory.com/category/SWT/JFace

http://cafe.naver.com/eztcp/

http://www.cyworld.com/CremazerBlog/3970133

http://follet.tistory.com/10

top related