混合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.mzph.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

解决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…

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、拉取镜像 …

从头学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;作为一个…

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;并行…

(Object-C)学习笔记(一)--开发环境配置和与c语言的区别

博主是大三快要实习的学生&#xff0c;作为软件技术专业的我认真的考虑了一下出路&#xff0c;认为去干起点低低java不如花点钱选择iOS。正好我也对iOS很感兴趣&#xff0c;虽然我赶不上08年之后的那一段互联网热潮&#xff0c;但是这一段时间互联网仍旧稳步发展&#xff0c;而…

MVC下实现LayUI分页的Demo

1、后台获取数据示例public JsonResult GetPageNew(int page,int pagesize){var list _context.ArticleInfo.Skip(page).Take(pagesize).ToList();return Json(new { data list, total list.Count });}2、View视图<head><meta charset"UTF-8"><tit…

使用docker安装elasticsearch

下载elasticsearch6.4.0的docker镜像: docker pull elasticsearch:6.4.0 修改虚拟内存区域大小&#xff0c;否则会因为过小而无法启动: sysctl -w vm.max_map_count262144 使用docker命令启动 docker run -p 9200:9200 -p 9300:9300 --name elasticsearch \ -e "discov…

中断系统详解、外部中断

51单片机各个引脚功能 IO口引脚&#xff1a; 中断系统的主要功能&#xff1a;处理随机突发事件 中断系统结构&#xff1a; 什么是中断系统&#xff1a; 数据的输入/输出传送方式&#xff1a; 中断传送方式特点&#xff1a; 51系统允许的5个中断源&#xff1a; 51单片…