【问题标题】:Android - Voice search app?Android - 语音搜索应用程序?
【发布时间】:2014-03-05 08:00:14
【问题描述】:

我正在尝试使用 GDK 创建一个简单的 Google Glass 应用。我有 以语音命令开始的活动。之后,您可以谈论您搜索的内容,假设您搜索“足球”。

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

所有这些都正常工作,但我觉得受到 GDK 的限制,对于静态卡,我无法设置除了应​​用程序中从一开始就存在的图像之外的图像。我希望能够拥有具有自定义布局的静态卡片。以我现在的方式,这甚至可能吗?

这里的人告诉我可以做到,但我真的不知道该怎么做。由于我在 Google Glass 页面上遇到的只是说明它无法完成的文档。

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

有人可以帮我弄清楚我是否走在正确的轨道上,还是目前 GDK 无法做到这一点。

非常感谢 乔金

【问题讨论】:

    标签: android google-glass google-gdk


    【解决方案1】:

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

    阅读 cmets 后编辑: 在你的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. 检查getItem 是否在您的Adapter 中实现

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

    3. /layout 文件夹中创建mycardlayout.xml 文件,该文件必须包含一个ID 为textTextField 和一个ID 为imageImageView

    【讨论】:

    • 我已经有一个 CardScrollAdapter 和一个 getView 函数。它现在所做的就是: public View getView(int position, View convertView, ViewGroup parent) { return mCards.get(position).toView();可悲的是,我在做 Android 应用程序方面是一个真正的 n00b。你有什么例子吗?
    • 我也猜想我需要某种扩展 Cards 的 CustomCard 类来设置我想要添加到布局中的数据,对吗?
    • 谢谢!这工作太棒了!现在我只想把这些卡片捆绑起来放在时间线上。这可能吗?
    • 我看到你几乎所有的问题都是关于同一个应用程序的,你不能指望 StackOverflow 能帮助你解决所有问题并为你提供所有代码,因为你是“做 Android 应用程序的真正 n00b” , 谷歌眼镜是安卓的,所以试着学习和理解安卓。这是变得比初学者更好的唯一方法,在这里复制粘贴并询问所有问题,您将一事无成。对不起。
    • 当然了,但是当你被一个问题困住时,没有意识到你问问题可能是什么问题。我自己管理的所有其他东西。当我没有得到它时,它不像我在这里跳跃。在我问之前,我实际上已经尝试过了。所以不要抱歉,只要有帮助,世界就会变得更美好。在不分享的所有事情上做到最好一定很棒......对我来说幸运的是,也许我的问题也能帮助其他人。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多