Kendo UI开发教程(27): 移动应用开发简介

2023-11-03



Kendo UI 支持开发Web应用,前面介绍的SPA,也支持开发移动应用,至于使用 HTML5 + JavaScript + CSS开发移动是不是一个好的选择不在本文的讨论之中。Kendo UI Mobile提供了一种快速开发跨手机平台的方法(Kendo UI可以使得这种Web应用在界面上看起来和本地应用非常类似)。如果你的移动应用需要数据的支持,了解一些JSON方面计的知识也是必须的。
借助于PhoneGap 等工具可以HTML5打包成移动平台的本地应用,并支持使用JavaScript访问一些平台相关的功能,如GPS,Camera等功能,有兴趣的可以参考相关文档。

下面三点为构成Kendo 移动应用的几个组成部分:

  1. Application: Kendo 移动应用的主应用类,用来管理应用部分部分之间切换,应用页面历史,加载View以及其它一些重要的移动应用相关的任务。
  2. Layout: 定义移动应用UI的布局,类似于Web应用的MasterPage,主要可以用来定义不同View之间一些公用的部分,比如菜单。
  3. Views: 移动应用的每个页面,每个应用包含一个或多个页面。

Layouts 和 View 使用HTML来定义,而Application 为JavaScript。 下面的步骤给出了编写Kendo UI移动应用的基本步骤。

第一步: 创建HTML页面

Kendo UI移动应用可以使用简单的HTML页面来创建,这里我们创建一个简单的index.html 如下:

1 <!DOCTYPE html>
2 <html>
3 <head>
4     <title>My App</title>
5     <!--TODO: Add CSS links-->
6 </head>
7 <body>
8  
9     <!--TODO: Add JavaScript referneces-->
10 </body>
11 </html>

第二步:添加Kendo UI Mobile的引用

添加Kendu UI Mobile CSS和Javascript的引用。

1 <!DOCTYPE html>
2 <html>
3 <head>
4     <title>My App</title>
5  
6     <link href="css/kendo.mobile.all.min.css" rel="stylesheet" />
7 </head>
8 <body>
9  
10     <script src="js/jquery.min.js"></script>
11     <script src="js/kendo.all.min.js"></script>
12 </body>
13 </html>

第三步:定义应用布局文件

Layout为应用UI的模板,应用所有的View的内容都使用模板来显示,一个Layout可以包含任意的内容,通常它包含有标题头和任务栏。比如下面的Layout:

1 <!DOCTYPE html>
2 <html>
3 <head>
4     <title>My App</title>
5  
6     <link href="css/kendo.mobile.all.min.css" rel="stylesheet" />
7 </head>
8 <body>
9     <section data-role="layout" data-id="default">
10         <header data-role="header">
11             <div data-role="navbar">My App</div>
12         </header>
13         <!--View content will render here-->
14         <footer data-role="footer">
15             <div data-role="tabstrip">
16                 <a href="#home">Home</a>       
17             </div>
18         </footer>
19     </section>
20  
21     <script src="js/jquery.min.js"></script>
22     <script src="js/kendo.all.min.js"></script>
23 </body>
24 </html>

代码中使用data-role属性,这个属性用来建立HTML和Kendo UImobile 库之间的联系。因此

1 <section data-role="layout" data-id="default">

在应用初始化时,这部分定义将转换为Layout定义。 data-id为该Layout的id,后面定义的view 可以通过这个id来引用某个layout.
最后,为完整起见,这段代码还使用了NavBar和TabStrip两个用在移动应用中的UI组件。

第四步:构造View

创建好Layout之后,应用至少要创建一个View用来显示,大部分应用包含有多个View,这里我们创建一个简单的View如下:

1 <!DOCTYPE html>
2 <html>
3 <head>
4     <title>My App</title>
5  
6     <link href="css/kendo.mobile.all.min.css" rel="stylesheet" />
7 </head>
8 <body>
9     <div id="home" data-role="view" data-layout="default">
10         Hello Mobile World!
11     </div>
12  
13     <section data-role="layout" data-id="default">
14         <header data-role="header">
15             <div data-role="navbar">My App</div>
16         </header>
17         <!--View content will render here-->
18         <footer data-role="footer">
19             <div data-role="tabstrip">
20                 <a href="#home">Home</a>       
21             </div>
22         </footer>
23     </section>
24  
25     <script src="js/jquery.min.js"></script>
26     <script src="js/kendo.all.min.js"></script>
27 </body>
28 </html>

View定义使用data-role属性“view”, data-layout定义使用那个layout.

第五步:初始化移动应用

前面定义了一些HTML元素,还没有使用任何JavaScript,使用下面一行代码,可以使得前面定义的HTML变得和本地应用类似:

1 <script>
2     var app = new kendo.mobile.Application();
3 </script>

20130825007

这样一个简单的移动应用就出现了,Kendo UI缺省情况下使用iOS 界面(如上图),在手机上运行会根据手机平台的不同选择合适的界面风格,你也可以通过指定平台类型,比如:

1 <script>
2     var app = new kendo.mobile.Application(document.body,
3     {
4         platform:'android'
5     });
6 </script>

来测试你的应用在不同平台上显示,也可以根据平台的不同,对应用做些调整,比如:

1 <div data-role="layout" data-id="foo" data-platform="ios">
2     <div data-role="header">iOS App</div>
3 </div>
4  
5 <div data-role="layout" data-id="foo" data-platform="android">
6     <div data-role="header">Android App</div>
7 </div>

注意的是data-platform属性目前只支持在layout中使用。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Kendo UI开发教程(27): 移动应用开发简介 的相关文章

