Android HttpURLConnection实现http网络编程
1、在AndroidManifest.xml中添加网络访问权限。
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
2、封装HttpURLConnection,以下是GET,POST的方式http网络操作。
package freelancer.ccmanager.http;
import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import freelancer.ccmanager.FDefine;
/**
* .---..---. .---..---..-. .---..-..-..---..---..---.
* | |- | |-< | |- | |- | |__ | | || .` || | | |- | |-<
* `-' `-'`-'`---'`---'`----'`-^-'`-'`-'`---'`---'`-'`-'
* Author:freelancer on 15-8-6 14:53
* <p/>
* e-mail:jiangbing9293@foxmail.com
*/
public class FHttp implements FDefine{
URL url;
HttpURLConnection conn = null;
static FHttp http;
public FHttp() {
}
public static FHttp getInstance(){
if (http == null)
http = new FHttp();
return http;
}
public String doGet(String path, String param){
String getUrl = CC_SERVER +path+ "?"+param;
try {
url = new URL(getUrl);
conn = (HttpURLConnection)url.openConnection();
InputStream is = conn.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(is));
String response = "";
String readLine = null;
while((readLine =br.readLine()) != null){
response = response + readLine;
}
is.close();
br.close();
conn.disconnect();
return response;
} catch (IOException e) {
e.printStackTrace();
return null;
}
}
public String doPost(String path, String params){
try {
url = new URL(CC_SERVER+path);
conn = (HttpURLConnection)url.openConnection();
conn.setDoInput(true);
conn.setDoOutput(true);
conn.setRequestMethod("POST");
conn.setUseCaches(false);
conn.setInstanceFollowRedirects(false);
conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
conn.connect();
DataOutputStream out = new DataOutputStream(conn.getOutputStream());
out.writeBytes(params);
out.flush();
out.close();
InputStream is = conn.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(is));
String response = "";
String readLine = null;
while((readLine =br.readLine()) != null){
response = response + readLine;
}
is.close();
br.close();
conn.disconnect();
return response;
} catch (IOException e) {
e.printStackTrace();
return null;
}
}
}