앱주소 : https://play.google.com/store/apps/details?id=com.devroid.fps_bible
소방관으로 일하고 있는 사촌동생 부탁으로 만들어 보았습니다...
UI는 폰갭으로 만들었고, assets 폴더에 pdf 파일들을 같이 넣어두어 설치되어 있는 pdf리더를 통해서 해당 파일을 읽을수 있도록 하였습니다.
첨부된 소스는 용량문제로 중요한 파일만 첨부하였습니다.
>> 첨부파일 설명
assets/www/index.html : UI파일
res/xml/config.xml : 직접 만든 폰갭플러그인을 등록해주는 파일
src/com/devroid/fps_bible/MainActivity.java : 특별히 하는일 없이 index.html 을 초기에 띄워주는 역할
src/com/devroid/plugin/KongKongPlugin.java : index.html 에서 내려진 명령을 수행하는 폰갭플러그인 소스
AndroidManifest.xml : SD저장소에 파일들을 쓰고, 폰갭특성상 인터넷환경 조회 권한이 필요
>> 사용된 기술
1. 폰갭 & jQuery Mobile
2. 폰갭플러그인 제작
3. assets에 저장된 파일 이용
4. Intent 호출을 통한 pdf 리더선택기 호출, 유튜브재생기 선택기 호출, 웹페이지 띄우기, 앱링크 연결
주말까지 배포가 되어야 한다고 얘기해서, 급하게 하루만에 만든 어플입니다. 그래서 클래스 설계가 좀 조잡하지만, 뭐 공부하는 차원이라면 크게 관계는 없을거 같습니다.
(폰갭으로 어플만드는거는 다른 포스팅을 참고하세요)
* 폰갭 프로젝트 만들기 : http://devroid.com/80194063161
* 폰갭 플러그인 만들기 : http://devroid.com/80194255240
1. AndroidManifest.xml 에 두가지 퍼미션을 추가
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
2. 폰갭플러그인 위한 /res/xml/config.xml 에 폰갭플러그인 명시
<plugins>
<plugin name="KongKongPlugin" value="com.devroid.plugin.KongKongPlugin" />
</plugins>
3. assets/www/index.html 에 UI 전체를 구성 ( jQuery Mobile 로 화면을 간단히 꾸밈 )
소스를 보면 버튼 클릭시 callMyPlugin 함수를 호출하는데 이 함수에서 폰갭플러그인(KongKongPlugin)을 호출
4. 폰갭플러그인 소스(src/com/devroid/plugin/KongKongPlugin.java)를 보면 액션으로 web, app, movie, pdf 이렇게 네가지가 올수 있는데, web은 웹페이지를 띄워주고, app은 앱으로의 링크로 연결해주고, pdf는 assets에 저장된 바이너리를 앱폴더에 저장해서 그파일을 리더선택기로 던져줍니다 그리고, movie는 유튜브 재생 선택기로 던져줍니다.