Google glass Google Glass GDK Hello World沉浸式活动

Google glass Google Glass GDK Hello World沉浸式活动,google-glass,google-gdk,Google Glass,Google Gdk,步骤,我已经用它创建了我的第一个googleglass-GDKApp 新项目应用名称,公司域下一步Glass(Glass Development Kit Preview(Google Inc.)(API 19))下一步沉浸式活动 沉浸式活动。java: public class ImmersionActivity extends Activity { /** * {@link CardScrollView} to use as the main content view.

步骤,我已经用它创建了我的第一个
googleglass-GDK
App

新项目
应用名称,公司域
下一步
Glass(Glass Development Kit Preview(Google Inc.)(API 19))
下一步
沉浸式活动

沉浸式活动。java:

public class ImmersionActivity extends Activity {

    /**
     * {@link CardScrollView} to use as the main content view.
     */
    private CardScrollView mCardScroller;

    private View mView;

    @Override
    protected void onCreate(Bundle bundle) {
        super.onCreate(bundle);

        mView = buildView();

        mCardScroller = new CardScrollView(this);
        mCardScroller.setAdapter(new CardScrollAdapter() {
            @Override
            public int getCount() {
                return 1;
            }

            @Override
            public Object getItem(int position) {
                return mView;
            }

            @Override
            public View getView(int position, View convertView, ViewGroup parent) {
                return mView;
            }

            @Override
            public int getPosition(Object item) {
                if (mView.equals(item)) {
                    return 0;
                }
                return AdapterView.INVALID_POSITION;
            }
        });
        // Handle the TAP event.
        mCardScroller.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                // Plays disallowed sound to indicate that TAP actions are not supported.
                AudioManager am = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
                am.playSoundEffect(Sounds.DISALLOWED);
            }
        });
        setContentView(mCardScroller);
    }

    @Override
    protected void onResume() {
        super.onResume();
        mCardScroller.activate();
    }

    @Override
    protected void onPause() {
        mCardScroller.deactivate();
        super.onPause();
    }

    /**
     * Builds a Glass styled "Hello World!" view using the {@link CardBuilder} class.
     */
    private View buildView() {
        CardBuilder card = new CardBuilder(this, CardBuilder.Layout.TEXT);

        card.setText(R.string.hello_world);
        return card.getView();
    }

}
    <activity
        android:name=".ImmersionActivity"
        android:icon="@drawable/ic_glass_logo"
        android:label="@string/title_activity_immersion" >
        <intent-filter>
            <action android:name="com.google.android.glass.action.VOICE_TRIGGER" />
        </intent-filter>

        <meta-data
            android:name="com.google.android.glass.VoiceTrigger"
            android:resource="@xml/voice_trigger" />
    </activity>
 <trigger command="SHOW_ME_A_DEMO" />
公共类浸入式活动扩展活动{
/**
*{@link CardScrollView}用作主内容视图。
*/
私有卡滚动查看mCardScroller;
私有视图;
@凌驾
创建时受保护的void(捆绑){
super.onCreate(bundle);
mView=buildView();
mCardScroller=新的CardScrollView(此);
setAdapter(新的CardScrollAdapter(){
@凌驾
public int getCount(){
返回1;
}
@凌驾
公共对象getItem(int位置){
返回mView;
}
@凌驾
公共视图getView(int位置、视图转换视图、视图组父视图){
返回mView;
}
@凌驾
public int getPosition(对象项){
如果(mView.equals(项目)){
返回0;
}
返回AdapterView.INVALID_位置;
}
});
//处理点击事件。
mCardScroller.setOnItemClickListener(新的AdapterView.OnItemClickListener(){
@凌驾
public void onItemClick(AdapterView父对象、视图、整型位置、长id){
//播放不允许的声音,表示不支持点击操作。
AudioManager am=(AudioManager)getSystemService(Context.AUDIO\u服务);
am.播放声音效果(声音。不允许);
}
});
setContentView(mCardScroller);
}
@凌驾
受保护的void onResume(){
super.onResume();
mCardScroller.activate();
}
@凌驾
受保护的void onPause(){
mCardScroller.deactivate();
super.onPause();
}
/**
*使用{@link CardBuilder}类构建玻璃样式的“Hello World!”视图。
*/
私有视图buildView(){
cardbuildercard=新的CardBuilder(这是CardBuilder.Layout.TEXT);
card.setText(R.string.hello\u world);
return card.getView();
}
}
Manifest.xml:

public class ImmersionActivity extends Activity {

    /**
     * {@link CardScrollView} to use as the main content view.
     */
    private CardScrollView mCardScroller;

    private View mView;

    @Override
    protected void onCreate(Bundle bundle) {
        super.onCreate(bundle);

        mView = buildView();

        mCardScroller = new CardScrollView(this);
        mCardScroller.setAdapter(new CardScrollAdapter() {
            @Override
            public int getCount() {
                return 1;
            }

            @Override
            public Object getItem(int position) {
                return mView;
            }

            @Override
            public View getView(int position, View convertView, ViewGroup parent) {
                return mView;
            }

            @Override
            public int getPosition(Object item) {
                if (mView.equals(item)) {
                    return 0;
                }
                return AdapterView.INVALID_POSITION;
            }
        });
        // Handle the TAP event.
        mCardScroller.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                // Plays disallowed sound to indicate that TAP actions are not supported.
                AudioManager am = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
                am.playSoundEffect(Sounds.DISALLOWED);
            }
        });
        setContentView(mCardScroller);
    }

    @Override
    protected void onResume() {
        super.onResume();
        mCardScroller.activate();
    }

    @Override
    protected void onPause() {
        mCardScroller.deactivate();
        super.onPause();
    }

    /**
     * Builds a Glass styled "Hello World!" view using the {@link CardBuilder} class.
     */
    private View buildView() {
        CardBuilder card = new CardBuilder(this, CardBuilder.Layout.TEXT);

        card.setText(R.string.hello_world);
        return card.getView();
    }

}
    <activity
        android:name=".ImmersionActivity"
        android:icon="@drawable/ic_glass_logo"
        android:label="@string/title_activity_immersion" >
        <intent-filter>
            <action android:name="com.google.android.glass.action.VOICE_TRIGGER" />
        </intent-filter>

        <meta-data
            android:name="com.google.android.glass.VoiceTrigger"
            android:resource="@xml/voice_trigger" />
    </activity>
 <trigger command="SHOW_ME_A_DEMO" />

voice\u trigger.xml:

public class ImmersionActivity extends Activity {

    /**
     * {@link CardScrollView} to use as the main content view.
     */
    private CardScrollView mCardScroller;

    private View mView;

    @Override
    protected void onCreate(Bundle bundle) {
        super.onCreate(bundle);

        mView = buildView();

        mCardScroller = new CardScrollView(this);
        mCardScroller.setAdapter(new CardScrollAdapter() {
            @Override
            public int getCount() {
                return 1;
            }

            @Override
            public Object getItem(int position) {
                return mView;
            }

            @Override
            public View getView(int position, View convertView, ViewGroup parent) {
                return mView;
            }

            @Override
            public int getPosition(Object item) {
                if (mView.equals(item)) {
                    return 0;
                }
                return AdapterView.INVALID_POSITION;
            }
        });
        // Handle the TAP event.
        mCardScroller.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                // Plays disallowed sound to indicate that TAP actions are not supported.
                AudioManager am = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
                am.playSoundEffect(Sounds.DISALLOWED);
            }
        });
        setContentView(mCardScroller);
    }

    @Override
    protected void onResume() {
        super.onResume();
        mCardScroller.activate();
    }

    @Override
    protected void onPause() {
        mCardScroller.deactivate();
        super.onPause();
    }

    /**
     * Builds a Glass styled "Hello World!" view using the {@link CardBuilder} class.
     */
    private View buildView() {
        CardBuilder card = new CardBuilder(this, CardBuilder.Layout.TEXT);

        card.setText(R.string.hello_world);
        return card.getView();
    }

}
    <activity
        android:name=".ImmersionActivity"
        android:icon="@drawable/ic_glass_logo"
        android:label="@string/title_activity_immersion" >
        <intent-filter>
            <action android:name="com.google.android.glass.action.VOICE_TRIGGER" />
        </intent-filter>

        <meta-data
            android:name="com.google.android.glass.VoiceTrigger"
            android:resource="@xml/voice_trigger" />
    </activity>
 <trigger command="SHOW_ME_A_DEMO" />

现在,我所理解的是,我们可以通过触发
语音
命令“
向我展示演示
来运行这个应用程序,这是正确的还是错误的

有没有办法使用Android Studio在Android Emulator上运行Glass GDK应用程序

现在,据我所知,我们可以通过触发语音命令“演示”来运行这个应用程序,这是对还是错

没错。您甚至可以配置此触发器并使用它

有没有办法使用Android Studio在Android Emulator上运行Glass GDK应用程序

不,你不能。Android虚拟设备管理器上仅提供平板电脑、手机、手表和电视设备

现在,据我所知,我们可以通过触发语音命令“演示”来运行这个应用程序,这是对还是错

是的,您可以将触发器设置为
command=“Show\u me\u a\u demo”

但是有了这个功能,您只能从speak菜单运行它。 我会把它变成

你可以使用任何你想要的关键字,但有了这个关键字,它将显示在应用程序菜单以及speak菜单上。将显示的名称将是您为应用程序命名的任何名称

添加

到你的舱单。确保自定义命令正常工作的步骤


目前还没有可用的glass模拟器。

那么还有其他方法来测试GDK应用程序吗?使用Google glass单元,是的