SmartWatch2開發-開發者規範

原文地址app

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開發的appcode

一、藍牙通訊 二、包括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>ip

</table>ci

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頁

相關文章
相關標籤/搜索