SlideShare uma empresa Scribd logo
1 de 15
21
devicestatus
deviceapis.devicestatus.getPropertyValue(	 

	 	 	 	 function	 (value)	 {	 $("#device	 .cellular-roaming-status").html
(value);	 },	 
	 	 	 	 errorCallback,	 
	 	 	 	 {	 aspect:	 "CellularNetwork",	 property	 :	 "isRoaming"}
);	 	 


deviceapis.devicestatus.getPropertyValue(	 
	 	 	 	 function	 (value)	 {	 $("#device	 .cellular-signal-strength").html
(value);	 },	 	 
	 	 	 	 function	 (e)	 {	 ...	 },	 
	 	 	 	 {	 aspect:	 "CellularNetwork",	 property	 :	 "signalStrength"}
);	 	 

                                                                             22
devicestatus - vocabulary
    Aspect                                 Properties                                  Components

    Battery                batteryLevel, batteryBeginCharged                              _default

CellularHardware                              status                                      _default

CellularNetwork       isInRoaming, signalStrength, operatorName                           _default

    Device                      imei, model, version, vendor                              _default
                   resolutionHeight, pixelAspectRatio, dpiY, resolutionWidth, dpiX,
    Display                                  colorDepth
                                                                                      _active, _default

  MemoryUnit                   size, removable, availableSize                             _default

OperatingSystem              language, version, name, vendor                          _active, _default

  WebRuntime         wacVersion, supportedImageFormats, version, name, vendor         _active, _default

 WiFiHardware                                 status                                      _default

 WiFiNetwork                ssid, signalStrength, networkStatus                       _active, _default



                                                                                                          23
24
messaging
var msg = deviceapis.messaging.createMessage(
      deviceapis.messaging.TYPE_SMS);
var to = [];


to.push($("#toSMS").val());


msg.body = $("#smsMessage").val();
msg.to = to;


deviceapis.messaging.sendMessage(function() {
      alert("Send!");
}, onErrorCallback, msg);



                                                25
26
geolocation
navigator.geolocation.getCurrentPosition(
 function (position) {
      var point = new google.maps.LatLng(
            position.coords.latitude, position.coords.longitude);
      var mapOption = {
       zoom: 15,
       center: point,
       mapTypeId: google.maps.MapTypeId.ROADMAP
      };


      var mapContainer = document.getElementById("map");


      mapContainer = new google.maps.Map(mapContainer, mapOption);


      currentPositionMarker = new google.maps.Marker({
       position: point,
       map: mapContainer,
       title: "Here!!"
      });
});


                                                                     27
28
contact

var oContact = deviceapis.pim.contact.getAddressBooks(function (arr) {

      arr[0].findContacts(function (addr) {
         for (var i = 0; i < addr.length && i < 50; i++) {
           var firstName = (addr[i].firstName == undefined) ? '' : addr[i].firstName;
             var lastName = (addr[i].lastName == undefined) ? '' : addr[i].lastName;
             var phoneNumbers = addr[i].phoneNumbers;


             $('#contact-list').append("<li><a href='#contact-detail'>"+lastName+" "+firstName+"</li>");
         }


          $('#contact-list').listview('refresh');
      }, function (e) { ... },
      { filter });
});




                                                                                                           29
30
ax.ext.net
function getRSSFeed(feed) {
 $.mobile.pageLoading();

    $("#cross-domain-rss").empty();

    ax.ext.net.get(feed, function (result) {
     $($.parseXML(result.data)).find("item").each( function () {
      var title = $(this).find("title").text();
      var pubDate = $(this).find("pubDate").text();
      var author = $(this).find("author").text();
      var thumbnail = $(this).find(
       "[nodeName='media:thumbnail']").attr("url");

       if (thumbnail == undefined)
         $("#cross-domain-rss").append(
           "<li><a href='#'><h3>"+title+"</h3><p>"+pubDate+"</p></a></li>");
       else
         $("#cross-domain-rss").append(
           "<li><a href='#'><img src='"+thumbnail+"'><h3>"+
           author+"</h3><p>"+title+"</p></a></li>");
     });

      $("#cross-domain-rss").listview('refresh');
      $.mobile.pageLoading(true);
    }, onErrorCallback);
}


                                                                               31
32
앱스프레소를 이용한
실전 하이브리드앱 개발


               33
Q&A



      34
That’s all folks



                   35

Mais conteúdo relacionado

Mais procurados

Mulberry: A Mobile App Development Toolkit
Mulberry: A Mobile App Development ToolkitMulberry: A Mobile App Development Toolkit
Mulberry: A Mobile App Development Toolkit
Rebecca Murphey
 
