对于一个学校项目,我正在尝试在Processing平台中使用Delicious API。
我有个问题,
到目前为止,我可以将单个帖子的“标题”和“标签”可视化到处理画布中。
我的代码如下所示。
Delicious delicious;
PFont font;
String title;
void setup() {
font = loadFont("HelveticaNeue-9.vlw");
textFont(font);
size(800, 1000);
// Initiate Delicious object. Replace username and password with your own info.
delicious=new Delicious("myusername", "mypassword");
// Retrieve recent posts. The result is a List object containing the
// Posts as del.icio.us.beans.Post objects. We'll use List.toArray() to
// give us an array of the Objects in the List.
Object [] o=delicious.getRecentPosts("", 150).toArray();
// Uncomment the following line to get all posts.
// Object [] o=delicious.getAllPosts().toArray();
// Convert the Objects to Posts
Post [] posts=new Post[o.length];
for (int i=0; i<posts.length; i++) {
posts[i]=(Post)o[i];
}
// Print the posts
println("Del.icio.us posts retrieved: "+posts.length);
for (int i=0; i<posts.length; i++) {
println(i+": "+posts[i]);
pushMatrix();
translate(50, 50);
float descriptionWidth = textWidth(posts[i].getDescription());
float tagWidth = textWidth(posts[i].getTag());
int margin = 30;
fill(50);
text(posts[i].getDescription(), 0, 20*i);
text(posts[i].getTime(), descriptionWidth + margin, 20*i);
fill(135);
text(posts[i].getTag(), descriptionWidth + margin, 20*i);
popMatrix();
}
}
我想要做的是,我想要一个特定的设计(例如“ design”),并将帖子的标题分散在该标签周围,并从中心到每个边框画一条线。
但是在文档中,我找不到在
getTag()
方法中获取单个特定Tag的方法。文档的链接在这里,(getTag)
http://delicious-java.sourceforge.net/del/icio/us/beans/Post.html#getTag()
获取标签“ design”,然后随机输入包含“ design”标签的帖子标题。
它背后的逻辑是什么,您能向我解释一下吗?
最佳答案
由于您要遍历所有帖子,因此请使用getTags()接收包含标签的字符串,检查它是否包含您感兴趣的标签,如果是,请将帖子放入数组或数组列表中。遍历所有帖子后,u将具有一个包含所有带有所需标签的帖子的列表。