关于Ionic cordova 的一些基本问题

新建项目 -vx 表示指定第x个ionic版本

ionic start myAwesomeApp --vx
(不指定会提示使用哪个版本)

ionic创建项目报错Error: read ECONNRESET at _errnoException (util.js:992:11) at TLSWrap.onread (net.js:618:25)
–> 版本4.1.1 降级为3.9.1 !!!

tabs : a simple 3 tab layout
sidemenu: a layout with a swipable menu on the side
blank: a bare starter with a single page
super: starter project with over 14 ready to use page designs
tutorial: a guided starter project

开启ionic项目服务 浏览器可直接访问

ionic serve

添加ios平台

cordova platform add ios

添加android平台

cordova platform add android

编译ios

cordova build ios --prod --release

编译安卓

cordova build android --prod --release

ANDROID:

打包签名
产生签名:keytool -genkey -v -keystore [姓名].keystore -alias [姓名].keystore -keyalg RSA -validity 20000
>> keytool -genkey -v -keystore test.keystore -alias test -keyalg RSA -keysize 2048 -validity 10000
签名:jarsigner  -verbose   -keystore 密钥库存放的路径  -digestalg SHA1 -sigalg MD5withRSA  -signedjar   新apk的存放路径 未签名的apk路径 密钥库别名
>> jarsigner -verbose sigalg SHA1withRSA -digestalg SHA1 -keystore test.keystore app-release-unsigned.apk test

优化apk:
	zipalign -v 4 app-release-unsigned.apk test.apk

# 操作HAXM intel
kextstat | grep intel
sudo kextload –b com.intel.kext.intelhaxm
or
sudo kextload /Library/Extensions/intelhaxm.kext

sudo kextunload –b com.intel.kext.intelhaxm
or
sudo kextload /Library/Extensions/intelhaxm.kext

# avd
Create an AVD by running: /usr/local/lib/android-sdk-macosx/tools/android avd

IOS:

>platform >ios >myApp.xcodeproj(xcode打开) >usb手机 选择我的手机 >run
---------------------------------------------------------------------
Signing for "myApp" requires a development team. Select a development team in the project editor
>>>  需要购买开发者有权限 然后会生成签名文件 并验证开发者是属于有效的 然后就可以签名了

project 文件目录解释:

node_modules: 	node的各类依赖包
resources:	android ios 资源 图标 动画等
src:		开发主目录 页面 样式 脚本 图片也放在这个目录
	assets:	资源目录
	pages:	页面
	theme:	scss
www:		静态文件
paltforms:	生成android和ios的安装包路径
plugins:	插件文件夹 存放cordova安装的插件
config.xml:	配置文件
package.json:	node安装模块依据
tsconfig.json:	ts项目的根目录 指定用来编译这个项目的根文件和编译选项
tslint.json:	格式化和校验ts

ionic 进行数据交互部分

1. 需要创建provider来后去数据源 
	ionic g provider storage 自动创建一个名为storage的服务 在src/providers/storage/下
            # 注意 这个storage应该是受指定的 也就是不能随便创建服务 
            # 需要指出的是 这是个缓存的服务 类似于cookie 以便方便使用交互数据
            # 具体的使用方法需要自己定义在StorageProvider类中
		其实也就是get set方法 外加一个remove方法 当然还可以定义更复杂的使用方式
    2. 创建web api以便我们 与 服务端进行交互
	ionic g provider api 创建一个api目录在src/provider/api/
            # 与上类似 关于post请求和get请求需要定义在ApiProvider类中
	# 这里尚且写清楚吧:
		/ 定义公共访问服务的post和get处理方法
		@Injectable()
		export class ApiProvider {
			public headers = new Headers({'Content-Type':'application/json'});
			
			constructor(public http: Http) {
				console.log('Hello ApiProvider Provider');	
			}
			// get请求
			public get() {
				return new Promise((resolve, reject) => {
					this.http.get('get-url')
					  .subscribe((res:Response)=>{
						resolve(res.json())
					  }, err=>{
						console.dir(err);
						reject();
					});
				});
			}

			// post请求
			public post(data) {
				return new Promise((resolve, reject) => {
					this.http.post('post-url', data, {headers:this.headers})
					  .subscribe((res: Response) = > {
						resolve(res.json());
					  }, err => {
						console.dir(err)
						reject();
					});
				});
			}
		}

		/ 在需要使用数据交互的地方使用post和get方法
		1. import { ApiProvider } from '../../providers/api/api';
		2. 定义数据格式接口 这个接口应该专门由一个文件来定义 一个页面可能发送的数据请求不止一个
			interface Photo {
				albumId: number;
				id: number;
				title: string;
				url: string;
				thumbnailUrl: string;
			}
		3.案例给的这步是在构造函数的地方调一个init()函数 来确定是否需要重新登入
		4.定义具体的逻辑方法 并调用get 或者 post方法

关于ionic有用的插件:

网络监测:cordova-plugin-network-information
1.ionic cordova plugin add cordova-plugin-network-information
2.npm/cnpm install --save @ionic-native/network
客户端存储:cordova-sqlite-storage
1.cordova plugin add cordova-sqlite-storage --save
2.npm install –save @ionic/storage

关于node环境升级到v8以上,node-sass报错:

Error: Node Sass does not yet support your current environment: OS X 64-bit with Unsupported runtime
意思是node-sass不兼容node v8的版本 于是用下面的方式直接下载node-sass
npm i node-sass -D
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值