如何启动线程?或者调用sendJson()
函数以便线程自动启动?
还有一件事,我想开始一个主题并在后台每隔5分钟执行sendJson()
。
public void sendJson(final JSONObject json) {
Thread t = new Thread() {
public void run() {
Log.d(null,"Sync Thread Start");
Looper.prepare(); //For Preparing Message Pool for the child Thread
HttpClient client = new DefaultHttpClient();
HttpConnectionParams.setConnectionTimeout(client.getParams(), 10000); //Timeout Limit
HttpResponse response;
try {
HttpPost httpPost = new HttpPost(global.Server + "/BusTicket/sync/sync.php");
// Prepare JSON to send by setting the entity
httpPost.setEntity(new StringEntity(json.toString(), "UTF-8"));
// Set up the header types needed to properly transfer JSON
httpPost.setHeader("Content-Type", "application/json");
httpPost.setHeader("Accept-Encoding", "application/json");
httpPost.setHeader("Accept-Language", "en-US");
response = client.execute(httpPost);
StatusLine statusLine = response.getStatusLine();
String responseString = null;
if(statusLine.getStatusCode() == HttpStatus.SC_OK){
ByteArrayOutputStream out = new ByteArrayOutputStream();
response.getEntity().writeTo(out);
out.close();
responseString = out.toString();
Log.d(null,"responseString = "+ responseString );
}
/*Checking response */
if(response!=null){
InputStream in = response.getEntity().getContent(); //Get the data in the entity
Log.d(null,"Sync Reponse= "+ convertStreamToString(in));
Log.d(null,"Sync Reponse= "+ in.toString() );
}
} catch(Exception e) {
e.printStackTrace();
}
Looper.loop(); //Loop in the message queue
}
};
}