336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

 

 

▶ 클라이언트 Controller 추가하기

 

1. 먼저 추가할 js 파일 저장 한다.

2. index.html에 app controller 부분 스크립트 추가

<script src="js/controllers/컨트롤러이름.js"></script>

3. app.js 파일 $stateProvider 추가

 

'IT잡아먹기 > Hybrid' 카테고리의 다른 글

하이브리드앱개발에 필요한 link 정리  (0) 2015.12.17
Cordova ionic InAppBrowser  (0) 2015.12.17
Cordova AppVersion Plugin  (0) 2015.12.17
Cordova 하이브리드앱 샘플코드  (0) 2015.12.17
Cordova install  (0) 2015.12.16
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

 

 

Cordova로 개발하다보면 마켓 업데이트 등 앱 버전을 필요로 한다.

안드로이드 버전과는 다르다.

App Version Plugin 먼저 설치한다

▶ cordova plugin add uk.co.whiteoctober.cordova.appversion

▶ 소스코드 
cordova.getAppVersion.getVersionNumber().then(function (version) {
    $('.version').text(version);
});

cordova.getAppVersion.getVersionCode().then(function (code) {
    $('.code').text(code);
});
cordova.getAppVersion.getVersionNumber(function (version) {
    alert(version);
});

cordova.getAppVersion.getVersionCode(function (code) {
    alert(code);
});
 

'IT잡아먹기 > Hybrid' 카테고리의 다른 글

하이브리드앱개발에 필요한 link 정리  (0) 2015.12.17
Cordova ionic InAppBrowser  (0) 2015.12.17
Cordova Ionic controller 추가  (0) 2015.12.17
Cordova 하이브리드앱 샘플코드  (0) 2015.12.17
Cordova install  (0) 2015.12.16
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

 

 

자세한 사항

 

https://github.com/cornerstonewdk/cornerstone-framework/blob/master/doc/3.%20Runtime/RT_5.webapp_sample_code.md

 

example 1. Java Script Library가 정상적으로 Load 되었는지 확인하는 Sample (event_sample.html)

function onDeviceReady(){
    console.log("deviceready");
    //use some deviceAPIs
}

document.addEventListener("deviceready", onDeviceReady, false);

example 2. WIFI가 현재 연결되었는지를 판단하는 Sample (deviceStatus_sample.html)

function validSuccessCalback_DS(prop,value) {
    alert("The aspect::" + prop.aspect + "  property::" + prop.property + " is " + value);
    if(value == "undefined")
        alert("현재 wifi로 연결 되어 있지 않음");
}

function validErrorCallback_DS(response){
    alert("다음 error: " +  response.message + ", 발생");
}

navigator.devicestatus.getPropertyValue(validSuccessCalback_DS ,validErrorCallback_DS ,{aspect:"WiFiNetwork", property:"ssid"});

example 3. Native Camera App을 연동하여 사진을 찍는 Sample (captureapi_sample.html)

function captureSuccess(filename) {
    console.log("Captured Image path:" + filename);
    var imgDest = document.getElementById("captureimg");
    imgDest.setAttribute("src", filename + "?" + new Date().getTime());
}

function captureError(err) {
    console.log(err.message);
}

// start Image capture
navigator.capture.captureImage(captureSuccess, captureError, {destinationFilename : "file://sdcard/skruntimetest/test.png"});

example 4. Battery 충전 유무가 변경 되었을 때 이를 하이브리드앱에 공지하는 Sample (battery_sample.html)

function onBatteryStatus() {
    alert("navigator.battery.charging = " + navigator.battery.charging);
    alert("navigator.battery.level = " + navigator.battery.level);
}

navigator.battery.addEventListener("chargingchange", onBatteryStatus,false);

example 5. Native Calendar에 특정 Event를 추가하는 Sample (calendar_sample.html)

function eventAddedCB(event) {
    alert("CalendarEvent Added with description = " + event.description
    + "\nid = " + event.id + "\nstart = " + event.start);
}

var calEvent = navigator.calendar.createEvent({
    description : 'HTML5 Introduction',
    summary : 'HTML5 test ',
    start : '2012-07-19 09:00',
    end : '2012-07-19 12:00',
    recurrence : {
        expires : '2012-08-28',
        frequency : 'weekly',
        interval : 1,
    },
    reminder : '-3600000',
    status : 'tentative',
    location : 'SK bundang'
});

navigator.calendar.addEvent(eventAddedCB, errorCallback, calEvent);

example 6. Device SDcard에 저장되어 있는 Audio 파일을 재생하는 Sample (media_sample.html)

function createmediasc (media) {
    gMedia2.play();
}

function error (err) {
    // do something with resulting error
    alert(err.message);
}

navigator.mediamanager.createAudio(createmediasc,error,"file:///sdcard/Music/test2.mp3");

example 7. Email를 송신 하는 Sample (messaging_sample.html)

var msg = navigator.messaging.createMessage(Messaging.TYPE_EMAIL);

