文档章节

SmartWatch2开发-开发者规范

c
 chenming
发布于 2013/12/06 18:23
字数 1546
阅读 135
收藏 1

行业解决方案、产品招募中!想赚钱就来传!>>>

原文地址

1. Sony SmartWatch产品详细规范

Sony SmartWatch产品是用来补充/扩展Android移动设备功能的配件。SmartWatch为触屏配件,使用蓝牙跟Android手机或平板通信。目前该产品包括SmartWatch(MN2)和SmartWatch 2(SW2)。

SmartWatch的图片

SmartWatch配置如下:

  • 振动器
  • 加速度计
  • 按钮(应用不可用)

SmartWatch的图片

SmartWatch 2配置如下:

  • 振动器
  • 加速度计
  • 光传感器
  • Action Key
  • 后退键
  • Home键(应用不可用)

注意:LED和Text to speech不可用于为SmartWatch 2开发的app

1、蓝牙通信 2、包括SmartWatch(MN2)和SmartWatch2(SW2)

SmartWatch配置: Vibrator, Accelerometer, Button(不可用于app) SmartWatch2配置: Vibrator, Accelerometer, Light sensor, Action key, Back key, Home key(不可用于app)

注意LED和Text to speech不可用于为SmartWatch 2开发的app

2. 硬件配置

<table> <tr> <td> 产品 </td> <td> SmartWatch </td> <td> SmartWatch 2 </td> </tr> <tr> <td> 屏幕类型 </td> <td> OLED, 16-bit </td> <td> TFT, 16-bit </td> </tr> <tr> <td> 分辨率 </td> <td> w:128px, h:128px </td> <td> w:220, h:176px </td> </tr>

</table>

3. API兼容性

<table> <tr> <td> 产品 </td> <td> SmartWatch </td> <td> SmartWatch 2 </td> </tr> <tr> <td> Control API v1.0 </td> <td> 支持 </td> <td> 支持 </td> </tr> <tr> <td> Control API v2.0 </td> <td>

</td>
<td>
支持
</td>

</tr> <tr> <td> Registration & Capabilities API v1.0 </td> <td> 支持 </td> <td> 支持 </td> </tr> <tr> <td> Registration & Capabilities API v2.0 </td> <td>

</td>
<td>
支持
</td>

</tr> <tr> <td> Notification API v1.0 </td> <td> 支持 </td> <td> 支持 </td> </tr> <tr> <td> Notification API v2.0 </td> <td>

</td>
<td>
支持
</td>

</tr> <tr> <td> Sensor API v1.0 </td> <td> 支持 </td> <td> 支持 </td> </tr> <tr> <td> Widget API v1.0 </td> <td> 支持 </td> <td>

</td>

</tr> </table>

1.针对SmartWatch

  • 不建议同时在Smart Extension App中使用Control API和Notification API,(由于某些原因??)当用户点击app图标时行为未定义
  • 对于使用了Notification API但没有使用Widget API的Smart Extension App,主app会自动创建一个widget。缺省时禁用了这个Widget,用户可以在主应用中启用。

2.SmartWatch2

  • 同时使用Notification API和Control API的Extension不支持指定launch mode。永远启动事件列表(??? 原文是 It will always launch the list of events, just as the original SmartWatch does)。 但仍然建议Extension设置launch mode(??? 不太明白, 为支持后续升级吗? )。当SmartWatch 2未来升级支持launch mode后,Extension的行为不会发生变化。新版本的Smart Extension API(2.0及以后版本)可以在未设置launch mode时指定缺省启动Extension的控制部分。
  • 使用Control API的Smart Extension同一时刻只能有一个可见的ListView或Gallery
  • SmartWatch 2中每个Extension可以最多可以存放并显示30个事件。
  • SmartWatch 2的振动器最小振动时间为250ms,最长可以持续振动6s。6s后振动器会自动停止以省电。

4. 电池

SmartWatch是高性能的智能配件,所以需要合理地使用电池。主应用和Sony Add-on SDK包含提供一些节省电量的功能。但Extension最好遵循以下建议:

  • 不必要时应避免发送大尺寸图片(发送缩略图即可)
  • 避免使用[Control.SCREEN_STATE_ON][] <!--TODO-->
  • 使用传感器时,当传感器状态变化时,仅使用SensorInterruptMode.SENSOR_INTERRUPT_ENABLED来接收传感器数据
  • 避免过度使用振动器

5. 传感器

使用传感器用SmartExtensionUtils.isSensorSupported()进行检查。可参考SampleSensorExtension参考这个方法的使用方法

6. 加速度计

加速度计仅可用于当前正在运行的Extension。如果屏幕熄灭,或按下power键,或者另一个Extension启动了,导致当前Extension暂停,那么加速度计将停止。

如果Extension仍然想接收到传感器数据,则需要使用SCREEN_STATE_ON, SCREEN_STATE_OFF或 SCREEN_STATE_DIM Intent

7. 后台进程

所有的Smart Extension app运行在service中。Android中的service为后台进程,而同时运行的后台进程数量是有限的,所以Android会停止最近未使用的进程。甚至当Smart Extension app在前台显示时这种情况也会发生。通常这不会是什么大问题因为Smart Extension app仅在前台并和用户直接交互很短的一段时间。另外,SmartExtensionUtils中提供方法用于Smart Extension app与用户交互时被停止掉时的恢复。

对需要长时间运行且不应被中止的Smart Extension app,可以使用Service.startForeground()方法来将后台进程变成前台进程。这么做的副作用是service在前台运行时状态栏会出现一个notification。

