混合app

cordova run android ? ? ? ? ? ?把應用發送到手機
ionic serve ? ? ? ?電腦瀏覽器調試命令
創建:
cordova create hello com.example.hello HelloWorld
cd hello
cordova platform add android
cordova build android
cordova emulate android
查詢
cordova platform ls
cordova plugin ls
cordova info
更新
npm update -g cordova
cordova platform update android
安裝插件默認會為每一個平臺都裝上,plugman 是用來為不同平臺定制不同插件
批量添加移除插件:
$ cordova plugin add org.apache.cordova.console org.apache.cordova.device
$ cordova plugin remove org.apache.cordova.console org.apache.cordova.device
通過git下載插件
cordova plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin-inappbrowser.git
蘋果系統下需要加sudo:
sudo npm install -g cordova
插件:
inappbrowser:https://git-wip-us.apache.org/repos/asf?p=cordova-plugin-inappbrowser.git
cordova plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin-inappbrowser.git
掃描:https://github.com/phonegap/phonegap-plugin-barcodescanner
Android用:cordova plugin add https://github.com/phonegap/phonegap-plugin-barcodescanner.git
ios 用: cordova plugin add phonegap-plugin-barcodescanner
zbar
cordova plugin add org.cloudsky.cordovaplugins.zbar
獲取版本:
cordova plugin add https://github.com/whiteoctober/cordova-plugin-app-version.git
獲取splashscreen
cordova plugin add cordova-plugin-splashscreen
Android:cordova create top cn.topsunny.top.clubapp?TOP商家系統
ios:cordova create top com.topsunny TOP商家系統
需要重新創建項目時,可以直接把插件復制進去就不用自己下載了,但是不要把json文件也復制進去
如果被墻的話:
npm install -g cnpm --registry=https://registry.npm.taobao.org
cnpm install -g ionic
打包成指定版本:
ionic platform add android -4.4.2
ion-nav-buttons 可以定制nav的頭部按鈕,它的slide屬性,primary and secondary 會因為Android和ios而不同,如果需要跨平臺固定左右,就使用left,right。并且這個標簽必須是ion-view or ion-nav-bar元素的直接后代
不要把 ?ion-tabs?放在 ion-content?元素里面,會導致CSSbug
ion-header-bar的no-tap-scroll屬性。當點擊標題時,是否將內容區域自動滾動到最開始。允許值:true | false,默認為true。
<ion-content overflow-scroll="true">...</ion-content> ?超出顯示滾動條
ionic resources --icon ? ?ionic resources --splash ??程序會自動幫你裁切出需要的各種規格的icon和啟動圖
為什么要用react native:
1. Native的原生控件有更好的體驗;
2. Native有更好的手勢識別;
3. Native有更合適的線程模型,盡管Web Worker可以解決一部分問題,但如圖像解碼、文本渲染仍無法多線程渲染,這影響了Web的流暢性。
4. Native能實現更豐富細膩的動畫效果,歸根結底是現階段Native具有更好的人機交互體驗。
緩存是個很不好控制的東西,靈活性、兼容性都有問題。 我們的解決方案不是緩存,就是真的存本地。
一、應用的HTML5、js、css 頁面就是放到本地,升級通過wgtu方式升級,可以單獨更新某個文件。參考http://ask.dcloud.net.cn/article/199
二、除了應用頁面,里面引入的服務器端的圖片要緩存在本地,有2種做法: 1. plus.downloader存在本地,然后img對象的src用js動態賦值指向到本地地址 2. img對象直接載入遠端服務器圖片,然后base64轉存到本地io上。
瞬間模糊問題:應該是硬件加速的問題,關閉硬件加速試試。另外圖片大小要控制,Android渲染占用的資源過多,就會被系統處理掉,再次渲染會來不及,就會先虛一下。
一般影響內存的就是同時存在的webview的數量和webview里對渲染資源的消耗。一方面不用的webview盡量關閉或hide掉。另一方面處理好前端代碼。dom和css的渲染確實比原生ui渲染占用更多內存,要盡量控制dom和css的復雜度,避免js操作大量dom渲染。很多前端在寫pc web時比較熱衷的一些技術其實是不可取的,在mobile上請老老實實寫整潔的代碼,少用框架、少用動態執行的模板、不用css reset、減少css覆蓋。
官方目前只做了支付寶和微信支付。有4種方式擴展:1. 直接使用這些三方支付的手機網頁版2. 使用ping++ sdk,http://ask.dcloud.net.cn/article/246 ?3. plus.payment是開源的,github遷個分支,直接改,改完提交給我們。https://github.com/dcloudio/H5P.Plugins.payment.Alipay4. 使用5+ sdk,采用原生插件的方式集成這些三方支付的sdk
同一個webview里,div的層次不可能高于原生控件。就像div蓋不住flash一樣。想蓋住只能新開一個webview。
用5+sdk來集成,諸如百度的拍照識別sdk。參考文檔中心5+ sdk章節
uploader本來就是無界面的js的api。只要提交上傳的那段js所在的webview不close,程序就會一直上傳。但如果程序被切換到os的后臺,就不一定還能執行多長時間了,這個看操作系統如何做節電管理了。
ios支持websocket。 Android4.4起支持websocket。 Android 4.4以下,可以使用Native.js,http://ask.dcloud.net.cn/question/60
或者使用socket.io等三方js庫,它在不支持websocket時自動切換為http輪詢。
webview最大,它其實就是os的webview,代表一個瀏覽器容器,這種原生對象原本js是不能操作的,但HTML5+擴展了plus.webview,使得js可以操作這個原生對象。webview里載入網頁,每個webview有一個自己的window和dom。
如果是切后臺再進來閃一下,應該是頭部使用了fix,去掉fix。fix在有些Android手機上會引發渲染滯后。另外ios下用fix確實問題很多,少用fix吧。
搜索輸入框輸入完內容點擊輸入法上的回車或者搜索鍵,然后執行一個js方法。js標準的onkeydown、onkeypress事件都可以用,回車的code是13。
plus.key監聽的是軟鍵盤之外的物理按鍵,軟鍵盤的監聽不需要plus提供api
閃屏是發生了重繪,檢查下有幾處操作造成重繪了。有時看起來只改一個地方,但相關的css選擇器也可能觸發重繪。但一次更改不會閃屏,連續多次并發重繪操作才會閃屏。另外fix慎用,很容易閃屏。
閃退應該是內存不足。在Android5上開啟硬件加速后,會占用更多的內存,處理不好就會渲染異常或閃退。一般減少內存的方式是減少webview。不用的 webview要及時close。全屏webview在不顯示時是不會占用太多資源的,但subpage的子webview或append的子webview,即使不顯示也是會占用資源的,如webview選項卡,要謹慎使用。
Android4.4的內核是chrome內核,Android4.4以下是Android webkit 內核,存在瀏覽器兼容問題,需要避免使用特殊寫法。
Focus 事件在手機上需要一個完整的按下、彈起。在input上,只有按下、沒有彈起,所以 focus 沒有正確觸發
xcode 打包報錯需要bitcode的話,到build setting把它設置為no。實在解決不了的問題就重新建項目吧!
更新xcode7.1之后,運行不報錯,archive打包碰到"error - Cordova/CDVViewController.h file not found. " 需要添加 "$(OBJROOT)/UninstalledProducts/$(PLATFORM_NAME)/include" 到這里Build Settings -> Header Search Paths
http://forum.ionicframework.com/t/cordova-cdvviewcontroller-h-file-not-found-in-xcode-7-1-beta/32232/5
Certificate用來給應用程序簽名的,只有經過簽名的應用程序才能保證他的來源是可信任的,并且代碼是完整的,在Xcode Build Setting的Code Signing Identity中,你可以設置用于為代碼簽名的證書。
我們申請一個Certificate之前,需要先申請一個Certificate Signing Request (CSR) 文件,而這個過程中實際上是生成了一對公鑰和私鑰,保存在你Mac的Keychain中。代碼簽名正是使用這種基于非對稱秘鑰的加密方式,用私鑰進行簽名,用公鑰進行驗證。
App ID用于標識一個或者一組App,App ID應該是和Xcode中的Bundle ID是一致的或者匹配的。App ID主要有以下兩種:
Explicit App ID:唯一的App ID,這種App ID用于唯一標識一個應用程序,例如com.ABC.demo1,標識Bundle ID為com.ABC.demo1的程序。
Wildcard App ID:通配符App ID,用于標識一組應用程序。例如*可以表示所有應用程序,而com.ABC.*可以表示以com.ABC開頭的所有應用程序。
Provisioning Profile決定Xcode用哪個證書(公鑰)/私鑰組合(Key Pair/Signing Identity)來簽署應用程序(Signing Product),將在應用程序打包時嵌入到.ipa包里。安裝應用程序時,Provisioning Profile文件被拷貝到iOS設備中,運行該iOS App的設備也通過它來認證安裝的程序。
如果要打包或者在真機上運行一個APP,一般要經歷以下三步:
- 首先,需要指明它的App ID,并且驗證Bundle ID是否與其一致;
- 其次,需要證書對應的私鑰來進行簽名,用于標識這個APP是合法、安全、完整的;
- 然后,如果是真機調試,需要確認這臺設備是否授權運行該APP。
http://www.cnblogs.com/cywin888/p/3263027.html

