繁体   English   中英

Android - 语音搜索应用?

[英]Android - Voice search app?

我正在尝试使用GDK创建一个简单的Google Glass应用程序。 我有一个以语音命令启动的活动。 在那之后你就有可能谈论你搜索的内容,让我们说你搜索“足球”。

这项活动(或指南中的沉浸式告诉我在Google Glass上调用它)的作用是在返回JSON数据的API中进行搜索。 然后我想解析这些数据,并以一堆可以滚动的静态卡的形式将结果呈现给用户。

所有这一切都有效,但我觉得受GDK限制,对于静态卡,我无法从一开始就设置应用程序中的图像以外的图像。 我希望能够拥有自定义布局的静态卡。 这是我现在正在做的方式吗?

这里的人告诉我它可以做到,但我真的无法弄清楚如何做到。 由于我在Google Glass页面上遇到的所有内容都是文件,因此无法完成。

我还希望功能将这些静态卡捆绑在一起,并将它们固定到时间轴,这样您就不需要两次搜索同一个东西。

有人可以帮我弄清楚我是否在正确的轨道上,或者目前GDK是不可能的。

非常感谢Joakim

使用CardScrollView并在getView函数中创建自己的CardScrollAdapter ,从xml文件中扩展布局并填写所有信息,就像在Android应用程序中一样。

阅读注释后编辑:在Adapter类中添加

public static class ViewHolder{
    public TextView text;
    public ImageView image;
}

并改变

public View getView(int position, View convertView, ViewGroup parent) {
     return mCards.get(position).toView();
}

public View getView(int position, View convertView, ViewGroup parent) {
     ViewHolder holder;
     if(convertView==null) {
         convertView = inflater.inflate(R.layout.mycardlayout, null);
         holder = new ViewHolder();
         holder.text = (TextView) vi.findViewById(R.id.text);
         holder.image=(ImageView)vi.findViewById(R.id.image);
         convertView.setTag( holder );
     } else holder = (ViewHolder) convertView.getTag();

     myObject = getItem(position); //HERE YOU SHOULD MAKE SURE MYOBJECT IS THE CORRECT OBJECT

     holder.text.setText(myObject.getName());
     lazyLoad(holder.image, myObject.getImageUrl()); //USE LAZY LOADING LIBRARY
     return convertView;
}

所以你要做的就是:

  1. 检查Adapter是否实现了getItem

  2. 对图像使用延迟加载(如果是远程图像,看起来会像这样)

  3. /layout文件夹中创建mycardlayout.xml文件,该文件必须包含带有id textTextField和带有id imageImageView

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM