vuzix developer conference - m100アプリ開発

44
C-LIS CO., LTD.

Upload: keiji-ariyama

Post on 16-Jul-2015

267 views

Category:

Technology


6 download

TRANSCRIPT

Page 1: Vuzix developer conference - M100アプリ開発

C-LIS CO., LTD.

Page 2: Vuzix developer conference - M100アプリ開発

VUZIX Developers Conference

2015/04/24

Page 3: Vuzix developer conference - M100アプリ開発

自己紹介

有山圭二

大阪市のソフトウェア開発会社「有限会社シーリス」の代表

3

Page 4: Vuzix developer conference - M100アプリ開発

Agenda

VUZIX M100について

アプリ開発準備

アプリ開発実践

質疑応答

4

Page 5: Vuzix developer conference - M100アプリ開発

VUZIX - M100

Page 6: Vuzix developer conference - M100アプリ開発

VUZIX - M100

6

Smart Glass

(www.vuzix.com より)

Page 7: Vuzix developer conference - M100アプリ開発

操作系

7

物理ボタン

片手で操作できるように本体のみに集約

Page 8: Vuzix developer conference - M100アプリ開発

方向キー

8

左 右

Page 9: Vuzix developer conference - M100アプリ開発

選択キー

9

Page 10: Vuzix developer conference - M100アプリ開発

バックキー

10

長押し

Page 11: Vuzix developer conference - M100アプリ開発

ホームキー

11

長押し

Page 12: Vuzix developer conference - M100アプリ開発

メニューキー

12

長押し

Page 13: Vuzix developer conference - M100アプリ開発

電源ボタン

13

Page 14: Vuzix developer conference - M100アプリ開発

カメラ

14

カメラ

LED

Page 15: Vuzix developer conference - M100アプリ開発

カメラスペック

カメラの数(Camera.getNumberOfCameras())は1

FEATURE_CAMERA_FRONT は false

オートフォーカス有り

15

Page 16: Vuzix developer conference - M100アプリ開発

撮影解像度(Height, Width)

1944, 25921728, 25921458, 25921296, 23041344, 22401440, 21601728, 21121536, 20481512, 2016

16

1600, 20001080, 19201200, 16001024, 1280864, 1152960, 1280720, 1280768, 1024480, 864

480, 640240, 432

Page 17: Vuzix developer conference - M100アプリ開発

搭載しているセンサー

Light Sensor

Proximity Sensor

Gesture Sensor

Rotation Vector Sensor

Gravity Sensor

Linear Acceleration Sensor

Orientation Sensor

Corrected Gyroscope Sensor

17

Page 18: Vuzix developer conference - M100アプリ開発

LightSensor / GestureSensor

18

Page 19: Vuzix developer conference - M100アプリ開発

その他

USBホストへの対応なし

19

Page 20: Vuzix developer conference - M100アプリ開発

M100 - アプリ開発準備

Page 21: Vuzix developer conference - M100アプリ開発

adbから認識

21

http://www.vuzix.jp/dev/setting-for-adb.html

Page 22: Vuzix developer conference - M100アプリ開発

ドライバーのインストール (Windows)

[Google.NTamd64]

; ... [Google.NTamd64]の最後に以下の行を追加する ...

;Vuzix M100

%SingleBootLoaderInterface% = USB_Install, USB\VID_1BAE&PID_01A9

%SingleAdbInterface% = USB_Install, USB\VID_1BAE&PID_01A9

%CompositeAdbInterface% = USB_Install, USB\VID_1BAE&PID_01A9&MI_01

%SingleBootLoaderInterface% = USB_Install, USB\VID_1BAE&PID_01B2

%SingleAdbInterface% = USB_Install, USB\VID_1BAE&PID_01B2

%CompositeAdbInterface% = USB_Install, USB\VID_1BAE&PID_01B2&MI_01

%SingleBootLoaderInterface% = USB_Install, USB\VID_1BAE&PID_01AF

%SingleAdbInterface% = USB_Install, USB\VID_1BAE&PID_01AF

%CompositeAdbInterface% = USB_Install, USB\VID_1BAE&PID_01AF&MI_01

22

extras\google\usb_driver/android_winusb.inf

Page 23: Vuzix developer conference - M100アプリ開発

ドライバーのインストール (Windows)

[Google.NTx86]

; ... [Google.NTx86]の最後に以下の行を追加する ...

;Vuzix M100

%SingleBootLoaderInterface% = USB_Install, USB\VID_1BAE&PID_01A9

%SingleAdbInterface% = USB_Install, USB\VID_1BAE&PID_01A9

%CompositeAdbInterface% = USB_Install, USB\VID_1BAE&PID_01A9&MI_01

%SingleBootLoaderInterface% = USB_Install, USB\VID_1BAE&PID_01B2