轉載于:https://www.cnblogs.com/chuangweili/p/5167978.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/272384.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/272384.shtml
英文地址,請注明出處:http://en.pswp.cn/news/272384.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

vscode瀏覽器打開html

1.點擊拓展 2.輸入open in browser&#xff0c;選擇第一個 3.點擊安裝

VMware虛擬機克隆CentOS后網卡修改方法

轉自:http://www.linuxidc.com/Linux/2015-03/114975.htm 轉載于:https://www.cnblogs.com/water-sky/p/5169107.html

NET Core入門筆記

一、NET Core概念.NET Core 是開放源代碼通用開發平臺&#xff0c;由 Microsoft 和 .NET 社區在 GitHub 上共同維護。 它跨平臺&#xff08;支持 Windows、macOS 和 Linux&#xff09;&#xff0c;并且可用于生成設備、云和 IoT 應用程序。&#xff08;MSDN&#xff09;二、NET…

解決redis-cli連接時出現Could not connect to Redis at 127.0.0.1:6379: Connection refused

解決redis-cli連接時Could not connect to Redis at 127.0.0.1:6379: Connection refused 原因&#xff1a;服務端未啟動 [rootlocalhost bin]# ./redis-server redis.conf [rootlocalhost bin]# redis-cli -bash: redis-cli: 未找到命令 [rootlocalhost bin]# ./redis-cli 1…

