需要以下步骤:
- 在 Android 应用中添加网络权限,在 AndroidManifest.xml 文件中添加如下代码:
<uses-permission android:name="android.permission.INTERNET" />
- 在代码中使用 HttpClient 或 HttpUrlConnection 发送请求。
使用 HttpClient:
try {
HttpClient httpClient = new DefaultHttpClient();
HttpGet httpGet = new HttpGet("http://example.com/api");
HttpResponse response = httpClient.execute(httpGet);
String responseBody = EntityUtils.toString(response.getEntity());
// 处理服务器响应
} catch (Exception e) {
// 处理异常
}
使用 HttpUrlConnection:
try {
URL url = new URL("http://example.com/api");
HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
InputStream in = new BufferedInputStream(urlConnection.getInputStream());
String responseBody = readStream(in);
// 处理服务器响应
urlConnection.disconnect();
} catch (Exception e) {
// 处理异常
}
private String readStream(InputStream is) {
StringBuilder sb = new StringBuilder();
BufferedReader r = new BufferedReader(new InputStreamReader(is), 1000);
for (String line = r.readLine(); line != null; line = r.readLine()) {
sb.append(line);
}
is.close();
return sb.toString();
}
注意,在 Android 9.0 及以上版本中,不允许在应用中使用非加密的 HTTP 请求。如果要使用 HTTP 请求,需要在应用的 AndroidManifest.xml 文件中添加以下代码:
<application
...
android:usesCleartextTraffic="true">
...
</application>
发送数据时报错”Couldn’t resolve host ‘xxxx.xxxx.com’ “该错误通常表示Android设备无法解析服务器域名,可能是由于网络连接问题或域名输入错误。
建议您检查以下问题:
1.确保Android设备已连接到网络并能顺利访问其他网站。
2.确认域名输入正确,特别是域名拼写。
3.尝试使用IP地址代替域名,如果可解析,则说明是域名解析问题。可以尝试清除DNS缓存,或更换DNS服务器。
4.确保服务器端开启了相应的服务,需要检查服务器端的日志,查看是否有错误信息或异常。
如果以上方法均未能解决问题,建议您联系阿里云技术支持或相应的开发人员进行深入排查。
发布者:luotuoemo,转转请注明出处:https://www.jintuiyun.com/158851.html