Sencha Touch - APIs nativas
O melhor benefício do Sencha Touch é que ele fornece pacotes com APIs nativas.
A API Ext.device é usada para fornecer acesso a diferentes APIs nativas. Ele atua como um invólucro que pode ser usado para acessar diferentes APIs, como Ext.device.Camera, Ext.device.Connection, etc.
Ext.device fornece as seguintes APIs -
Sr. Não | API e descrição |
---|---|
1 | Ext.device.Camera Esta API permite que seu aplicativo clique em fotos e acesse imagens da galeria da câmera. |
2 | Ext.device.Connection Esta API serve para verificar se o dispositivo está conectado à internet ou não. |
3 | Ext.device.Notification Esta API é usada para mostrar a janela de mensagem nativa. |
4 | Ext.device.Orientation Esta API é usada para verificar a orientação do seu celular, como retrato ou paisagem. |
Câmera
Esta API permite clicar em fotos usando a câmera do dispositivo e concede acesso às imagens disponíveis na galeria do telefone.
Para acessar qualquer API, precisamos exigir essa API usando Ext.require ('Ext.device.Camera')
O código a seguir é usado para clicar em uma imagem usando esta API.
Ext.device.Camera.capture({
source: 'camera',
destination: 'file',
success: function(url) {
Ext.create('Ext.Img', {
src: url,
fullscreen: true
});
}
});
No exemplo acima, usamos a source como uma câmera para capturar imagens. Também podemos ter fonte como uma biblioteca para acessar as imagens da galeria.
Sucesso é uma função de retorno de chamada, chamada quando a imagem é capturada com sucesso. Podemos ter um retorno de chamada com falha quando a imagem não é capturada com sucesso.
O exemplo acima abre o aplicativo da câmera e clica em uma imagem.
Conexão
Esta API é usada para verificar se o seu dispositivo está conectado à Internet ou não. Quase todos os aplicativos requerem Internet para funcionar atualmente. Assim, esta API pode ser utilizada para verificação prévia e envio de notificação para conexão à rede, caso ainda não esteja conectada.
O programa a seguir mostra o uso da API Connection
<!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>
Isso produzirá o seguinte resultado -
Notificação
Esta API é usada para mostrar uma notificação como Ext.Msg, com vários botões.
O programa a seguir mostra como a API de notificação funciona.
<!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>
Isso produzirá o seguinte resultado -
Orientação
Esta API mostra a orientação do dispositivo atual. O exemplo a seguir mostra a orientação atual. O manipulador o registra, sempre que alguma alteração é detectada.
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);
});