ASP.NET MVC的過濾器筆記

過濾器概念APS.NET MVC中&#xff08;以下簡稱“MVC”&#xff09;的每一個請求&#xff0c;都會分配給相應的控制器和對應的行為方法去處理&#xff0c;而在這些處理的前前后后如果想再加一些額外的邏輯處理。這時候就用到了過濾器。1、過濾器&#xff08;Filters&#xff09;…

51單片機點亮第一個LED教程

單片機芯片型號&#xff1a; STC89C52 建立工程文件 打開keil4軟件界面如下&#xff1a; 新建工程文件&#xff08;自己選擇文件路徑&#xff0c;并給工程命名&#xff09;&#xff1a; 若出現下圖點擊OK&#xff1a; 然后選擇Atmel點擊OK&#xff08;根據自己的芯片型號選擇…

linux環境下用docker安裝rabbitmq

1、進入docker hub鏡像 倉庫地址&#xff1a;https://hub.docker.com/ 2、搜索rabbitMq&#xff0c;進入官方 的鏡像可以&#xff0c;看到以下幾種類型的鏡像&#xff1b;我們選擇帶有“mangement”的版本&#xff08;包含web管理頁面&#xff09;&#xff1b; 3、拉取鏡像 …

EF使用CodeFirst創建數據庫和表

EF支持三種實體模型&#xff1a;Code First&#xff0c;Model First和DB First&#xff0c;分別表示代碼優先&#xff0c;模型優先和數據庫優先。目前就個人來說使用CodeFirst最多&#xff0c;對此相對比較熟悉&#xff0c;先寫下Code First的使用吧。那什么是Code First代碼優…

從頭學Qt Quick(3)-- 用QML寫一個簡單的顏色選擇器