随机推荐

  • LeetCode题解——42.连续子数组的最大和(动态规划思想)

    题目地址 剑指 Offer 42 连续子数组的最大和 力扣 LeetCode 一 解题思路 在这道题中 数组连续是一个很重要的信息 我们可以创建一个数组用于记录每一位对应的最大值 所谓每一位的最大值 意思就是以这一位为结尾的数组的最大值 那
  • 面试过程中会遇到的机器学习教科书中 7 大经典问题

    如果希望了解机器学习 或者已经决定投身机器学习 你会第一时间找到各种教材进行充电 同时在心中默认 书里讲的是牛人大神的毕生智慧 是正确无误的行动指南 认真学习就能获得快速提升 但实际情况是 你很可能已经在走弯路 科技发展很快 数据在指数级增
  • SQL Server 基础语法2(超详细!)

    文章目录 选择数据库school 查询所有学生的学号 姓名和年龄 查询结果列项是中文名 查询 计算机 系的所有学生的基本信息 查询所有女同学的姓名及所在的系 显示结果不允许重复出现 查询课程号不为 1 4 或 7 的课程的信息 查询课程号不
  • 处理Matlab Coder之后, Compiler can't find "tmwtypes.h"问题

    作为一个强大的科学计算软件 matlab广泛应用于较多领域 以其简单的编程风格 便利的调试环境等众多优点 在编写算法与测试的时候通常用到 然而很多的实际运用上matlab毕竟还不是很普及 相反还是c与c 更多 同时正版matlab这样一个昂
  • Hive表的分区与分桶

    1 Hive分区表 Hive使用select语句进行查询的时候一般会扫描整个表内容 会消耗很多时间做没必要的工作 Hive可以在创建表的时候指定分区空间 这样在做查询的时候就可以很好的提高查询的效率 创建分区表的语法 create tabl
  • 论文阅读记录: Automatic Image Colorization sig16

    sig论文阅读记录 Let there be Color Joint End to end Learning of Global and Local Image Priorsfor Automatic Image Colorization
  • JSP、servlet运行原理

    一 jsp和servlet的区别 servlet是用Java编写的服务器端程序 其主要功能在于交互式地浏览和修改数据 生成动态Web内容 狭义的Servlet是指Java语言实现的一个接口 广义的Servlet是指任何实现了这个Servle
  • es-5数据同步

    向ES里面添加数据 logstash kabina javaapi restful api 重点介绍一下logstash 是一个数据同步工具 可以动态地将来自不同数据源的数据统一起来 并将数据标准化到其他任何数据源 其实最常见的使用场景是将
  • 思考::战略藐视:RTOS 高级多任务调度器 (***)

    战略藐视 RTOS 高级任务调度器 压力大 将 RTOS 视为操作系统 则似乎有很大的学习心里压力 复杂 耗时 有难度 减压 将它们视为是 某种 高级多任务调度器 来学习 就好了 这样似乎就简单了 心里压力也就小了 或者 将它们视为是 某种
  • 基于Python生成Markdown的标题序号

    import sys import os import time import re headline title sign list 用于判断标题产生环境 titles added number 保存嵌入了编号的标题 用于产生新编号 is
  • Java的内部类

    学习笔记 内部类 内部类访问特点 1 内部类可以直接访问外部类中的成员 2 外部类要访问内部类 必须建立内部类的对象 一般用于类的设计 分析事物时 发现该事物描述中还有事物 而且这个事物还在访问被描述事物的内容 这时就是 还有的事物 定义成
  • iOS进阶_多线程(二.线程间的状态)

    ViewController m 004 NSThread状态 Created by mac on 2018 4 27 Copyright 2018年 mac All rights reserved import ViewControlle
  • TencentOS-tiny 时间管理(十 六)- 时间片轮转机制

    一 时间管理 时间片轮转机制 概述 TencentOS tiny操作系统内核是一个抢占式内核 抢占式内核的特点是 如果最高优先级的任务不放弃CPU 调用tos task delay tos task yeild等主动放权 或者任务间同步通信
  • 深度学习:不平衡的二分类,precise与recall

    在不平衡的二分类问题中 一般数量较少的样本标签为1 precise 预测为正样本中真实为正样本的比例 recall 真实为正样本中预测为正样本的比例 f1 score precise与recall的调和平均 两者中较小值的起决定性作用
  • 配置防火墙,开启80端口、3306端口 & iptables 使用详解

    1 配置防火墙 开启80端口 3306端口 vi etc sysconfig iptables A INPUT m state state NEW m tcp p tcp dport 80 j ACCEPT 允许80端口通过防火墙 A IN
  • GIT常用命令大全——赶紧收藏

    史上最全的GIT常用命令都在这里啦 全是干货 建议收藏起来 反复观看 一 git安装后 指定名称和邮箱 git config global user name Your Name git config global user email e
  • Linux cache介绍及控制

    有关Cache 文件缓存是提升性能的重要手段 毋庸置疑 读缓存 Read caching 在绝大多数情况下是有益无害的 程序可以直接从RAM中读取数据 而写缓存 Write caching 则相对复杂 Linux内核将写磁盘的操作分解成了
  • salt 服务器信息收集,使用saltstack自定义模块获取服务器的信息

    1 查看MASTER的BASE路径 在对应的路径建立 modules文件夹 存放 py的模块 root v72 modules cat etc salt master grep file roots A 5 file roots base
  • c语言 学生成绩信息综合管理系统(包含文件写入读出,链表,冒泡排序....)

    include
  • Kendo UI开发教程(27): 移动应用开发简介

    Kendo UI 支持开发Web应用 前面介绍的SPA 也支持开发移动应用 至于使用 HTML5 JavaScript CSS开发移动是不是一个好的选择不在本文的讨论之中 Kendo UI Mobile提供了一种快速开发跨手机平台的方法 K