%SingleAdbInterface% = USB_Install, USB\VID_1BAE&PID_01B2

%CompositeAdbInterface% = USB_Install, USB\VID_1BAE&PID_01B2&MI_01

%SingleBootLoaderInterface% = USB_Install, USB\VID_1BAE&PID_01AF

%SingleAdbInterface% = USB_Install, USB\VID_1BAE&PID_01AF

%CompositeAdbInterface% = USB_Install, USB\VID_1BAE&PID_01AF&MI_01

23

extras\google\usb_driver/android_winusb.inf

Page 24: Vuzix developer conference - M100アプリ開発

注意

24

Windows 8の場合、「ドライバー署名の強制」を

無効に設定する必要がある

Page 25: Vuzix developer conference - M100アプリ開発

USBケーブルで接続

充電専用ケーブルでないことを確認する

25

Page 26: Vuzix developer conference - M100アプリ開発

add-onの追加

Android SDKのディレクトリのadd-onsに、

addon-m100-vuzix-15

を、追加。

26

Page 27: Vuzix developer conference - M100アプリ開発

# SDK Add-on Manifest.

name=M100 Development Kit name-id=vuzix_m100 vendor=Vuzix Inc. vendor-id=vuzix description=M100 Development Kit

# Version of the Android platform on which this add-on is built. api=15

# Revision of the add-on. revision=1

usb-vendor=0x1bae

manifest.ini

Page 28: Vuzix developer conference - M100アプリ開発

Addon.NameDisplay=M100 Development kit Addon.NameId=vuzix_m100 Addon.VendorDisplay=Vuzix Inc. Addon.VendorId=vuzix AndroidVersion.ApiLevel=15 Pkg.Desc=Vizix Development Kit Pkg.Revision=1

source.properties

Page 29: Vuzix developer conference - M100アプリ開発

$ android update adb

adb_usb.iniを更新

[ANDROID_SDK]\tools\android

Page 30: Vuzix developer conference - M100アプリ開発

# ANDROID 3RD PARTY USB VENDOR ID LIST -- DO NOT EDIT. # USE 'android update adb' TO GENERATE. # 1 USB VENDOR ID PER LINE.

adb_usb.ini

DO NOT EDIT

Page 31: Vuzix developer conference - M100アプリ開発

M100 - アプリ開発実践

Page 32: Vuzix developer conference - M100アプリ開発

Prompter

32

Page 33: Vuzix developer conference - M100アプリ開発

Prompter

33

Page 34: Vuzix developer conference - M100アプリ開発

public class MainActivity extends Activity {

@Override

public boolean onKeyDown(int keyCode, KeyEvent event) {

return super.onKeyDown(keyCode, event);

}

}

操作系の設計

Page 35: Vuzix developer conference - M100アプリ開発

方向キー

35

KEYCODE_DPAD_RIGHTKEYCODE_DPAD_LEFT

Page 36: Vuzix developer conference - M100アプリ開発

選択キー

36

KEYCODE_ENTER

Page 37: Vuzix developer conference - M100アプリ開発

戻るキー

37

KEYCODE_BACK

Page 38: Vuzix developer conference - M100アプリ開発

操作系の設計

アクションバーはなし

タッチパネルもなし

複雑な操作(スワイプなど)は排除

D-padで操作できるように作る

(Android TVに近い)

38

Page 39: Vuzix developer conference - M100アプリ開発

Bluetoothキーボード

i Remote Shutter

39

Page 40: Vuzix developer conference - M100アプリ開発

画面の設計

ディスプレイの周辺部は視認性が落ちる

40

Page 41: Vuzix developer conference - M100アプリ開発

外部メディア(SDカード)の取り扱い

SDカードのパスが/mnt/ext_sdcard

Environment.getExternalStorageState()が常に"mounted"

41

Page 42: Vuzix developer conference - M100アプリ開発

public static File getDir(Context context) {

File dir = new File("/mnt/ext_sdcard"); try { File test = new File(dir, "test"); test.createNewFile(); test.deleteOnExit();

dir = new File(dir, DIR_NAME); } catch (IOException e) { dir = context.getDir(DIR_NAME, Context.MODE_PRIVATE); } return dir; }

外部メディア(SDカード)の取り扱い

Page 43: Vuzix developer conference - M100アプリ開発

画面のプレビュー

Android Screen Monitor

43

http://www.adakoda.com/adakoda/android/asm/

Page 44: Vuzix developer conference - M100アプリ開発

C-LIS CO., LTD.

各製品名・ブランド名、会社名などは、一般に各社の商標または登録商標です。 本資料中では、©、®、™を割愛しています。

本資料は、有限会社シーリスの著作物です。 本資料の全部、または一部について、著作者から文書による許諾を得ずに複製することは禁じられています。