Юрий Буянов «Squeryl — ORM с человеческим лицом»
Юрий Буянов «Squeryl — ORM с человеческим лицом»Юрий Буянов «Squeryl — ORM с человеческим лицом»
Юрий Буянов «Squeryl — ORM с человеческим лицом»
e-Legion
 
Delivering a Responsive UI
Delivering a Responsive UIDelivering a Responsive UI
Delivering a Responsive UI
Rebecca Murphey
 
Decouple Your Code For Reusability (International PHP Conference / IPC 2008)
Decouple Your Code For Reusability (International PHP Conference / IPC 2008)Decouple Your Code For Reusability (International PHP Conference / IPC 2008)
Decouple Your Code For Reusability (International PHP Conference / IPC 2008)
Fabien Potencier
 
Kick start with j query
Kick start with j queryKick start with j query
Kick start with j query
Md. Ziaul Haq
 
Cleaner, Leaner, Meaner: Refactoring your jQuery
Cleaner, Leaner, Meaner: Refactoring your jQueryCleaner, Leaner, Meaner: Refactoring your jQuery
Cleaner, Leaner, Meaner: Refactoring your jQuery
Rebecca Murphey
 

Mais procurados (20)

Real Time App with Node.js
Real Time App with Node.jsReal Time App with Node.js
Real Time App with Node.js
 
PhoneGap: Local Storage
PhoneGap: Local StoragePhoneGap: Local Storage
PhoneGap: Local Storage
 
jQuery secrets
jQuery secretsjQuery secrets
jQuery secrets
 
Facebook
FacebookFacebook
Facebook
 
BEAR DI
BEAR DIBEAR DI
BEAR DI
 
Presentation1
Presentation1Presentation1
Presentation1
 
Daily notes
Daily notesDaily notes
Daily notes
 
Web::Machine - Simpl{e,y} HTTP
Web::Machine - Simpl{e,y} HTTPWeb::Machine - Simpl{e,y} HTTP
Web::Machine - Simpl{e,y} HTTP
 
Mulberry: A Mobile App Development Toolkit
Mulberry: A Mobile App Development ToolkitMulberry: A Mobile App Development Toolkit
Mulberry: A Mobile App Development Toolkit
 
Using a mobile phone as a therapist - Superweek 2018
Using a mobile phone as a therapist - Superweek 2018Using a mobile phone as a therapist - Superweek 2018
Using a mobile phone as a therapist - Superweek 2018
 
PythonでJWT生成からボット作成、投稿までやってみた
PythonでJWT生成からボット作成、投稿までやってみたPythonでJWT生成からボット作成、投稿までやってみた
PythonでJWT生成からボット作成、投稿までやってみた
 
Юрий Буянов «Squeryl — ORM с человеческим лицом»
Юрий Буянов «Squeryl — ORM с человеческим лицом»Юрий Буянов «Squeryl — ORM с человеческим лицом»
Юрий Буянов «Squeryl — ORM с человеческим лицом»
 
Command-Oriented Architecture
Command-Oriented ArchitectureCommand-Oriented Architecture
Command-Oriented Architecture
 
Delivering a Responsive UI
Delivering a Responsive UIDelivering a Responsive UI
Delivering a Responsive UI
 
Building mobile web apps with Mobello
Building mobile web apps with MobelloBuilding mobile web apps with Mobello
Building mobile web apps with Mobello
 
Drupal csu-open atriumname
Drupal csu-open atriumnameDrupal csu-open atriumname
Drupal csu-open atriumname
 
Decouple Your Code For Reusability (International PHP Conference / IPC 2008)
Decouple Your Code For Reusability (International PHP Conference / IPC 2008)Decouple Your Code For Reusability (International PHP Conference / IPC 2008)
Decouple Your Code For Reusability (International PHP Conference / IPC 2008)
 
Kick start with j query
Kick start with j queryKick start with j query
Kick start with j query
 
A New Baseline for Front-End Devs
A New Baseline for Front-End DevsA New Baseline for Front-End Devs
A New Baseline for Front-End Devs
 
Cleaner, Leaner, Meaner: Refactoring your jQuery
Cleaner, Leaner, Meaner: Refactoring your jQueryCleaner, Leaner, Meaner: Refactoring your jQuery
Cleaner, Leaner, Meaner: Refactoring your jQuery
 

Semelhante a 앱스프레소를 이용한 모바일 앱 개발(2)

AST - the only true tool for building JavaScript
AST - the only true tool for building JavaScriptAST - the only true tool for building JavaScript
AST - the only true tool for building JavaScript
Ingvar Stepanyan
 
