我在Android服务中运行DefaultHttpClient,但即使出现错误,我也无法获得任何结果。 这可能吗?通过浏览,我找到了make HTTPClient作为服务,但在服务中找不到调用HTTPClient。期待帮助。Android - 是否可以在服务中运行DefaultHTTPClient?
0
A
回答
0
您是否看过如何在Java中使用HTTP客户端,Post和Response?这是一个基本的例子,因为人们可能在的AsyncTask doInBackground功能使用:在Android服务
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
//in doInBackground() or other thread outside of main
InputStream myStream;
HttpClient httpClient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost(url_select);
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
try {
nameValuePairs.add(new BasicNameValuePair("currentUser", currentUserVar));
httpPost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
HttpResponse response = httpClient.execute(httpPost);
myStream = response.getEntity().getContent();
} catch (ClientProtocolException e) { e.printStackTrace();
} catch (IOException e) { e.printStackTrace(); }
0
是的,你可以在“运行DefaultHttpClient”。您可以通过多种方式将结果(响应代码,响应等)返回给其他组件(活动等)。可以使用ResultReceiver。
或者,您可以使用服务巴士,如Otto(如果您愿意学习一些关于巴士并设置它的话,这会更容易,并且它在许多地方派上用场,而不仅仅是服务) 。
要真正帮助,虽然你需要使问题更清楚。您的服务是否已经在运行并发出HTTP请求,并且您只需要将结果提供给其他组件,或者您是否可以让DefaultHTTPClient根本无法工作?
此外,如果您不想处理自己的线程处理,您应该查看IntentService。它通常是“服务中的HTTP客户端”之类的优秀候选人。
这个问题有更广泛的信息:Android - httpclient as a backgroundservice
相关问题
- 1. 在UI线程中运行的服务中是否可运行
- 2. 是否可以从Android服务运行ProcessBuilder?
- 3. 是否可以运行在Windows服务中托管的Orleans
- 4. 服务是否可以在nix-shell中运行
- 5. Android:是否可以注册服务以在设备重启后运行?
- 6. Apache Commons是否可以在所有服务器上运行?
- 7. 是否可以在node.js服务器上运行Three.js WebGLRenderer?
- 8. 是否可以在Heroku上运行bitcoind服务器?
- 9. android是否可以在后台运行服务,直到我们停止它
- 10. 应用程序的服务是否可以运行在不同的进程中?
- 11. JavaScript是否可以在UIWebView中运行?
- 12. 是否可以在iframe中运行setTimeout?
- 13. 如何检查服务器是否可以访问并运行?
- 14. Node.js:是否可以捕获“TypeError”并保持服务器运行?
- 15. 是否可以在VirtualBox中运行的Kali Linux中运行AVD?
- 16. 我可以在后台服务中完全运行Android GeoFencing吗?
- 17. 是否可以在Android VM中在运行时检测ABI?
- 18. CountDownLatch是否可以在Android服务中使用?
- 19. Android:是否可以在后台服务中使用Firebase Remote Config?
- 20. 是否可以运行Selenium脚本而不运行X服务器?
- 21. 检查服务是否正在运行?
- 22. 检查服务是否正在运行
- 23. node.js是否可以在任何托管服务提供商中运行?
- 24. 是否可以在eclipse运行时环境中定义jetty服务器?
- 25. 是否有任何可以在Java进程中运行的MQ服务器?
- 26. 是否可以在JVM中运行Android应用程序?
- 27. 是否可以在Android WebKit浏览器中运行Java Applet?
- 28. 是否可以在Android Studio中运行/调试测试?
- 29. 使用Java Spring,是否可以运行在客户端执行的服务?
- 30. 检测ADB服务器是否在Android上运行?
DefaultHttpClient还没有意识它运行的背景下。你可以在你喜欢的地方运行它 – Blackbelt
是的,它可以发布你的相关代码,然后我们会尽力帮助你更多 –