msg.to = [ "test@naver.com", "test2@yahho.co.kr" ];
msg.cc = [ "test1@naver.com", "www1@yahho.co.kr" ];
msg.bcc = [ "etetet@naver.com", "hfhfh@yahho.co.kr" ];
msg.body = "test body";
msg.subject = "test subject";

var imagefile = new FileEntry("aa.png","file:///sdcard/skruntime/aa.png");
var imagefile2 = new FileEntry("bbbb.jpg","file:///sdcard/skruntime/bbbb.jpg");

msg.attachments = [imagefile,imagefile2];

try {
    navigator.messaging.sendMessage(function sc() {alert("SendMail OK");}, 
        function ec(err) {alert(err.message)}, msg);
} catch (e) {
    alert(e.message);
}

example 8. 현재 가속도 정보가 변화 될때 마다 하이브리드앱에 통지 하는 Sample

function acceleration_handler(event) {
    console.log("accelerationIncludingGravity.x = " + event.accelerationIncludingGravity.x +
    "\n accelerationIncludingGravity.y = " + event.accelerationIncludingGravity.y +
    "\n accelerationIncludingGravity.z = " + event.accelerationIncludingGravity.z);
}
window.addEventListener("devicemotion",acceleration_handler , true);

example 9. Device의 pause , resume 상태를 하이브리드앱에 통지 하는 sample (event_sample.html)

function onPause(){
    console.log("onPause");
}

function onResume(){
    console.log("onResume");
}

document.addEventListener("pause", onPause, false);
document.addEventListener("resume", onResume, false);

example 10. Device의 진동을 실행하는 Sample (vibrator_sample.html)

function vibratetime(){
    //2 second
    navigator.vibrate(2000);
}
function vibratepattern(){
    //use pattern
    navigator.vibrate([500,30,1000]);
}

example 11. 하이브리드앱을 종료하는 Sample (deviceInteraction_sample.html)

 navigator.deviceinteraction.exitApp(); //only Android

example 12. 물리 메뉴버튼을 사용하였을 경우 Menu를 추가/삭제/이벤트를 등록하는 Sample (menu_sample.html)

    - 사용자 정의 메뉴를 특정 페이지에서 생성 하였을 경우 페이지를 빠져 나갈시 removeAll()을 반드시 호출하여야 한다.

function MenuCallback1(){
    alert("menu1 button click");
}
function addMenu(){
    navigator.menumanager.addMenu("menu1",MenuCallback1);
}
function removeMenu(){
    navigator.menumanager.removeMenu("menu1");
}
function removeAll(){
    //개발자 custom 추가메뉴를 모두 삭제한다. 
    navigator.menumanager.removeAll();
}

example 13. 물리 메뉴버튼을 사용하였을 경우 Default Menu를 삭제/삽입 하는 Sample (menu_sample.html)

navigator.menumanager.removeMenu("OPENBROWSER");   // 브라우져로 열기 메뉴 삭제
navigator.menumanager.removeMenu("REFRESH");       // 새로고침 메뉴 삭제 
navigator.menumanager.removeMenu("EXITAPP");       // 하이브리드앱 종료 메뉴 삭제 

navigator.menumanager.addMenu ("OPENBROWSER");   // 브라우져로 열기 메뉴 삽입
navigator.menumanager.addMenu ("REFRESH");       // 새로고침 메뉴 삽입
navigator.menumanager.addMenu ("EXITAPP");       // 하이브리드앱 종료 메뉴 삽입

example 14. NFC TAG를 읽고 하이브리드앱에 이를 통지하는 Sample (nfc_sample.html)

function readTagCallback(obj){
    alert(obj.tag);
}

function setNFCUseTrue(){
    if(navigator.nfc.isNFCSupport()){
        navigator.nfc.setNFCUse(true);
    }
    navigator.nfc.setReadTagCallback(readTagCallback);
}

function setNFCUseFalse(){
    navigator.nfc.setNFCUse(false);
}

example 15. NFC TAG와 connection 후에 특정 data를 I/O하는 Sample (nfc_sample.html)

function transceiveCallback(tag){
    alert("tagtype::" + tag.type + " tag.transceive:::" + tag.transceive);
}
function testSC(tag){
    alert("tagtype::" + tag.type + " tag.transceive:::" + tag.transceive[0]);
    if(tag.transceive[0] == "6F060102030405069000"){
    navigator.nfc.transceive(transceiveCallback,transceiveErrorCallback,["00CA000005"]);
    }
}
function transceiveErrorCallback(e){
    alert(e);   
}

function Select_Test_Applet(){
    navigator.nfc.transceive(testSC,transceiveErrorCallback,
                      [
                      "00A4040006112233445566", //IsoDep
                      ]);
}
 

'IT잡아먹기 > Hybrid' 카테고리의 다른 글

하이브리드앱개발에 필요한 link 정리  (0) 2015.12.17
Cordova ionic InAppBrowser  (0) 2015.12.17
Cordova Ionic controller 추가  (0) 2015.12.17
Cordova AppVersion Plugin  (0) 2015.12.17
Cordova install  (0) 2015.12.16

+ Recent posts