2013-05-22 28 views
7

Tôi đã thiết lập một ứng dụng Java nơi tôi đang tạo một gói gồm 4 thẻ. Vấn đề là tất cả các thẻ không đến cùng một lúc. Đôi khi chỉ một lần xuất hiện, sau đó vài giây hoặc phút sau các thẻ khác xuất hiện. Làm cách nào để hiển thị đồng thời tất cả trên tai nghe?Làm cách nào để gửi tất cả các thẻ cùng một lúc?

chỉnh sửa: Tôi đã thử phân trang HTML và không hoạt động và bây giờ tôi nghĩ rằng tôi đang bối rối hơn. Vì vậy, trong senario của tôi ở đây tôi muốn gửi một loạt các mốc cho người dùng mà họ có thể điều hướng đến. Tôi muốn tất cả các cột mốc trong một nhóm, tôi muốn một bìa cho gói không phải là một tùy chọn trong gói nói "đây là các mốc của bạn" và tôi muốn nhóm liên kết với tất cả người dùng cùng một lúc . Làm thế nào tôi có thể đạt được điều này?

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

Thực ra có vẻ như phân trang HTML là những gì tôi cần. Đang thử điều đó ngay bây giờ. – Pickles

+0

OK trông giống như phân trang không hoạt động đối với tôi. – Pickles

Trả lời

6

Bạn cần phải thiết lập các tài nguyên isBundleCover để true cho trang bìa của bạn; tức là .:

timelineCover.setIsBundleCover(true); 

Điều này sẽ làm cho nó điểm nhập cảnh vào bó, và ngăn chặn nó được hiển thị bên trong bó, như mô tả here.

Hơn nữa, bạn có thể sử dụng BatchRequest để đảm bảo chúng được gửi cùng nhau; ví dụ::

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

Cảm ơn rất nhiều! Điều này làm việc tuyệt vời. Bạn có nhận được điều này từ một số tài liệu mà tôi đã bỏ lỡ trực tuyến không? Nếu vậy bạn có thể chỉ cho tôi. – Pickles

+0

Cool - Tôi thấy phương thức setIsBundleCover duyệt các tài liệu được đề cập trong câu trả lời của tôi ở trên và lớp BatchRequest đọc qua dự án khởi động nhanh của Google. – MikeV

Các vấn đề liên quan