要通过URL访问Web服务器并与Android应用程序通信,您需要使用我们称之为HTTP协议的东西。 Android应用程序可以使用HTTPURLConnection或HttpClient API来使用HTTP协议与Web服务器通信。
以下是一个简单的代码示例,可帮助您使用Android应用程序通过URL与Web服务器通信:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
public class HttpClient {
private static final String USER_AGENT = "Mozilla/5.0";
public static void main(String[] args) throws Exception {
HttpClient httpClient = new HttpClient();
System.out.println("Testing 1 - Send Http GET request");
httpClient.sendGet();
}
// HTTP GET request
private void sendGet() throws Exception {
String url = "http://www.google.com/search?q=mkyong";
URL obj = new URL(url);
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
// optional default is GET
con.setRequestMethod("GET");
//add request header
con.setRequestProperty("User-Agent", USER_AGENT);
int responseCode = con.getResponseCode();
System.out.println("nSending 'GET' request to URL : " + url);
System.out.println("Response Code : " + responseCode);
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
//print result
System.out.println(response.toString());
}
}
在这个例子中,我们从Google搜索引擎检索”Mkyong”,并使用HTTP GET请求发送到http://www.google.com/search?q=mkyong。我们还将USER_AGENT设置为Mozilla/5.0,并获取响应代码和响应的正文。
您可以通过使用HttpClient或HTTPURLConnection API来修改此示例,以便通过URL从您的Web服务器拉取数据。
希望这可以帮助您开始使用Android应用程序通过URL与Web服务器通信。
要实现 Android 手机通过 URL 和 Web 服务器进行通信,需要使用 Android 的 HttpURLConnection 类。
以下是一个示例代码:
String urlString = "http://example.com/api?param1=value1¶m2=value2";
URL url = new URL(urlString);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
// 设置请求方法为 GET
connection.setRequestMethod("GET");
// 发起连接
connection.connect();
// 读取服务器返回的数据
InputStream inputStream = connection.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
StringBuilder stringBuilder = new StringBuilder();
String line;
while ((line = reader.readLine()) != null) {
stringBuilder.append(line);
}
// 关闭连接和流
reader.close();
inputStream.close();
connection.disconnect();
String response = stringBuilder.toString();
可以看到,首先要定义一个 URL 对象,用来表示要访问的 URL,然后通过 HttpURLConnection 打开连接,设置请求方式为 GET,并发起连接。之后通过输入流读取服务器返回的数据,将其存储到 StringBuilder 中,并最终关闭连接和流。
以上是一个简单的示例,实际上常常需要处理返回的数据,例如使用 JSON 解析器将返回的 JSON 数据解析为 Java 对象,或者使用 XML 解析器将返回的 XML 数据解析为 Java 对象。此外,还需要考虑一些其他的因素,例如网络连接失败时的错误处理、连接超时的设置等。
发布者:luotuoemo,转转请注明出处:https://www.jintuiyun.com/156449.html