Android 安卓-语音搜索应用?
我正在尝试用GDK创建一个简单的Google Glass应用程序。我有 通过语音命令启动的活动。在那之后,你有机会谈论你所寻找的,比如说你在寻找“足球” 这项活动(或指南告诉我的在谷歌眼镜上调用的沉浸)所做的是在返回JSON数据的API中进行搜索。然后我想解析这些数据,并将结果以一组静态卡片的形式呈现给用户,您可以滚动浏览这些卡片 所有这些都是可行的,但我觉得受到GDK的限制,对于静态卡,除了从一开始就在应用程序中的图像之外,我无法设置其他图像。我希望能够有自定义布局的静态卡。我现在这样做可能吗 这里的人告诉我这是可以做到的,但我真的不知道如何做到。因为我在Google Glass页面上遇到的只是一些文档,上面说这是做不到的 我还希望能够将这些静态卡片捆绑在一起,并将它们固定到时间轴上,这样您就不需要搜索同一事物两次 有没有人能帮我弄清楚我是否走上了正确的道路,或者这在GDK现在是不可能的 非常感谢Android 安卓-语音搜索应用?,android,google-glass,google-gdk,Android,Google Glass,Google Gdk,我正在尝试用GDK创建一个简单的Google Glass应用程序。我有 通过语音命令启动的活动。在那之后,你有机会谈论你所寻找的,比如说你在寻找“足球” 这项活动(或指南告诉我的在谷歌眼镜上调用的沉浸)所做的是在返回JSON数据的API中进行搜索。然后我想解析这些数据,并将结果以一组静态卡片的形式呈现给用户,您可以滚动浏览这些卡片 所有这些都是可行的,但我觉得受到GDK的限制,对于静态卡,除了从一开始就在应用程序中的图像之外,我无法设置其他图像。我希望能够有自定义布局的静态卡。我现在这样做可能吗
Joakim使用
CardScrollView
并在getView
函数中创建自己的CardScrollAdapter
,从xml文件中展开布局并填充所有信息,就像在android应用程序中一样
阅读评论后编辑:
在适配器类中添加
public static class ViewHolder{
public TextView text;
public ImageView image;
}
改变
public View getView(int position, View convertView, ViewGroup parent) {
return mCards.get(position).toView();
}
进入
因此,你所要做的就是:
检查适配器中是否实现了getItem
对映像使用lazyloading(如果是远程映像,则看起来是)
在/layout
文件夹中创建mycardlayout.xml
文件,该文件必须包含id为text
的TextField
和id为image
的ImageView
我有一个CardScrollAdapter和一个getView函数。它现在所做的只是:public View getView(int位置,View convertView,ViewGroup父项){return mCards.get(position.toView();}遗憾的是,我在做Android应用程序方面是一个真正的n00b。你有什么例子吗?我还想我需要一些CustomCard类来扩展Cards来设置我想添加到布局中的数据,对吗?谢谢!这真是太棒了!现在我只想把这些卡片打包,放在时间线上。这有可能吗?我看到你几乎所有的问题都是关于同一个应用程序的,你不能希望StackOverflow会帮你解决所有问题并给你所有的代码,因为你“在做Android应用程序方面是一个真正的n00b”,Google Glass是Android,所以试着学习和理解Android。这是比初学者更好的唯一方法,在这里粘贴副本并询问所有问题,你将一事无成。对不起,当然可以,但是当你陷入一个问题,没有意识到可能是什么问题时,你会问问题。所有其他我自己管理的东西。当我不明白的时候,我又不是在这里跳。在我问之前我已经试过了。所以,不要难过,只要有所帮助,世界就会变得更好。在任何事情上都做到最好,而不是分享,这一定很棒。。。对我来说幸运的是,有些人这样做了,也许我的问题也能帮助其他人。
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;
}