2013-05-22 5 views
7

Ich habe eine Java-Anwendung eingerichtet, wo ich ein Bündel von 4 Karten erstelle. Das Problem ist, dass nicht alle Karten gleichzeitig kommen. Manchmal taucht nur einer auf, dann einige Sekunden oder Minuten später erscheinen die anderen Karten. Wie bekomme ich sie alle auf dem Headset zur gleichen Zeit zeigen?Wie sende ich gebündelte Karten alle gleichzeitig?

bearbeiten: Ich versuchte HTML-Paging und das hat nicht funktioniert, und jetzt denke ich, dass ich mehr verwirrt bin. Also möchte ich in meinem Senario eine Reihe von Orientierungspunkten an den Benutzer senden, zu denen er navigieren kann. Ich möchte alle Orientierungspunkte in einem Bundle haben, ich möchte ein Cover für das Bundle, das keine Option im Bundle ist, und sagen: "Hier sind deine Orientierungspunkte", und ich möchte, dass das Bundle gleichzeitig an den Benutzer gelangt . Wie kann ich das erreichen?

TimelineItem timelineItemEmpire = new TimelineItem(); 
timelineItemEmpire.setText("Empire State Building"); 

// Triggers an audible tone when the timeline item is received 
timelineItemEmpire.setNotification(new NotificationConfig().setLevel("DEFAULT")); 
Location empireLoc = new Location(); 
empireLoc.setLatitude(40.748492); 
empireLoc.setLongitude(-73.985868); 
timelineItemEmpire.setLocation(empireLoc); 

// Attach an image, if we have one 
URL url = new URL(WebUtil.buildUrl(req, "/static/images/empirestate.jpg")); 
timelineItemEmpire.setBundleId(bundleId); 

List<MenuItem> menuItemList = new ArrayList<MenuItem>(); 
menuItemList.add(new MenuItem().setAction("NAVIGATE")); 
timelineItemEmpire.setMenuItems(menuItemList); 

MirrorClient.insertTimelineItem(credential, timelineItemEmpire, contentType, url.openStream()); 

TimelineItem timelineItemCP = new TimelineItem(); 
timelineItemCP.setText("Central Park"); 

// Triggers an audible tone when the timeline item is received 
timelineItemCP.setNotification(new NotificationConfig().setLevel("DEFAULT")); 

// Attach an image, if we have one 
URL url3 = new URL(WebUtil.buildUrl(req, "/static/images/central_park.jpg")); 
timelineItemCP.setBundleId(bundleId); 

Location cpLoc = new Location(); 
cpLoc.setLatitude(40.772263); 
cpLoc.setLongitude(-73.974488); 
timelineItemCP.setLocation(cpLoc); 
timelineItemCP.setMenuItems(menuItemList); 

MirrorClient.insertTimelineItem(credential, timelineItemCP, contentType, url3.openStream());  

TimelineItem timelineCover = new TimelineItem(); 
timelineCover.setText("Nearby Landmarks"); 
timelineCover.setBundleId(bundleId); 

// Triggers an audible tone when the timeline item is received 
timelineCover.setNotification(new NotificationConfig().setLevel("DEFAULT")); 

// Attach an image, if we have one 
URL url4 = new URL(WebUtil.buildUrl(req, "/static/images/bundle_cover.jpg")); 

MirrorClient.insertTimelineItem(credential, timelineCover, contentType, url4.openStream()); 
+0

Eigentlich sieht es wie HTML Paging ist, was ich brauche. Versuche das jetzt. – Pickles

+0

OK aussehen wie Paging funktioniert auch nicht für mich. – Pickles

Antwort

6

Sie benötigen die isBundleCover Ressource true für Ihre Abdeckung zu setzen; d.h .:

timelineCover.setIsBundleCover(true); 

Dies wird es der Einstiegspunkt in das Bündel machen und verhindern, dass es innerhalb des Bündels angezeigt wird, wie here beschrieben.

Darüber hinaus können Sie BatchRequest verwenden, um sicherzustellen, dass sie zusammen gesendet werden; z. B.:

BatchRequest batch = MirrorClient.getMirror(null).batch(); 
BatchCallback callback = new BatchCallback(); 

for (TimelineItem item : items) { 
     MirrorClient.getMirror(userCredential).timeline().insert(item).queue(batch, callback); 
} 

batch.execute(); 
+0

Vielen Dank! Das hat super funktioniert. Hast du das von einer Dokumentation bekommen, die ich online vermisst habe? Wenn ja, kannst du mich darauf hinweisen. – Pickles

+0

Cool - Ich habe die setIsBundleCover-Methode beim Durchsuchen der in der obigen Antwort erwähnten Dokumente und die BatchRequest-Klasse beim Lesen des Google-Schnellstartprojekts gesehen. – MikeV