After max+phonegap
After max+phonegapAfter max+phonegap
After max+phonegap
yangdj
 
混搭移动开发:PhoneGap+JQurey+Dreamweaver
混搭移动开发:PhoneGap+JQurey+Dreamweaver混搭移动开发:PhoneGap+JQurey+Dreamweaver
混搭移动开发:PhoneGap+JQurey+Dreamweaver
yangdj
 
mobl - model-driven engineering lecture
mobl - model-driven engineering lecturemobl - model-driven engineering lecture
mobl - model-driven engineering lecture
zefhemel
 
Big Data for each one of us
Big Data for each one of usBig Data for each one of us
Big Data for each one of us
OSCON Byrum
 

Semelhante a 앱스프레소를 이용한 모바일 앱 개발(2) (20)

Drupal Mobile
Drupal MobileDrupal Mobile
Drupal Mobile
 
DataMapper
DataMapperDataMapper
DataMapper
 
AST - the only true tool for building JavaScript
AST - the only true tool for building JavaScriptAST - the only true tool for building JavaScript
AST - the only true tool for building JavaScript
 
Talk MongoDB - Amil
Talk MongoDB - AmilTalk MongoDB - Amil
Talk MongoDB - Amil
 
JQuery Flot
JQuery FlotJQuery Flot
JQuery Flot
 
node.js and the AR.Drone: building a real-time dashboard using socket.io
node.js and the AR.Drone: building a real-time dashboard using socket.ionode.js and the AR.Drone: building a real-time dashboard using socket.io
node.js and the AR.Drone: building a real-time dashboard using socket.io
 
After max+phonegap
After max+phonegapAfter max+phonegap
After max+phonegap
 
混搭移动开发:PhoneGap+JQurey+Dreamweaver
混搭移动开发:PhoneGap+JQurey+Dreamweaver混搭移动开发:PhoneGap+JQurey+Dreamweaver
混搭移动开发:PhoneGap+JQurey+Dreamweaver
 
jQuery & 10,000 Global Functions: Working with Legacy JavaScript
jQuery & 10,000 Global Functions: Working with Legacy JavaScriptjQuery & 10,000 Global Functions: Working with Legacy JavaScript
jQuery & 10,000 Global Functions: Working with Legacy JavaScript
 
A mobile web app for Android in 75 minutes
A mobile web app for Android in 75 minutesA mobile web app for Android in 75 minutes
A mobile web app for Android in 75 minutes
 
apidays LIVE Australia 2020 - Building distributed systems on the shoulders o...
apidays LIVE Australia 2020 - Building distributed systems on the shoulders o...apidays LIVE Australia 2020 - Building distributed systems on the shoulders o...
apidays LIVE Australia 2020 - Building distributed systems on the shoulders o...
 
mobl
moblmobl
mobl
 
mobl - model-driven engineering lecture
mobl - model-driven engineering lecturemobl - model-driven engineering lecture
mobl - model-driven engineering lecture
 
Going fullstack React(ive) - Paulo Lopes - Codemotion Amsterdam 2017
Going fullstack React(ive) - Paulo Lopes - Codemotion Amsterdam 2017Going fullstack React(ive) - Paulo Lopes - Codemotion Amsterdam 2017
Going fullstack React(ive) - Paulo Lopes - Codemotion Amsterdam 2017
 
Bare-knuckle web development
Bare-knuckle web developmentBare-knuckle web development
Bare-knuckle web development
 
Pengenalan blaast platform sdk
Pengenalan blaast platform sdkPengenalan blaast platform sdk
Pengenalan blaast platform sdk
 
Bonnes pratiques de développement avec Node js
Bonnes pratiques de développement avec Node jsBonnes pratiques de développement avec Node js
Bonnes pratiques de développement avec Node js
 
Micro app-framework - NodeLive Boston
Micro app-framework - NodeLive BostonMicro app-framework - NodeLive Boston
Micro app-framework - NodeLive Boston
 
Micro app-framework
Micro app-frameworkMicro app-framework
Micro app-framework
 
Big Data for each one of us
Big Data for each one of usBig Data for each one of us
Big Data for each one of us
 

Mais de mosaicnet

Mais de mosaicnet (20)

카톡, CGV, 네이버 등 히트 앱 UI/UX 쪼개기(분석)
카톡, CGV, 네이버 등 히트 앱 UI/UX 쪼개기(분석)카톡, CGV, 네이버 등 히트 앱 UI/UX 쪼개기(분석)
카톡, CGV, 네이버 등 히트 앱 UI/UX 쪼개기(분석)
 
