모바일앱프로그래밍 최종 프로젝트
이 프로젝트는 원격으로 안드로이드 기기 파일에 접근할 수 있는 웹, 하이브리드앱이다.
- pc는 웹을 통해 접속할 수 있고, 안드로이드 기기는 안드로이드앱으로 실행을 할 수 있다.
- 만약 pc와 안드로이드 기기가 통신을 한다면 pc에서만 안드로이드 파일에 접근할 수 있다.
- 안드로이드와 안드로이드가 통신을 한다면 서로의 파일에 접근할 수 있다.
안드로이드 앱은 하이브리드 앱으로 개발한다. 웹뷰를 통해 pc에서 접속할 웹과 동일한 코드베이스를 사용한다. 웹뷰 브릿지를 만들어 웹뷰에서 기기 내 파일에 접근할 수 있도록 한다.
기기간 통신은 WebRTC를 이용한 p2p 통신으로 한다. 매칭을 하기 위해 시그널링 서버를 만든다.
- 호스트가 코드 생성 버튼을 누른다.
- 서버는 코드를 생성해 호스트에게 전달한다.
- 게스트는 호스트로 부터 전달받은 코드를 입력한다.
- 사용자가 폴더 화면에 접근한다.
- 시스템은 사용자에게 시작 폴더(download)
양쪽은 WebRTC의 datachannel로 데이터를 전달한다.
시작 폴더 경로를 반환한다.
"0/download"폴더내에 있는 폴더/파일을 반환한다.
[
{"type":"folder","name":"download"},
{"type":"file","name":"text.txt"}
]파일의 이름과 내용을 반환한다. 이때 내용을 base64로 인코딩하여 전달한다.
"64uL7ZWY64uEIOyXkOyLnOyWtOyEseybkOuLrCDthYzslYR9"파일의