我需要每10秒从服务器收到一个状态。
我试图通过服务发送一个http请求来做到这一点。
问题是我的代码只能执行一次。
这是我的服务代码:
public class ServiceStatusUpdate extends Service {
@Override
public IBinder onBind(Intent intent) {
// TODO Auto-generated method stub
return null;
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
while(true)
{
try {
Thread.sleep(10000);
} catch (InterruptedException e) {
new DoBackgroundTask().execute(Utilities.QUERYstatus);
e.printStackTrace();
}
return START_STICKY;
}
}
private class DoBackgroundTask extends AsyncTask<String, String, String> {
@Override
protected String doInBackground(String... params) {
String response = "";
String dataToSend = params[0];
Log.i("FROM STATS SERVICE DoBackgroundTask", dataToSend);
HttpClient httpClient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost(Utilities.AGENT_URL);
try {
httpPost.setEntity(new StringEntity(dataToSend, "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");
// Execute POST
HttpResponse httpResponse = httpClient.execute(httpPost);
HttpEntity responseEntity = httpResponse.getEntity();
if (responseEntity != null) {
response = EntityUtils.toString(responseEntity);
} else {
response = "{\"NO DATA:\"NO DATA\"}";
}
} catch (ClientProtocolException e) {
response = "{\"ERROR\":" + e.getMessage().toString() + "}";
} catch (IOException e) {
response = "{\"ERROR\":" + e.getMessage().toString() + "}";
}
return response;
}
@Override
protected void onPostExecute(String result) {
Utilities.STATUS = result;
Log.i("FROM STATUS SERVICE: STATUS IS:", Utilities.STATUS);
super.onPostExecute(result);
}
}
}
谢谢很多阿维
将处理程序放入onPostExecute中以在10秒后发送http请求
new Handler().postDelayed(new Runnable() {
public void run() {
requestHttp();
}
}, 10000);
10秒后,将再次执行doInBackground,然后再次执行onPostExecute,再次处理程序,依此类推。
我试图在不和谐的情况下每隔x秒发送一条消息。js机器人。我知道如何做到这一点,但我遇到的问题是,即使我启用了slowmode,它也会发送垃圾邮件。我怎样才能解决这个问题?
问题内容: 我是Android的新手,所以关于android的知识还不是很多,好的,请讲到重点,我需要通过用户名和密码进行 登录 ,因为我必须通过JSON进行http requset并返回响应也将以JSON格式提供。所以任何人都可以帮助我。谢谢。 问题答案: 试试这个代码
问题内容: 似乎urllib2默认发送HTTP / 1.1请求? 问题答案: urllib2在后台使用httplib进行连接。您可以将其更改为http 1.0,如下所示。我已包含我的apache服务器访问日志,以显示http连接如何更改为1.0 码 访问日志
我想每10秒执行一段代码。我在这个论坛上找到了一个例子,但我的实现有一些问题。 我得到这个错误,指向:
如何每秒触发10个请求,而不是等待前面的线程在jmeter中完成。 需要打1000次, 当前线程组中的以下配置,用户数:10循环:100 我猜线程正在等待响应,即使在第二秒之后。 但是我需要每秒发出10个请求,不管响应如何。 恒定吞吐量计时器将有助于做到这一点?如果是这种情况,我应该提供什么配置。 非常感谢您的帮助。。
问题内容: 我需要使用该服务发送GET请求。参数之一是ID数组。网址看起来像这样一个 **mysite.com/items?id[]=1 &id[]=2&id[]=3&id[]=4** 我尝试过这种方法 但网址是 **mysite.com/items?id=%5B%221%22%2C%222%22%2C%223%22%2C%224%22%5D** 那是因为Angular正在将我的值转换为JSON字