整个APP开发过程中遇到的问题及解决方案

数据采集

APP开发


浏览:602 次

开发过程和部分功能实现

1、 启动项目

Npm安装安装依赖关系

安装环境Cordova和Ionic CLI

离子服务启动项目

2、 关于包装

安装环境Android SDK

生成未签名的apk包ionic cordova build android--prod--release

生成密钥库文件keytool-genkey-v-keystore my release key keystore-alias alias_name-keyalg RSA-keysize 2048-validity 10000

签名(我目前使用第三方工具APKSign)

3、 关于开发过程

如果需要创建新页面,请使用离子g页面PageName命令创建组件和服务,这些组件和服务将自动添加到app.module中。

基本发展类似于vue。创建页面,引用您需要的组件或服务,然后进行开发。

使用离子提供的组分进行显影。如果您遇到垂直居中的问题,请注意重写样式是px(在整体更改为rem后不需要)

4、 关于布线

现在主页是主页。其他页面以推送模式进入,以弹出模式返回。localStorage中的menuClose变量控制主页是否显示菜单(默认情况下第一次不显示)

5、 关于服务

目前,该服务基本上只执行数据采集操作,返回的代码被判断为在页面中完成。稍后,您可以将判断代码作为公共函数写入服务中,然后只返回成功的数据。(待优化)

开发中遇到的问题

1、 启动页面和包装

解决启动页面长、屏幕白的问题:

在打包时使用离子cordova构建android——prod——release可以大大减少启动页面和打包后的体积。

增加启动静态页面的时间3000为3秒,可延长时间以避免出现白屏。

对于真实机器的错误“连接到服务器失败”,解决方法如下:

初步估计,这个问题是由于网络不好导致无法加载第三方文件造成的。搜索文档基本上有两种解决方案,一种是延长加载时间默认加载时间为30秒,可以修改为70秒,不会出现错误报告;另一个想法是减少要加载到索引文件中的内容,并将其重定向到新页面。第一个已成功实现,第二个报告重定向错误,但尚未成功解决。

关于启动页面和图标

只需修改图标。png,启动png,然后运行离子资源。

2、 关于菜单栏

菜单栏打包为一个组件,菜单组件单独编写并挂在主页下。(起初,它挂在app.html下,然后发现了问题。当app.html未登录时,登录后获得的个人信息将不会再次加载,导致菜单栏中没有个人信息数据)

3、 关于父零部件和子零部件之间的数据传输

将数据从父级传输到子级

父页<;/订单项目>

子页@Input()orderItemData;

子组件将数据传输到父页面

子页面@Output()private childOutput=new EventEmitter();

父页(childOuter)=“getChildData($event)”

父页调用子组件方法

首先在组件上添加<;订单项目#orderItem><;/订单项目>

添加@ViewChildren('orderItem')orderItems;声明子组件

然后用这个。orderItems调用子组件中的方法

4、 下拉加载和绝对定位FIXED之间的冲突

当使用离子刷新内容实现下拉加载时,如果页面上同时存在绝对定位为FIXED的元素,则它们的定位将受到影响。解决方案:

修改滚动内容的转换属性,下拉加载模块将自动成为滚动内容区域。由于其变换属性的影响,绝对定位无效。然而,修改没有成功。

将绝对定位的元素放在离子脂肪中,这是一个有固定位置的官方容器,但您必须保留一个<button ion fab>按钮</button>,否则将报告错误。离子脚注也可以放在其中,以解决与下拉加载冲突的问题。只需注意z索引。

5、 无rem自适应导致的对齐问题,如垂直居中

因为离子的许多成分是rem自适应的,但我的项目由于时间原因没有选择rem。这会导致后续垂直定心出现问题。解决方案如下:

躲藏