安卓系统 - 语音搜索应用?

3
我正在尝试使用GDK创建一个简单的Google Glass应用程序。 我已经创建了一个活动,并通过语音命令启动它。 然后,您可以说出您要搜索的内容,比如“足球”。
这个活动(或者像指南中所说的“immersions”)会在API中进行搜索并返回JSON数据。 然后我想解析这些数据,并以一堆静态卡片的形式呈现给用户,您可以通过滚动来查看。
这一切都可以工作,但我感到受到GDK的限制,因为对于静态卡片,我无法设置除了应用程序开头的图像之外的其他图像。 我希望能够拥有具有自定义布局的静态卡片。 在我现在的做法中,这是可能的吗?
这里的人们告诉我可以做到,但我真的搞不清楚如何做到。 因为我在Google Glass页面上遇到的所有文件都说明做不到。
我还希望将这些静态卡片捆绑在一起,并将它们固定到时间轴上,以便您不需要再次搜索相同的内容。
请问有人能帮助我确定我是否在正确的轨道上,或者这在GDK中目前不可能?
非常感谢 Joakim
1个回答

3

使用CardScrollView和创建自己的CardScrollAdapter,在getView函数中从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


我已经有一个CardScrollAdapter和getView函数。它现在所做的全部内容是:public View getView(int position, View convertView, ViewGroup parent) { return mCards.get(position).toView(); }可悲的是,我真的不擅长制作Android应用程序。你有任何例子吗? - Jokez80
我猜我需要一种名为CustomCard的类,它继承Cards类并设置我想要添加到布局中的数据,是吗? - Jokez80
谢谢!这太棒了!现在我只想把这些卡片捆绑在一起并放在时间线上。这可行吗? - Jokez80
我看到你几乎所有的问题都是关于同一个应用程序的,你不能指望StackOverflow帮助你解决所有问题并提供所有代码,因为你在“做Android应用方面真的很菜”,Google Glass就是Android,所以试着学习和理解Android。这是成为比初学者更好的唯一途径,通过复制粘贴和在这里问每个问题,你将一事无成。抱歉。 - Ferdau
当然,但是当你卡在一个问题上时,不知道可能是什么问题,你会问问题。其他所有的东西我都自己处理了。并不是说我在遇到问题时就来这里求助。我实际上在提问之前已经尝试过了。所以不要道歉,只要有帮助心态,世界就会变得更美好。能够在所有事情上都最优秀肯定很棒,但不愿意分享...幸运的是,有些人愿意分享,也许我的问题也能帮助其他人。 - Jokez80

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接