Ví dụ mà tôi đã đăng tải dưới đây dựa trên một ví dụ mà tôi tìm thấy trên Documents cho nhà phát triển Android. Bạn có thể tìm thấy ví dụ đó HERE, hãy xem ví dụ đó để có một ví dụ toàn diện hơn.
Bạn sẽ có thể thực hiện bất kỳ yêu cầu http như sau
import android.app.Activity;
import android.os.AsyncTask;
import android.os.Bundle;
import android.util.Log;
import android.widget.Toast;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.Reader;
import java.io.UnsupportedEncodingException;
import java.net.HttpURLConnection;
import java.net.URL;
public class MainActivity extends Activity {
private static final String TAG = MainActivity.class.getSimpleName();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
new DownloadTask().execute("http://www.google.com/");
}
private class DownloadTask extends AsyncTask<String, Void, String> {
@Override
protected String doInBackground(String... params) {
//do your request in here so that you don't interrupt the UI thread
try {
return downloadContent(params[0]);
} catch (IOException e) {
return "Unable to retrieve data. URL may be invalid.";
}
}
@Override
protected void onPostExecute(String result) {
//Here you are done with the task
Toast.makeText(MainActivity.this, result, Toast.LENGTH_LONG).show();
}
}
private String downloadContent(String myurl) throws IOException {
InputStream is = null;
int length = 500;
try {
URL url = new URL(myurl);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setReadTimeout(10000 /* milliseconds */);
conn.setConnectTimeout(15000 /* milliseconds */);
conn.setRequestMethod("GET");
conn.setDoInput(true);
conn.connect();
int response = conn.getResponseCode();
Log.d(TAG, "The response is: " + response);
is = conn.getInputStream();
// Convert the InputStream into a string
String contentAsString = convertInputStreamToString(is, length);
return contentAsString;
} finally {
if (is != null) {
is.close();
}
}
}
public String convertInputStreamToString(InputStream stream, int length) throws IOException, UnsupportedEncodingException {
Reader reader = null;
reader = new InputStreamReader(stream, "UTF-8");
char[] buffer = new char[length];
reader.read(buffer);
return new String(buffer);
}
}
Bạn có thể chơi xung quanh với các mã cho phù hợp với nhu cầu của bạn
có thể là nếu bạn đăng lỗi trong thử của bạn có thể dẫn đến kết quả là gì. – Sree
tôi không thể chạy ứng dụng vì HttpClient và HttpGet được gạch bỏ, lỗi là: "org.apache.http.client.HttpClient bị phản đối" Mã sản phẩm: try { HttpClient client = new DefaultHttpClient(); Chuỗi getURL = "http://www.google.com"; HttpGet get = new HttpGet (getURL); Phản hồi của HttpResponseGet = client.execute (get); HttpEntity resEntityGet = responseGet.getEntity(); if (resEntityGet = null) { // do something với phản ứng } } catch (Exception e) { e.printStackTrace(); } –
bạn cần tìm lý do tại sao bạn không thể chạy – Sree