모바일 웹/앱 UI & UX 설계 이론(2)
모바일 웹/앱 UI & UX 설계 이론(2)모바일 웹/앱 UI & UX 설계 이론(2)
모바일 웹/앱 UI & UX 설계 이론(2)
 
모바일 웹/앱 UI & UX 설계 이론(1)
모바일 웹/앱 UI & UX 설계 이론(1)모바일 웹/앱 UI & UX 설계 이론(1)
모바일 웹/앱 UI & UX 설계 이론(1)
 
개발자와 디자이너 간 실제 커뮤니케이션(협업) 사례
개발자와 디자이너 간 실제 커뮤니케이션(협업) 사례개발자와 디자이너 간 실제 커뮤니케이션(협업) 사례
개발자와 디자이너 간 실제 커뮤니케이션(협업) 사례
 
어려운 협업의 극복 방안은 UI개념의 공유
어려운 협업의 극복 방안은 UI개념의 공유어려운 협업의 극복 방안은 UI개념의 공유
어려운 협업의 극복 방안은 UI개념의 공유
 
모바일 시대 스마트해진 고객 대응을 위한 시장 분석과 전략(2)
모바일 시대 스마트해진 고객 대응을 위한 시장 분석과 전략(2)모바일 시대 스마트해진 고객 대응을 위한 시장 분석과 전략(2)
모바일 시대 스마트해진 고객 대응을 위한 시장 분석과 전략(2)
 
모바일 시대 스마트해진 고객 대응을 위한 시장 분석과 전략(1)
모바일 시대 스마트해진 고객 대응을 위한 시장 분석과 전략(1)모바일 시대 스마트해진 고객 대응을 위한 시장 분석과 전략(1)
모바일 시대 스마트해진 고객 대응을 위한 시장 분석과 전략(1)
 
앱스프레소를 이용한 모바일 앱 개발(1)
앱스프레소를 이용한 모바일 앱 개발(1)앱스프레소를 이용한 모바일 앱 개발(1)
앱스프레소를 이용한 모바일 앱 개발(1)
 
UX 핫 트렌드, 멀티 플랫폼 모바일 개발(2)
UX 핫 트렌드, 멀티 플랫폼 모바일 개발(2)UX 핫 트렌드, 멀티 플랫폼 모바일 개발(2)
UX 핫 트렌드, 멀티 플랫폼 모바일 개발(2)
 
UX 핫 트렌드, 멀티 플랫폼 모바일 개발(1)
UX 핫 트렌드, 멀티 플랫폼 모바일 개발(1)UX 핫 트렌드, 멀티 플랫폼 모바일 개발(1)
UX 핫 트렌드, 멀티 플랫폼 모바일 개발(1)
 
구글 앱 엔진을 이용한 소셜네트워크게임(SNG) 개발(2)
구글 앱 엔진을 이용한 소셜네트워크게임(SNG) 개발(2)구글 앱 엔진을 이용한 소셜네트워크게임(SNG) 개발(2)
구글 앱 엔진을 이용한 소셜네트워크게임(SNG) 개발(2)
 
구글 앱 엔진을 이용한 소셜네트워크게임(SNG) 개발(1)
구글 앱 엔진을 이용한 소셜네트워크게임(SNG) 개발(1)구글 앱 엔진을 이용한 소셜네트워크게임(SNG) 개발(1)
구글 앱 엔진을 이용한 소셜네트워크게임(SNG) 개발(1)
 
친구가 추천하는 검색? 소셜 서치 지폰
친구가 추천하는 검색? 소셜 서치 지폰친구가 추천하는 검색? 소셜 서치 지폰
친구가 추천하는 검색? 소셜 서치 지폰
 
동영상 검색의 새로운 패러다임
동영상 검색의 새로운 패러다임동영상 검색의 새로운 패러다임
동영상 검색의 새로운 패러다임
 
오빠믿지에서 글로벌LBS서비스로, 무료 앱의 생존법(2)
오빠믿지에서 글로벌LBS서비스로, 무료 앱의 생존법(2)오빠믿지에서 글로벌LBS서비스로, 무료 앱의 생존법(2)
오빠믿지에서 글로벌LBS서비스로, 무료 앱의 생존법(2)
 
오빠믿지에서 글로벌LBS서비스로, 무료 앱의 생존법(1)
오빠믿지에서 글로벌LBS서비스로, 무료 앱의 생존법(1)오빠믿지에서 글로벌LBS서비스로, 무료 앱의 생존법(1)
오빠믿지에서 글로벌LBS서비스로, 무료 앱의 생존법(1)
 