8. 在Play上发布

开发一款Extension后,当终端用户在SmartConnect中搜索兼容的应用时能被找到,可以增加曝光度。

为了更容易被搜索到,支持SmartWatch 2的应用最好在应用描述中增加以下内容:

Smart Connect extension for SmartWatch 2

9. 其他信息

这里讨论的是SmartWatch 2(略过了关于SmartWatch的,更多信息请参考原文)

显示

如果Extension同时使用Control API 和 Notification API,在SmartWatch 2上点击Extension的图标时会弹出Notification页面——即显示最近的Notification。虽然SmartWatch 2还不支持launch mode,但还是建议你在Extension注册时设置Extension的launch mode。这样可以防止未来SmartWatch 2升级(升级后可以支持完整的launch mode)时Extension的launch行为发生变化(未来缺省启动Extension的Control API部分)

Extension将其图片或布局发送到主应用,主应用会将图片和布局转换成配件支持的格式。

控制

Extension使用Control API来控制整个屏幕。为了能支持为SmartWatch写的应用,某些情况下使用Control API提供的显示数据(图片或布局)会被缩放。缩放过程对Extension来说是透明的。主应用自动缩放图片,触摸事件坐标等等,不会影响长宽比。缩放过程保证高度可以填满整个屏幕且正好水平居中。The scaling is triggered if the first display data sent by the Control API after it’s launched is positioned at (0,0) and the display data has a size of 128 x 128 pixels(????不清楚)当Extension不显示时缩放效果不再起作用。如果原始大小是220x176px,不会对显示数据进行任何缩放。

使用Control API的Extension, 可以支持touch(通过CONTROL_ TOUCH_ EVENT_ INTENT, CONTROL_ OBJECT_ CLICK_ EVENT_ INTENT, CONTROL_ LIST_ ITEM_ CLICK_ INTENT或者ControlExtension.onTouch()方法)和swipe手势(通过CONTROL_ SWIPE_ EVENT_ INTENT 或者 ControlExtension.onSwipe()方法)。

当使用布局来绘制时,一屏上同时可以显示的View最多为50个。

10. UI设计

见这个文档的第15页

c
粉丝 2
博文 59
码字总数 24719
作品 0
南宁
私信 提问
加载中
请先登录后再评论。
beego API开发以及自动化文档

beego API开发以及自动化文档 beego1.3版本已经在上个星期发布了,但是还是有很多人不了解如何来进行开发,也是在一步一步的测试中开发,期间QQ群里面很多人都问我如何开发,我的业余时间实在...

astaxie
2014/06/25
2.7W
22
极速博客引擎--Gor

gor 是使用 golang 实现的类Ruhoh静态博客引擎(Ruhoh like),基本兼容ruhoh 1.x规范. 相当于与ruhoh的官方实现(ruby实现), 有以下优点: 速度完胜 -- 编译wendal.net近200篇博客,仅需要1秒 安装...

wendal
2013/01/20
3.8K
0
Web开发组件管理器--Bower

Bower 是一个针对Web开发的包管理器。该工具主要用来帮助用户轻松安装CSS、JavaScript、图像等相关包,并管理这些包之间的依赖。 功能有些类似于Component。不同之处是,Component是围绕Git...

匿名
2013/02/01
1.2W
2
跨平台手机应用开发--Gideros

Gideros 可以让你轻松快速创建 iOS 和 Android 应用,提供用户友好的集成开发环境,内建模拟器对应用进行不同屏幕大小、分辨率下的测试,最大的优点是可即时修改代码即时进行测试,无需编译安...

匿名
2013/02/19
2.7K
0
Android3D应用与游戏开发框架--JQGL

JQGL 是一款针对Android设备上3D应用、游戏的开发框架。 核心功能是OpenGL-ES的使用框架,相对于大部分开发者而已,OpenGL是陌生的,没有专门研究无法进行相关的开发。 本框架针对于Android...

Jping
2013/02/21
1.6K
0

没有更多内容

加载失败,请刷新页面

加载更多

神经网络的经典结构是怎么设计出来的?

神经网络的经典结构是怎么设计出来的? 哈哈哈的回答-知乎 https://www.zhihu.com/question/392634888/answer/1391574322 很多神经网络的结构,确实是炼丹,没有什么道理可言。 有一些神经网...

吃着火锅
18分钟前
31
0
误删除flutter中的IOS文件夹如何恢复

今天在使用IOS真机调试app时,由于第一次使用xcode工具,一头蒙,所以误操作删除了targets下Runner,直接导致不能使用。 关键是找不到怎么恢复。如出现下图所示,都可以使用本方法解决。 图1...

学渣要逆袭
22分钟前
16
0
2021张宇考研数学全程班视频百度云

2021张宇考研数学全程班视频百度云资料链接:https://shimo.im/docs/xwSaKVXpLewxjT6x/ 公众号:小麦麦资料库

a先生gg
26分钟前
38
0
内存泄漏和内存溢出

1. 内存泄漏和内存溢出的概念 内存溢出: 是指程序运行过程中申请的内存大于系统能够提供的内存,导致无法申请到足够的内存。 内存泄漏:是指程序运行过程中分配内存给临时变量,用完之后没有...

加油加油再加油
41分钟前
25
0
SpringMvc如何获得前台传来的值

之前控制器方法获得前台传来的值有三种方式: 1.通过HttpServletRequest: @RequestMapping(value="/index1")public String helloaction1(HttpServletRequest request){     Syste......

文文1
48分钟前
19
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部