- Sencha Touch 教程
- Sencha Touch - 首页
- Sencha Touch - 概述
- Sencha Touch - 环境
- Sencha Touch - 命名规范
- Sencha Touch - 架构
- Sencha Touch - MVC 解释
- Sencha Touch - 第一个应用
- Sencha Touch - 构建应用程序
- Sencha Touch - 迁移步骤
- Sencha Touch - 核心概念
- Sencha Touch - 数据
- Sencha Touch - 主题
- Sencha Touch - 设备配置文件
- Sencha Touch - 依赖项
- 环境检测
- Sencha Touch - 事件
- Sencha Touch - 布局
- Sencha Touch - 历史与支持
- Sencha Touch - 上传和下载
- Sencha Touch - 视图组件
- Sencha Touch - 打包
- Sencha Touch - 最佳实践
- Sencha Touch 有用资源
- Sencha Touch - 快速指南
- Sencha Touch - 有用资源
- Sencha Touch - 讨论
Sencha Touch - 原生 API
Sencha Touch 最大的优势在于它提供了包含原生 API 的打包功能。
Ext.device API 用于提供对不同原生 API 的访问。它充当一个包装器,可以进一步用于访问不同的 API,例如 Ext.device.Camera、Ext.device.Connection 等。
Ext.device 提供以下 API:
序号 | API 及描述 |
---|---|
1 |
Ext.device.Camera 此 API 允许您的应用程序拍摄照片并从相机图库访问图像。 |
2 |
Ext.device.Connection 此 API 用于检查设备是否已连接到互联网。 |
3 |
Ext.device.Notification 此 API 用于显示原生消息窗口。 |
4 |
Ext.device.Orientation 此 API 用于检查手机的方向,例如纵向或横向。 |
相机
此 API 允许使用设备相机拍摄照片,并授予访问手机图库中可用图像的权限。
要访问任何 API,我们需要使用 Ext.require('Ext.device.Camera') 来引入该 API。
以下代码用于使用此 API 拍摄照片。
Ext.device.Camera.capture({ source: 'camera', destination: 'file', success: function(url) { Ext.create('Ext.Img', { src: url, fullscreen: true }); } });
在上面的示例中,我们使用 source 作为相机来捕获图像。我们还可以将 source 设置为库来访问图库图像。
Success 是一个回调函数,在成功捕获图像时调用。如果图像未成功捕获,我们可以使用 failure 回调函数。
以上示例打开相机应用程序并拍摄照片。
连接
此 API 用于检查您的设备是否已连接到互联网。如今,几乎所有应用程序都需要互联网才能运行。因此,此 API 可用于进行预先检查,并在未连接网络时发送连接网络的通知。
以下程序显示了 Connection API 的用法
<!DOCTYPE html> <html> <head> <link href = "https://cdn.sencha.com/touch/sencha-touch-2.4.2/resources/css/sencha-touch.css" rel = "stylesheet" /> <script type = "text/javascript" src = "https://cdn.sencha.com/touch/sencha-touch-2.4.2/sencha-touch-all.js"></script> <script type = "text/javascript"> Ext.require('Ext.device.Connection'); Ext.application({ name: 'Sencha', launch: function() { if (Ext.device.Connection.isOnline()) { Ext.Msg.alert('You are currently connected'); } else { Ext.Msg.alert('You are not currently connected'); } } }); </script> </head> <body> </body> </html>
它将产生以下结果:
通知
此 API 用于显示通知,类似于 Ext.Msg,并带有多个按钮。
以下程序显示了通知 API 的工作原理。
<!DOCTYPE html> <html> <head> <link href = "https://cdn.sencha.com/touch/sencha-touch-2.4.2/resources/css/sencha-touch.css" rel = "stylesheet" /> <script type = "text/javascript" src = "https://cdn.sencha.com/touch/sencha-touch-2.4.2/sencha-touch-all.js"></script> <script type = "text/javascript"> Ext.require('Ext.device.Notification'); Ext.application({ name: 'Sencha', launch: function() { Ext.device.Notification.show({ title: 'Multiple Buttons', message: 'This is a notification with multiple buttons.', buttons: ["Yes", "No", "Cancel"], callback: function(button) { Ext.device.Notification.show({ message: 'You pressed: "' + button + '"' }); } }); } }); </script> </head> <body> </body> </html>
它将产生以下结果:
方向
此 API 显示当前设备的方向。以下示例显示当前方向。处理程序在检测到任何更改时注册它。
Ext.device.Orientation.on('orientation', function(e) { var alpha = Math.round(e.alpha), beta = Math.round(e.beta), gamma = Math.round(e.gamma); console.log(alpha, beta, gamma); });