애플이 꿈꾸는 검색 미래인 인식 기술을 통한 서비스
애플이 꿈꾸는 검색 미래인 인식 기술을 통한 서비스 애플이 꿈꾸는 검색 미래인 인식 기술을 통한 서비스
애플이 꿈꾸는 검색 미래인 인식 기술을 통한 서비스
 
펜션 전문 레스티 버티칼 검색의 기술적 특징과 시장성
펜션 전문 레스티 버티칼 검색의 기술적 특징과 시장성펜션 전문 레스티 버티칼 검색의 기술적 특징과 시장성
펜션 전문 레스티 버티칼 검색의 기술적 특징과 시장성
 
감성 컴퓨팅과 검색
감성 컴퓨팅과 검색감성 컴퓨팅과 검색
감성 컴퓨팅과 검색
 
버즈니 플랫폼 : 의견 검색? 의견 검색!
버즈니 플랫폼 : 의견 검색? 의견 검색!버즈니 플랫폼 : 의견 검색? 의견 검색!
버즈니 플랫폼 : 의견 검색? 의견 검색!
 

앱스프레소를 이용한 모바일 앱 개발(2)

  • 1. 21
  • 2. devicestatus deviceapis.devicestatus.getPropertyValue( function (value) { $("#device .cellular-roaming-status").html (value); }, errorCallback, { aspect: "CellularNetwork", property : "isRoaming"} ); deviceapis.devicestatus.getPropertyValue( function (value) { $("#device .cellular-signal-strength").html (value); }, function (e) { ... }, { aspect: "CellularNetwork", property : "signalStrength"} ); 22
  • 3. devicestatus - vocabulary Aspect Properties Components Battery batteryLevel, batteryBeginCharged _default CellularHardware status _default CellularNetwork isInRoaming, signalStrength, operatorName _default Device imei, model, version, vendor _default resolutionHeight, pixelAspectRatio, dpiY, resolutionWidth, dpiX, Display colorDepth _active, _default MemoryUnit size, removable, availableSize _default OperatingSystem language, version, name, vendor _active, _default WebRuntime wacVersion, supportedImageFormats, version, name, vendor _active, _default WiFiHardware status _default WiFiNetwork ssid, signalStrength, networkStatus _active, _default 23
  • 4. 24
  • 5. messaging var msg = deviceapis.messaging.createMessage( deviceapis.messaging.TYPE_SMS); var to = []; to.push($("#toSMS").val()); msg.body = $("#smsMessage").val(); msg.to = to; deviceapis.messaging.sendMessage(function() { alert("Send!"); }, onErrorCallback, msg); 25
  • 6. 26
  • 7. geolocation navigator.geolocation.getCurrentPosition( function (position) { var point = new google.maps.LatLng( position.coords.latitude, position.coords.longitude); var mapOption = { zoom: 15, center: point, mapTypeId: google.maps.MapTypeId.ROADMAP }; var mapContainer = document.getElementById("map"); mapContainer = new google.maps.Map(mapContainer, mapOption); currentPositionMarker = new google.maps.Marker({ position: point, map: mapContainer, title: "Here!!" }); }); 27
  • 8. 28
  • 9. contact var oContact = deviceapis.pim.contact.getAddressBooks(function (arr) { arr[0].findContacts(function (addr) { for (var i = 0; i < addr.length && i < 50; i++) { var firstName = (addr[i].firstName == undefined) ? '' : addr[i].firstName; var lastName = (addr[i].lastName == undefined) ? '' : addr[i].lastName; var phoneNumbers = addr[i].phoneNumbers; $('#contact-list').append("<li><a href='#contact-detail'>"+lastName+" "+firstName+"</li>"); } $('#contact-list').listview('refresh'); }, function (e) { ... }, { filter }); }); 29
  • 10. 30
  • 11. ax.ext.net function getRSSFeed(feed) { $.mobile.pageLoading(); $("#cross-domain-rss").empty(); ax.ext.net.get(feed, function (result) { $($.parseXML(result.data)).find("item").each( function () { var title = $(this).find("title").text(); var pubDate = $(this).find("pubDate").text(); var author = $(this).find("author").text(); var thumbnail = $(this).find( "[nodeName='media:thumbnail']").attr("url"); if (thumbnail == undefined) $("#cross-domain-rss").append( "<li><a href='#'><h3>"+title+"</h3><p>"+pubDate+"</p></a></li>"); else $("#cross-domain-rss").append( "<li><a href='#'><img src='"+thumbnail+"'><h3>"+ author+"</h3><p>"+title+"</p></a></li>"); }); $("#cross-domain-rss").listview('refresh'); $.mobile.pageLoading(true); }, onErrorCallback); } 31
  • 12. 32
  • 14. Q&A 34