android訪問網絡方式


 1. 使用url來訪問網絡


public class HttpUtils {
	
	public static final Login(final String url) {
		
		new Thread(new Runaable() {
			
			@Override
			public void run() {
				HttpURLConnection connection;
				
				try {
					connection = (HttpURLConnection) new URL(url).openConnection();
					connection.setRequestMethod("GET");
					connection.getInputStream();
					// 開始讀寫數據
					
				} catch (Exception e) {
					e.printStackTrace();
				}finally{
					// 關閉流
				}
			}
		}).start();
	}
}

// -------------------------------我是分割線---------------------------------


public class Httpdata extends AsyncTask<String, Void, String> {
	private HttpClient httpClient;
	private HttpGet httpGet;
	private String url;
	private HttpResponse httpResponse;
	private HttpEntity httpEntity;
	private InputStream in;
	private BufferedReader br;
	private String line;
	private StringBuffer sb;
	private HttpGetDataListener listener;


	public Httpdata(String url, HttpGetDataListener listener) {
		super();
		this.url = url;
		this.listener = listener;
	}


	@Override
	protected String doInBackground(String... params) {
		try {
			httpClient = new DefaultHttpClient();
			httpGet = new HttpGet(url);
			httpResponse = httpClient.execute(httpGet);
			httpEntity = httpResponse.getEntity();


			in = httpEntity.getContent(); // 獲取內容
			br = new BufferedReader(new InputStreamReader(in));
			line = null;
			sb = new StringBuffer();
		while ((line = br.readLine()) != null) {
			sb.append(line);
		}
		
		return sb.toString(); // 是在這裏return還是在finally中關閉流後在return呢?
		
		} catch (Exception e) {
			e.printStackTrace();
		} finally{
			
		}	

		return null;
	}


	@Override
	protected void onPostExecute(String result) {
		listener.getDataUrl(result);
		super.onPostExecute(result);
	}

}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章