`
rensanning
  • 浏览: 3546012 次
  • 性别: Icon_minigender_1
  • 来自: 大连
博客专栏
Efef1dba-f7dd-3931-8a61-8e1c76c3e39f
使用Titanium Mo...
浏览量:38097
Bbab2146-6e1d-3c50-acd6-c8bae29e307d
Cordova 3.x入门...
浏览量:607097
C08766e7-8a33-3f9b-9155-654af05c3484
常用Java开源Libra...
浏览量:682039
77063fb3-0ee7-3bfa-9c72-2a0234ebf83e
搭建 CentOS 6 服...
浏览量:89205
E40e5e76-1f3b-398e-b6a6-dc9cfbb38156
Spring Boot 入...
浏览量:401676
Abe39461-b089-344f-99fa-cdfbddea0e18
基于Spring Secu...
浏览量:69652
66a41a70-fdf0-3dc9-aa31-19b7e8b24672
MQTT入门
浏览量:91647
社区版块
存档分类
最新评论

使用Titanium Mobile开发iPhone/Android应用(08)- 加速度传感器的使用

阅读更多
获取Gesture :

首先不是直接的取得加速度传感器的值,而是通过获取Gesture之后进行操作。

当我们握紧iPhone设备,左右稍微摇晃手机,运行中的应用处理就会停止。像这样的应用有很多。在标准的MMS等应用里,写信息的过程中,摇晃手机后,就会调用Gesture弹出来是否取消编辑信息的确认对话框。


我们也试着将这个功能编写到Twitter的客户端中去。在message_window.js中追加以下代码。
Titanium.Gesture.addEventListener(
    'shake',
    function(){
        var alertDialog = Titanium.UI.createAlertDialog(
            {
                title: '取消输入吗?',
                buttonNames: ['取消输入', '继续编辑'],
            }
        );
        alertDialog.addEventListener(
            'click',
            function(e) {
                if (e.index == 0) {
                    win.close();
                }
            }
        );
        alertDialog.show();
    }
);


进行Gesture时的处理中,Titanium.Gesture对象的addEventListener方法的'shake'事件中进行事件监听的登录。

这样取消编辑就能够通过Gesture实现了。一定要在真机上试试。如果使用的是模拟器,可以点击菜单的「Hardware」→「Shake Gesture」来模拟震动的Gesture了。

这回我们不使用这个功能,代替shake我们使用orientationchange事件来登录监听,处理当画面的方向变成横着或者竖着的时候的事件。

取得加速度传感器的值

下来我们试着直接取得加速度传感器的值,速度传感器的值指的是x, y, z3个轴的值。传感器的值和iPhone的姿势的对应以下网站有相应的图:
http://blog.digitalagua.com/2008/07/15/accelerometer-xyz-based-on-iphone-position/


这里和Twitter连接稍微有些不当,我们试着编写当有人碰到手机的时候发送信息。一般,iPhone向上平放的时候,加速度的值中Z轴基本是-1.0。重力加速度的值。如果有人もし誰かが拿起iPhone,在拿起的时候,加速度的值比-1.0稍微小一些。考虑到误差,当绝对值比1.1大的时候,发送信息。

function postByAccelerometer(e) {
    if ( Math.abs(e.z) > 1.1 ) {
        accEnabled = false;            
        Ti.Accelerometer.removeEventListener('update',postByAccelerometer);
        tweet('接触iPhone!');
    }
}

var accEnabled = false;
var accButton = Ti.UI.createButton(
    {
        top: 160,
        left: 190,
        width: 44,
        height: 44,
        title: 'Acc'
    }
);
accButton.addEventListener(
    'click',
    function () {
        if (accEnabled) {
            alert('设置为无效!');
            accEnabled = false;            
            Ti.Accelerometer.removeEventListener('update',postByAccelerometer);
        } else {
            alert('设置为有效!');
            accEnabled = true;
            Ti.Accelerometer.addEventListener('update',postByAccelerometer);
        }
    }
);
win.add(accButton);


加速度传感器值的获取,是通过Titanium.Accelerometer对象的addEventListener方法,在'update'事件中设置监听。事件监听设置后就一直能获取到加速度传感器的值,所以在没有必要获取加速度传感器值的时候,删除该监听。传递给事件监听的对象e中,x, y, z轴的加速值,可以通过e.x, e.y, e.z取到。

在上边的例子中,首先作成一个按钮(accButton)当点击这个按钮,在回调函数中进行事件监听的设置和删除。

安装到真机

在iOS Developer Program注册之后,就能够作成Provisioning文件,具体方法可以参考资料。作成过程中,通过Provisioning Portal作成的AppID和Titanium设定的Application ID应该一致。

在「Run on Device」Tab中设定已经取得的Provisioning Profile设定完成后,通过USB线连接iPhone,按下【Install Now】开始安装。



这时,只是Titanium应用的右上角的的信息在变,编译需要很长的时间,慢慢等待。如果编译中途停止的话,注意一下几点:

-iPhone的iOS版本和SDK的版本是否符合
-SDK的版本比较旧的话不能安装
-只有iPhone的版本比较旧的话可以
-Provisionig Profile的AppID和Titanium的Application ID是否符合

成功编译完成后,首先在iTunes的应用一览中可以看到作成的应用。通过USB线将iPhone连接后,自动的sync开始后就能将编译的应用安装的iPhone中。

  • 大小: 86.6 KB
  • 大小: 46.1 KB
  • 大小: 69 KB
分享到:
评论

相关推荐

    sublimetext-tita, Tita Titanium Mobile/Alloy sublime text 2插件.zip

    sublimetext-tita, Tita Titanium Mobile/Alloy sublime text 2插件 这个插件不再主动地维护 ***因为我不再使用 st2/st3 。 有人对 fork 感兴趣并维护它?替代插件:...

    Titanium Mobile API

    Titanium Mobile API 是一款由 Appcelerator 公司提供的用于跨平台移动应用开发的强大工具包。该工具允许开发者使用 JavaScript 编写应用程序,并通过一套统一的 API 接口访问原生移动设备功能,如 GPS 定位、摄像头...

    Titanium中Httpclient访问REST 服务

    Titanium是一款JavaScript开发的开源移动应用框架,它允许开发者使用JavaScript编写原生iOS和Android应用。在Titanium中,我们可以通过HTTPClient模块来发送HTTP请求,与RESTful Web服务进行通信。REST...

    Android-titanium_mobile.zip

    Android-titanium_mobile.zip,带有javascript的本地ios、android和windows应用程序,安卓系统是谷歌在2008年设计和制造的。操作系统主要写在爪哇,C和C 的核心组件。它是在linux内核之上构建的,具有安全性优势。

    TITANIUM智能手机应用开发教程

    ### TITANIUM智能手机应用开发教程知识点概览 #### 一、TITANIUM系统简介与特点 **TITANIUM系统**是一种基于云的移动应用程序开发平台,它支持跨平台开发,允许开发者使用JavaScript来编写原生移动应用程序。...

    Titanium Mobile SDK 3.1.0 Apidoc 离线版

    Titanium Mobile SDK 3.1.0 是一个用于构建原生移动应用的开发工具,尤其针对iOS和Android平台。这个版本的Apidoc是开发者的重要参考资料,它包含了完整的API文档,帮助开发者理解并使用Titanium框架的各种功能。...

    TitaniumMobile开发跨平台iOS和Android应用

    Titanium Mobile为开发者提供了一种高效的跨平台移动应用开发方式。通过使用JavaScript,开发者能够快速构建功能丰富的应用程序,并且能够在iOS和Android两个主要平台上运行。虽然存在一些局限性,但总体而言,...

    Titanium使用JavaScript来开发原生iOSAndroid和Windows应用

    Titanium是一个开源的移动开发框架,它允许开发者使用JavaScript语言来构建原生的iOS、Android以及Windows应用程序。这个框架的核心理念是提供一个跨平台的解决方案,让开发者可以用一种语言编写代码,然后在多个...

    前端开源库-node-titanium-sdk

    总之,`node-titanium-sdk`是前端开发者进入跨平台移动应用开发领域的强大工具,结合Node.js的生态系统,它提供了一条高效的开发路径,让开发者可以用熟悉的JavaScript技术创建高性能、多平台的应用。

    [Titanium] Appcelerator Titanium 移动应用开发教程 (英文版)

    [Packt Publishing] Appcelerator Titanium 移动应用开发教程 (英文版) [Packt Publishing] Creating Mobile Apps with Appcelerator Titanium (E-Book) ☆ 图书概要:☆ Develop fully-featured mobile ...

    Mobile-UXSDK-Android:DJI Mobile UXSDK是一套与产品无关的UI对象,可使用DJI Mobile SDK快速跟踪Android应用程序的开发

    UX SDK是一套与产品无关的UI对象,可使用快速跟踪Android应用程序的开发。 另外,请查看的新开放源代码版本。 一体化 通过Maven声明依赖项: < groupId>com.dji</ groupId> < artifactId>dji-uxsdk</ ...

    适用于封隔器,保护器,混淆器和奇数的Android应用程序标识符-适用于Android的PEiD-Android开发

    有关此工具的用途的更多信息,请查看:Android编译器指纹技术,使用APKiD检测盗版和恶意Android应用APKiD:适用于Android应用的PEiD安装pip install --upgrade wheel pip wheel --wheel-dir = / tmp / yara-python -...

    Titanium plugin开发初探

    在移动应用开发领域,Titanium 是一个流行的选择,它允许开发者使用 JavaScript 来构建原生的 iOS 和 Android 应用。Titanium 的核心理念是通过跨平台的 JavaScript API 提供与原生功能的无缝对接,而插件开发则是这...

    jasmine-titanium:Jasmine Spec框架与Appcelerator Titanium Mobile的集成

    贾米钛 这将JavaScript BDD框架带到了Titamium Mobile。 入门 制作目录并获取Jasmine Titanium cd Resources mkdir spec lib vendor cd vendor git clone ... Titanium Mobile 1.7.2或更高

    Titanium中文版开发手册

    Titanium中文版开发手册是一份专门为中文用户编译的开发者指南,旨在帮助熟悉中文的开发者充分利用Titanium框架进行移动应用的开发。Titanium是一个开源的JavaScript平台,允许开发者使用JavaScript、HTML和CSS来...

    使用Titanium来开发“Path”的一些创新UI布局 - 左右菜单

    在移动应用开发领域,Tiitanium 是一个强大的框架,它允许开发者使用 JavaScript 来构建原生的 iOS 和 Android 应用。这篇博客“使用Titanium来开发“Path”的一些创新UI布局 - 左右菜单”可能探讨了如何利用 ...

Global site tag (gtag.js) - Google Analytics