先看一下效果圖&#xff1a; 實現功能&#xff1a;點擊不同的色塊可以改變文字的顏色。 實現步驟&#xff1a; 一、創建一個默認的Qt Quick工程: 二、添加文件Cell.qml 這一步主要是為了實現一個自定義的組件&#xff0c;這個組件就是我們看到的那個色塊&#xff0c;很明顯定義…

LED閃爍和流水燈,調試教程,在線仿真器的使用

常用的延時方法&#xff1a; 軟件延時&#xff08;使用簡單但是浪費CPU資源&#xff09;、定時器延時&#xff08;不浪費CPU資源&#xff09;&#xff0c;本次先使用軟件延時。 LED全亮代碼&#xff1a; #include<reg52.h> //引用51的頭文件 void main() {P10; }整體代…

docker中命令docker images

docker images 用于查看本地已下載的鏡像 REPOSITORY 鏡像倉庫 TAG 鏡像標簽 IMAGE ID 鏡像ID CREATED 鏡像創建時間 SIZE 鏡像大小

用VS2017開發安卓應用

vs2017自安裝以后就沒怎么打開過&#xff0c;雖然12出的時候用10&#xff0c;15出的時候用13&#xff0c;17出的時候用15&#xff0c;但我依然堅持不用也裝上再說的理念。1、vs2017開發IOS和Android安裝所必不可少的&#xff0c;uwp和net core也順便裝了吧&#xff0c;作為一個…

算法題11 字符串的所有對稱子串

題目 給定一個字符串&#xff0c;求其中所有的對稱子串 分析 對稱字符串無非兩種情況&#xff0c;一是以1個字符為中心對稱&#xff0c;如"abcba",一是完全對稱&#xff0c;如"abccba"。對于字符串對稱的判斷&#xff0c;從內往外查找比較方便 代碼  1 in…

C51蜂鳴器和數碼管動靜態顯示

蜂鳴器代碼 #include<reg52.h> #include<intrins.h>#define uint unsigned int #define uchar unsigned charsbit beepP2^3; uchar temp; void delay(void) //誤差 -0.000000000023us {unsigned char a,b;for(b221;b>0;b--)for(a207;a>0;a--); } void mai…

MYSQL 定時自動執行任務

MYSQL5.1開始支持EVENT功能&#xff0c;類似Oracle和MSSQL的定時任務job功能。有了這個功能之后我們就可以讓MySQL自動的執行存儲過程來實現數據匯總等功能了&#xff0c;不用像以前哪樣手動操作完成了。下面我們來測試下&#xff0c;在MYSQL中如何自動執行指定存儲過程&#x…

docker刪除本地已下載的鏡像

1&#xff1a;首先用 docker images 查看一下本地已下載的鏡像 2&#xff1a;使用 docker rmi --force IMAGED ID 刪除鏡像

51單片機獨立鍵盤和矩陣鍵盤

獨立鍵盤代碼&#xff1a; #include<reg52.h> #include<intrins.h>#define uint unsigned int #define uchar unsigned charsbit beepP2^3; sbit DUAN P2^6;//數碼管段選 sbit WEIP2^7; //數碼管位選sbit key_s2 P3^0;//獨立按鍵s2 sbit key_s3 P3^1;//獨立按鍵s3…

SQLSERVER數據庫內存占用高的解決方法

遠程登錄服務器時發現程序執行時特別卡&#xff0c;利用任務管理器查看了下系統資源使用情況&#xff0c;監視一段時間后發現CPU占用不大&#xff0c;但是內存占用量居高不下&#xff0c;然后發現是Sqlserver.exe這個服務占用內存很大&#xff0c;達到了近2G服務器配置的8G內存…

docker ps 和docker ps -a

列出正在運行的容器 docker ps 顯示所有的容器&#xff0c;包括未運行的 docker ps -a

51單片機8*8點陣屏、取模軟件的使用

取模軟件網盤提取 鏈接&#xff1a;https://pan.baidu.com/s/1YYQo_tZNCXlo9uWVbtsNdg 提取碼&#xff1a;jfbr 74HC595芯片原理圖&#xff1a; 兩片595芯片級聯驅動點陣屏只需要三個IO口&#xff0c;串行入&#xff08;一次只能傳一個數據&#xff0c;S_CLK&#xff09;并行…