一.App开发概述

  • 1.Web App
    Web App开发,严格来说并不是一个App软件,只是一个web型的微网站。
    优点:开发时间短,兼容性强,方便系统移植。
    缺点:必须有网络的支持,用户体验度相对较差。
  • 2.Native App
    Nactive App开发,就是一个原生的App软件,其只要通过Java或Object-C来实现原生手机App软件。
    优点:原生App,用户体验度非常好,可以调用手机的底层软件。
    缺点:开发时间长,兼容性差,必须掌握Java或Object-C等编程语言。
  • 3.HyBrid App(混合式App)
    介于Web app,Native App这两者之间的App,开发时间短,成本低,可以调用手机的底层组件,方便移植,是目前以及未来App开发的流程趋势。

二.开发前准备

1.进入APICloud官网,登录账号。进入开发控制台
2.在开发控制台中,点击创建应用,选择Native创建一个app。比如:

3.使用TortoiseSVN进行将APICloud中的代码检出到本地文件夹中。

在这里由于是需要权限访问的,所以需要输入用户名和密码。如下所示:

三.整合Sublime Text3开发工具

1.下载Sublime Text3以及针对Sublime Text3的APICloud的插件。针对Sublime Text3的APICloud的插件可以在APICloud官网的文档中找到APP开发工具来下载
下载好之后如下所示:

3.整合APICloud插件到Sublime Text3插件库

  • 打开Sublime Text3插件库方式如下:

    点击浏览插件后就到了插件库之中。
  • 把APICloud的插件的四个文件夹复制粘贴到插件库中
    4.使用真机同步安装APP软件
  • 打开海马玩模拟器
  • 打开Sublime Text3
  • 在项目上鼠标右键真机同步
    运行效果如下图所示:

四.APP logo与引导页设置

1.APICloud平台
APICloud设计思想:云端一体
云:服务器(类似阿里云平台)
端:手机APP端
2.APP端设置


上传Icon实际上就是上传APPLogo。

五.自定义loader

按照第四大步操作完成之后,会发现进行真机同步后,模拟器并没有出现我们设置的Logo与引导页。这是什么原因呢?
如果在控制台设置了端设置,必须使用App loader,其设置才会生效。
目前只是在官方平台进行了设置,但是在本地中并没有进行设置。需要把服务器中已经设置好的功能打一个包放在本地App才会生效,把这一过程叫做App loader。
设置App loader
步骤一:

步骤二:编译Android自定义loader

步骤三:自定义loader和loader的版本号,下载后如下图所示:

步骤四:把load.apk放置于插件库中

  • 找到APICloud-loader
  • 进入appLoader目录,找到custom-loader(Android自定义loader库)
  • 创建App目录,根据widget id(App编号)
    步骤一:找到wedget id

    步骤二:在custom-loader目录下根据App编号创建一个文件夹,然后把我们下载的自定义loader放置于此目录中,如下图所示:

    步骤三:创建load.conf配置文件
    新建一个 ‘load.conf’ 文件(version - 自定义 Loader 版本号,packageName - 应用包名),格式如图:

    版本号如图:

    包名如图:

    步骤四:使用sublime进行真机同步。进行真机同步的具体流程参看官网:真机调试

六.App结构

七.重点目录与文件解析


css目录:样式文件目录(默认只有api.css)。
html目录:框架目录(windows窗体,frame窗体)。
image目录:图片目录。
script目录:JS目录(默认只有api.js)。
config.xml:核心配置文件。
index.html:App项目的核心入口文件。

八.App核心代码分析

1.入口文件index.html分析
①App项目必备meta标签

<!--响应式设计,最大缩放比例为1.0,>
<!--最小缩放比例为1.0,用户点击无法进行缩放,缩放比例为1.0,起始宽度等于设备宽度>
<meta name="viewport" content="maximum-scale=1.0,
minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0"/>
<!-禁止数字转拨号连接,禁止作为邮件连接,禁止事件操作,禁止跳转到地图>
<meta name="format-detection"
content="telephone=no,email=no,date=no,address=no">

②载入APICloud框架css样式表

 <!--框架api.css><link rel="stylesheet" type="text/css" href="./css/api.css" />

③载入APICloud框架js文件

<!--框架api.js>
<script type="text/javascript" src="./script/api.js"></script>

什么是APICloud框架?
APICloud 前端框架,包括 api.js 和 api.css。 api.css 处理不同平台浏览器的默认样式。 api.js是一个 JavaScript 库。是APICloud为混合移动开发定制的轻量JavaScript库。具有小巧高效的特性。很容易学习和使用。 使用APICloud前端框架需引入api.js和api.css文件。api.js、api.css 在创建APICloud 项目时自动创建。

④项目html代码分析

header为头部,main是中间的版本信息,footer为尾部时间显示。
2.分析核心JavaScript代码
①页面载入事件
在原生Js代码中,我们都是通过window.onload进行页面载入的,但是在App开发中,其实是通过apiready方法进行App页面的载入的。

 apiready = function(){}

②$api对象

var header = $api.byId('header');
以上代码相当于
var header=document.getElementById('header');

如何获取$api的信息?
参看官网手册APICloud前端框架

小提示:
Sublime Text3继承了APICloud插件后,自带代码提示功能,如果想编写$api独享中的相关方法,可以使用快捷键。
快捷方式为:apijs-提示信息

③状态栏沉浸式效果

  $api.fixStatusBar(header);


④获取位置以及宽高

 var headerPos = $api.offset(header);

$api与api的区别

特别说明:两者完全不同,$api对象是api.js框架中的命名空间。api对象是APICloud提供的api对象。
⑤打开frame窗体

 api.openFrame({name: 'main',url: 'html/main.html',bounces: true,rect: {x: 0,y: headerPos.h,w: 'auto',h: mainPos.h}});

