作成しようとしている Twitter アプリで大きな問題が発生しています。私はこの問題に 2 週間連続して 1 日 14 時間取り組んできましたが、修正方法がわかりません。私は初心者なので、それは単純なことだと確信しています。
一度に 5 つのツイートを表示するには、Twitter ストリームが必要です。次に、最も古いツイートを削除して、新しいツイートに置き換える必要があります。今、これを行う最善の方法はLinkedlistを使用することだと言われましたが、これは完全に理にかなっています. ただし、これを取り入れようとすると、うまくいきません。
誰かが私を助けてくれたら、私はこの時点で頭がいっぱいなので、際限なく感謝します.
コードは次のとおりです。
import com.francisli.processing.http.*;
import java.util.LinkedList;
//LinkedList myList;
HashMap overall = new HashMap();
HttpClient client;
LinkedList myList;
PImage prhomoPix;
int results_to_show = 5;
int updateTime = 10000;
int updateDiff = 0;
void setup()
{
myList = new LinkedList();
for (int i = 0; i < 5; i++)
{
myList.add(client);
}
size(1143, 800);
prhomoPix = loadImage("PrhomoAppBg.jpg");
background(0);
image(prhomoPix, 0, 0);
fill(0, 0, 0, 80);
noStroke();
rect(20, 135, 370, 670);
fill(0, 0, 0, 80);
noStroke();
rect(755, 135, 370, 670);
textAlign(CENTER, CENTER);
}
void responseReceived(HttpRequest request, HttpResponse response)
{
if(response.statusCode == 200)
{
JSONObject allresults;
allresults = response.getContentAsJSONObject();
//JSONObject timeline_tweets = response.getContentAsJSONObject();
for (int i = 0; i < 5; i++)
{
text(allresults.get("results").get(i).get("text").stringValue(), 25, 50+(i*120), 330, 330);
}
frameRate(2);
//}
//for (int i=0; i < results_to_show; i++)
//{
// text(allresults.get("results").get(i).get("text").stringValue(), 25, 50+(i*120), 330, 330);
// }
}
else
{
text("UH-OH" + response.getContentAsString(), 50, 50);
}
}
void tweetUpdate()
{
if(millis() > (updateTime + updateDiff))
{
client = new HttpClient(this, "search.twitter.com");//what webservice we are using, this is the priate OAuth one. "this" means it is not cpying setting from anywhere else
client.GET("search.json?q=dublin&rpp="+results_to_show+"&result_type=recent");
//println(myList);
updateDiff = millis();
}
}
void draw()
{
myList.remove(client);
myList.add(client);
tweetUpdate();
}
もう一度どうもありがとう!