混合開發之phonegap開發相關知識解析
hybrid app(混合模式移動應用)是指介於web-app、native-app這兩者之間的app,兼具"Native App良好使用者互動體驗的優勢"和"Web App跨平臺開發的優勢"。hybrid app的作用如下:
--- 可以安裝到手機,Webapp、m站、touch端專案、手機網站;
--- 手機瀏覽器訪問nativeapp android、ios語言開發的app。
webview是由原生語言提供的元件(瀏覽器),該元件本身需要設定一些屬性(設定讓其支援javascript,設定連結在本元件WEBVIEW中跳轉),讓他可以像一個真正的瀏覽器一樣。
讓其載入一個網頁:
wv.loadUrl('地址') //本地地址/遠端地址
android、ios提供一些可供js呼叫的物件obj和方法fn,js中只需要透過
window.obj.fn // 如果需要傳遞引數 window.obj.fn(params)
js可以提供android呼叫的方法test,供android、ios呼叫
wv.loadUrl('javascript:test()') //如果需要引數wv.loadUrl('javascript:test(params)')
一、介紹
混合開發
根據需求先寫頁面,假設你的一個按鈕需要呼叫系統的功能,在你的按鈕事件中呼叫由android工程師提供的相對應的物件和其方法即可,同時前端也會定義一些方法,但是前端自己不調動,android會根據webview的loadUrl方法進行呼叫,並且傳參(根據需求看)
如果將這些物件和方法進一步統一封裝,再結合一定的技術可以提供給js呼叫,就好比我們在寫頁面的時候引入jquery一樣,再結合特定的環境(混合開發所必須的環境)就可以無需原生開發者,只要你懂web技術即可開發需要的app
phonegap ******
DCloud ******
ApiCloud
ReactNative
.....
二、如何開發 getstarted/
1、安裝桌面版應用程式,用來建立專案
2、安裝移動應用
ios,請移駕到appstore進行下載
3、建立新的應用程式
4、專案預覽效果,手機和電腦處於同一個區域網,
三、呼叫系統功能 --- 拍照
拍照API
receivedEvent: function(id) {
var takePhotoBtn = document.getElementById("takephoto");
var getPhotoBtn = document.getElementById("getphoto");
takePhotoBtn.>
alert("拍照");
navigator.camera.getPicture(onSuccess, onFail, { quality: 50,
destinationType: Camera.DestinationType.FILE_URI });
function onSuccess(imageURI) {
var image = document.getElementById('myImage');
image.src = imageURI;
}
function onFail(message) {
alert('Failed because: ' + message);
}
}
getPhotoBtn.>
alert("相簿選取");
navigator.camera.getPicture(onSuccess, onFail, {
quality: 50,
destinationType: Camera.DestinationType.FILE_URI,
sourceType:Camera.PictureSourceType.PHOTOLIBRARY
});
function onSuccess(imageURI) {
var image = document.getElementById('myImage');
image.src = imageURI;
}
function onFail(message) {
alert('Failed because: ' + message);
}
}
var getUser = document.getElementById("getUser");
var list = document.getElementById("list")
getUser.>
alert("通訊錄");
var options = new ContactFindOptions();
options.filter = "";
options.multiple = true; // return multiple results
filter = ["name"]; // return contact.displayName field
// find contacts
navigator.contacts.find(filter, onSuccess, onError, options);
function onSuccess(contacts) {
// display the address information for all contacts
for (var i = 0; i < contacts.length; i++) {
var oli = document.createElement("li");
oli.innerHTML = i + ":"+JSON.stringify(contacts[i].name)
list.appendChild(oli);
}
};
五、打包
點選私有的,上傳www檔案的壓縮檔案即可
點選open-source
先寫好頁面,在你頁面需要的部分新增點選事件,事件程式碼塊由phonegap提供,透過事件的回撥函式繼續操作即可
本文來自千鋒教育,轉載請註明出處。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31548651/viewspace-2795049/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Java開發程式設計師:JVM相關的知識講解Java程式設計師JVM
- 敏捷開發相關敏捷
- Flutter混合開發之FlutterFragment使用FlutterFragment
- 小程式開發之基礎知識(0)
- Java併發相關知識點梳理和研究Java
- Flutter - 混合開發Flutter
- Flutter混合開發Flutter
- 【轉】交換機開發(四)—— ARP 基礎知識解析
- 關於網校系統開發的小知識
- 整理:iOS開發知識點iOS
- Flutter開發之JSON解析FlutterJSON
- 深度解析混合開發技術成熟度曲線
- .net相關知識
- Shell相關知識
- RPM相關知識
- [ Java面試題 ]Java 開發崗面試知識點解析Java面試題
- Flutter原生混合開發Flutter
- Flutter & Native 混合開發Flutter
- Flutter混合開發-iOSFlutteriOS
- Hybrid 混合App開發APP
- 面試系列之View相關知識點面試View
- Android音影片開發 - MediaMetadataRetriever 相關Android
- Mac開發相關設定操作Mac
- vue外掛開發小知識Vue
- 教育類APP開發小知識APP
- 容器雲開發必備知識
- Android 開發知識集合目錄Android
- Android短視訊開發業務中視訊編解碼的相關知識閱讀Android
- web開發知識體系中必要的知識點Web
- 原生開發、H5開發和混合開發的區別H5
- 相親原始碼前端開發知識點,每天進步一點點原始碼前端
- /proc的相關知識
- redis相關知識點Redis
- Git相關知識點Git
- 音訊相關知識音訊
- Redis的相關知識Redis
- SSL相關知識科普
- Elasticsearch——search相關知識Elasticsearch