属性说明:
name:窗体的名称(关闭时需要使用此参数)
url:文件的地址
bounces:是否可以弹动
rect:x横坐标,y纵坐标,w宽度,h高度。
⑥获取时间信息

   var year = $api.byId('year');year.innerHTML = new Date().getFullYear();

⑦分析html/main.html

Hybrid App基础知识相关推荐

  1. 【博学谷学习记录】超强总结,用心分享|移动app基础知识

    一.专题难点解析目录 1.字体图标特点 2.左手法则 3.animation属性 4.主轴侧轴对齐方式 二.个人总结 1.字体图标特点 (1)加载速度快 (2)兼容性高.几乎兼容所有主流服务器 (3) ...

  2. hybrid App cordova打包webapp PhoneGap

    Hybrid APP基础篇(一)->什么是Hybrid App APP三种开发模式--之--HybridApp解决方案 Hybrid App开发 四大主流平台分析 Hybrid App 开发模式 ...

  3. 手机APP开发之MIT Appinventor详细实战教程(九),工具箱的设计和MIT的基础知识讲解

    (一)APP功能介绍 这次我给大家介绍一个关于工具箱的App ,这个APP在逻辑方面较为简单.但是他的设计过程中包含了很多相关的知识,通过这篇文章,可以让大家很具体有直观的了解到这个编程软件的使用方法 ...

  4. 鸿蒙APP开发基础知识

    鸿蒙开发基础知识目录 DevEco Studio编辑器de使用 创建新项目 打开一个项目 新建一个文件夹 新建一个布局文件 新建一个Page Ability(Feature Ability) 配置Ab ...

  5. Android 基础知识+app测试权限问题

    Android 基础知识(权限篇)** 前言 ​ Android是一个开源的,基于Linux的移动设备操作系统,主要用于移动设备,如智能手机和平板电脑.Android是由谷歌及其他公司带领的开放手机联 ...

  6. 直播app开发基础知识汇总

    很多想进行直播app开发的朋友,可能并不太了解音视频软件开发基础知识,以下这篇文章来源网络,都是一些基础概念,转载与大家分享. 当然,这只是一篇基础知识文档,如果有需要更深度了解直播app开发知识的朋 ...

  7. 网络视频直播系统开发第一课,开发直播APP软件一定要懂的基础知识

    "网络视频直播系统怎么开发.有什么难点"这类文章实在是太难写了,因为开发直播APP软件需要至少全国用户能够跨平台流畅观看,这其中涉及到的点太多太复杂了,所以讲清楚网络视频直播系统怎 ...

  8. 移动端开发必备知识-Hybrid App

    简介 面试的时候小伙伴们有没有被问到过Hybrid App呢?不得不说了解Hybrid App是我们前端面试中的一个加分项.今天就跟随笔者的步伐让你彻底弄懂Hybrid App,让你就算没做过也能对面 ...

  9. android进阶3step2:Android App通信 ——端口号IP等网络基础知识扫盲

    网络操作基础知识 一.IP 地址和端口号 1) IP 地址用于在网络中唯一标识一台机器(通信实体),是一个 32 位整数,通常 用 4 个 0-255 的十进制数标识; 2) 端口号用于唯一标识通信实 ...

  10. Hybrid App开发实战

    Hybrid App开发实战 [引言]近年来随着移动设备类型的变多,操作系统的变多,用户需求的增加,对于每个项目启动前,大家都会考虑到的成本,团队成员,技术成熟度,时间,项目需求等一堆的因素.因此,开 ...

最新文章

  1. 技术图文:Python魔法方法之属性访问详解
  2. YOLOV3+window10+cuda8.0+cudnn6.0安装过程
  3. ginkgo测试介绍
  4. 处理错误:ORA-27101: shared memory realm does not exist
  5. C++ :常用文件、文件夹操作汇总
  6. Spring(2)bean注入--Set方法注入
  7. 怎么查看电脑内存和配置_电脑内存条如何选择?老司机带你如何选择电脑内存条...
  8. Swift之深入解析如何进行多重条件排序
  9. 数字后端——电源规划
  10. Oracle 索引的维护
  11. python十条建议_十条建议帮你提高Python编程效率
  12. OSGI-flex-blazeds通信
  13. leetcode - 1155. 掷骰子的N种方法
  14. python3 enumerate()函数笔记
  15. STM32F407 独立看门狗 个人笔记
  16. 为什么 MapReduce 再次流行起来了?
  17. 3_kicad 5.0_PCB计算器(稳压器,布线宽度,电气间距,传输线路,RF衰减器,颜色代码,电路板类别)...
  18. 华东师范大学《模式识别与机器学习》试题
  19. 医院机房服务器维护表,医院信息系统机房版.docx
  20. Android竖虚线绘制

热门文章

  1. comsol 低频电磁场案例(PDF版本)
  2. 软考——IP计算问题那点事
  3. Flash Cs4安装之后打不开(启动界面一闪而过)
  4. 直流电机驱动电路整理笔记
  5. 开关电源matlab仿真文件,基于PI控制方式的7A开关电源的MATLAB仿真.doc
  6. 市场调研思维导图模板
  7. wpd小波包分解_基于奇异值分解和小波包分解的故障检测
  8. 我的世界java版合成快捷键_我的世界常用快捷键指令大全 Minecraft必知的快捷键...
  9. 基于matlab的中值滤波算法浅析
  10. 盈建科中地震波_SIMQKE_GR、SeismoSignal、中国建筑抗震设计规范反应谱v1.0----时程分析地震波生成及分析必备软件...