📄 mockhttptransport.java
字号:
package KnowledgeBase;
import javax.microedition.io.HttpConnection;
/**
* Helper to test the network functionality in the Articles Screen without
* having a server side application.
*/
class MockHTTPTransport implements HTTPTransport {
private HTTPTransportListener listener = null;
MockHTTPTransport() { }
public void setHTTPTransportListener(HTTPTransportListener t){
listener = t;
}
public void removeHTTPTransportListener(){
listener = null;
}
public void send(final String requestMethod, final String URL,
final String requestData){
send(requestMethod, URL, requestData, null, null);;
}
public void send(final String requestMethod, final String URL,
final String requestData, final String[] headerKeys,
final String[] headerValues) {
// Since this is just for testing purposes,
// in here we will return a list or articles,
// as if we had just gotten them via an http request.
createArticlesListResponse();
}
private void createArticlesListResponse() {
// Create the articles.
Article[] articles = new Article[15];
Article article;
for (int i = 0; i < 15; i++) {
article = new Article();
article.id = String.valueOf(i);
article.title = "Dummy article " + Integer.toString(i);
article.author = "ramonj";
article.contents = "This is a test article";
article.tags = new String[] {"tag 1", "tag 2", "tag 3"};
article.dateCreated = "01/01/2008";
articles[i] = article;
}
String FIELD_SEPARATOR = "^~^";
String RECORD_SEPARATOR = "~^~";
//Create the the simulated response data
//with the information from the articles.
StringBuffer response = new StringBuffer();
for (int i = 0; i < articles.length; i++) {
article = articles[i];
StringBuffer tags = new StringBuffer();
for (int j = 0; j < article.tags.length; j++) {
tags.append(article.tags[j] + ",");
}
// Remove the last ","
tags.deleteCharAt(tags.length() - 1);
// Format: id^~^title^~^dateCreated^~^author^~^
//tag1,tag2,...^~^contents~^~<NEXT RECORD>
response.append(article.id + FIELD_SEPARATOR +
article.title + FIELD_SEPARATOR +
article.dateCreated + FIELD_SEPARATOR + article.author +
FIELD_SEPARATOR + tags + FIELD_SEPARATOR + article.contents +
RECORD_SEPARATOR);
}
int httpResponseCode = HttpConnection.HTTP_OK;
// Introduce a delay to simulate latency.
try {
Thread.sleep(1500);
} catch (InterruptedException ex) {}
listener.processResponse(httpResponseCode,response.toString());
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -