我无法使用GDK将卡插入用户时间线。我的代码非常简单:
TimelineManager timelineManager = TimelineManager.from(this);
Card card = new Card(this);
card.setText("Text").setInfo("Info").addImage(R.drawable.ic_launcher);
timelineManager.insert(card);
insert方法返回的问题如下:
Caused by: java.lang.IllegalArgumentException: Unknown URL content://com.google.android.glass.timeline/past_timeline_table
是否还有人遇到此问题?
于连
答案 0 :(得分:1)
此功能已添加到GDK的XE12 /第2版中。
请注意,setInfo()
现在是setFootnote()
。
答案 1 :(得分:0)
你想从哪里插入卡?如果您仍然遇到问题,可以查看我的Hello Glass回购;我能够毫无问题地创建和展示卡片:https://github.com/DasCody/Hello-Glass
以下是一个例子:
package com.codyengel.helloglass;
import com.google.android.glass.app.Card;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
public class Magic extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
/*
* We're creating a card for the interface.
*
* More info here: http://developer.android.com/guide/topics/ui/themes.html
*/
Card card1 = new Card(this);
card1.setText("Hello, Sir!");
card1.setInfo("..or Ma'am");
View card1View = card1.toView();
// Display the card we just created
setContentView(card1View);
}
}
答案 2 :(得分:0)
目前您可以做的最好的事情是看GDK示例项目。
(文件 - >新增 - >其他 - > Android示例项目 - >选择GDK Sneak Peak作为构建目标)
仔细查看指南针,秒表和计时器示例,让它们在你的玻璃上运行。
这是一个代码片段(只是相关代码),他们如何在Timer示例的时间轴中创建一张新卡:
TimelineManager mTimelineManager;
LiveCard mLiveCard;
TimerDrawer mTimerDrawer;
mLiveCard = mTimelineManager.getLiveCard(LIVE_CARD_ID);
mLiveCard.enableDirectRendering(true).getSurfaceHolder().addCallback(mTimerDrawer);
mLiveCard.setNonSilent(true);
Intent menuIntent = new Intent(this, MenuActivity.class);
mLiveCard.setAction(PendingIntent.getActivity(this, 0, menuIntent, 0));
mLiveCard.publish();
简短说明:
LiveCard是您绘制的卡片。 (可能非常频繁)
TimerDrawer是一个用于绘图的自定义类
getLiveCard在时间轴中使用给定的字符串ID创建一个新卡
MenuActivity是您点按LiveCard时发出的自定义活动。 (必须始终定义)
所以基本上这段代码会创建一个新的卡片,定义如何绘制它,定义点击它时发生的事情并发布它。还有更多的代码,请看样本。希望这能指导你朝着正确的方向前进。