編輯:關於android開發
在前幾篇文章中《Android 采用get方式提交數據到服務器》《Android 采用post方式提交數據到服務器》介紹了android的兩種提交數據到服務器的方法
本文繼續介紹采用HttpClient提交數據到服務器
HTTP 協議可能是現在 Internet 上使用得最多、最重要的協議了,越來越多的 Java 應用程序需要直接通過 HTTP 協議來訪問網絡資源。雖然在 JDK 的 java net包中已經提供了訪問 HTTP 協議的基本功能,但是對於大部分應用程序來說,JDK 庫本身提供的功能還不夠豐富和靈活。HttpClient 是 Apache Jakarta Common 下的子項目,用來提供高效的、最新的、功能豐富的支持 HTTP 協議的客戶端編程工具包,並且它支持 HTTP 協議最新的版本和建議。HttpClient 已經應用在很多的項目中,比如 Apache Jakarta 上很著名的另外兩個開源項目 Cactus 和 HTMLUnit 都使用了 HttpClient。
修改代碼如下:
public void LoginHttpClientGet(View view) {
String name = et_name.getText().toString().trim();
String pwd = et_pwd.getText().toString().trim();
if (TextUtils.isEmpty(name) || TextUtils.isEmpty(pwd)) {
Toast.makeText(this, "用戶名密碼不能為空", 0).show();
} else {
// 1、打開一個浏覽器
HttpClient client = new DefaultHttpClient();
// 2、輸入地址
String path = "http://169.254.168.71:8080/web/LoginServlet?username="
+ name + "&password=" + pwd;
try {
HttpGet httpGet = new HttpGet(path);
// 3、敲回車
HttpResponse response = client.execute(httpGet);
int code = response.getStatusLine().getStatusCode();
if (code == 200) {
InputStream is = response.getEntity().getContent();
// 把is的內容轉換為字符串
ByteArrayOutputStream bos = new ByteArrayOutputStream();
byte[] buffer = new byte[1024];
int len = -1;
while ((len = is.read(buffer)) != -1) {
bos.write(buffer, 0, len);
}
String result = new String(bos.toByteArray());
is.close();
Toast.makeText(this, result, 0).show();
} else {
Toast.makeText(this, "請求失敗,失敗原因: " + code, 0).show();
}
} catch (Exception e) {
e.printStackTrace();
Toast.makeText(this, "請求失敗,請檢查logcat日志控制台", 0).show();
}
}
}
public void LoginHttpClientPost(View view) {
String name = et_name.getText().toString().trim();
String pwd = et_pwd.getText().toString().trim();
if (TextUtils.isEmpty(name) || TextUtils.isEmpty(pwd)) {
Toast.makeText(this, "用戶名密碼不能為空", 0).show();
} else {
// 1、打開一個浏覽器
HttpClient client = new DefaultHttpClient();
// 2、輸入地址
String path = "http://169.254.168.71:8080/web/LoginServlet?username="
+ name + "&password=" + pwd;
try {
HttpPost httpPost = new HttpPost(path);
//指定要去提交的數據實體
List<NameValuePair> parameters = new ArrayList<NameValuePair>();
parameters.add(new BasicNameValuePair("username", name));
parameters.add(new BasicNameValuePair("password", pwd));
httpPost.setEntity(new UrlEncodedFormEntity(parameters, "utf-8"));
//3、敲回車
HttpResponse response = client.execute(httpPost);
int code = response.getStatusLine().getStatusCode();
if (code == 200) {
InputStream is = response.getEntity().getContent();
// 把is的內容轉換為字符串
ByteArrayOutputStream bos = new ByteArrayOutputStream();
byte[] buffer = new byte[1024];
int len = -1;
while ((len = is.read(buffer)) != -1) {
bos.write(buffer, 0, len);
}
String result = new String(bos.toByteArray());
is.close();
Toast.makeText(this, result, 0).show();
} else {
Toast.makeText(this, "請求失敗,失敗原因: " + code, 0).show();
}
} catch (Exception e) {
e.printStackTrace();
Toast.makeText(this, "請求失敗,請檢查logcat日志控制台", 0).show();
}
}
}
Android程序apk反編譯破解方法,androidapk
Android程序apk反編譯破解方法,androidapk簡短不割了,我們直接奔主題吧。 把apktool-install-windows-r05-ibot文件裡的兩個
Android ListView ArrayAdapter 的簡單使用,androidarrayadapter
Android ListView ArrayAdapter 的簡單使用,androidarrayadapter前面寫了3篇關於android的文章,其中的演示程序都寫在了
Android無線開發的幾種常用技術綜述
Android無線開發的幾種常用技術綜述 本文由阿裡巴巴移動安全客戶端、YunOS資深工程師Hao(嵌入式企鵝圈原創團隊成員)撰寫,是Hao在嵌入式企鵝
Weex 環境搭建(win7),weex環境搭建win7
Weex 環境搭建(win7),weex環境搭建win7安裝 Node.js 安裝 weex-toolkit 安裝好node.js後,打開CMD工具現在安裝weex-t
對圖片進行各種樣式裁對圖片進行各種樣式裁剪:圓形、星形、心形、花瓣形等剪:圓形、星形、心形、花瓣形等--第三方開源--CustomShapeImageView,
對圖片進行各種樣式裁對圖片進行各種樣式裁剪:圓形、星形、心形、花瓣形等剪