Danh mục

Lập trình Android: Download hình từ Internet

Số trang: 7      Loại file: doc      Dung lượng: 153.00 KB      Lượt xem: 7      Lượt tải: 0    
tailieu_vip

Xem trước 2 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Sau đây mình sẽ làm 1 demo trình bày cách thức download 1 tấm hình từ Internet. Dotính chất của demo nên mình thêm trực tiếp link của hình vào phần code. Các bạn cóthể cải tiến thêm về cách chọn link hình. Bài demo của mình được làm theo các bướcsau
Nội dung trích xuất từ tài liệu:
Lập trình Android: Download hình từ Internet Trung tâm Tin học – ĐH KHTN TẢI HÌNH TỪ INTERNETSau đây mình sẽ làm 1 demo trình bày cách thức download 1 t ấm hình t ừ Internet. Dotính chất của demo nên mình thêm trực tiếp link của hình vào ph ần code. Các b ạn cóthể cải tiến thêm về cách chọn link hình. Bài demo c ủa mình đ ược làm theo các b ướcsau:1/ Tạo 1 Project :Project name: AsyncTaskDemoBuild Target: Android 2.3.3Application name: AsyncTaskDemoPackage name: com.dac. AsyncTaskDemoCreate Activity: HttpActivity.java2/ Tiếp theo các bạn thiết kế giao diện như sau: Lập trình Android – http://laptrinhdidong.vn Page 1 Trung tâm Tin học – ĐH KHTN3/ Tiếp theo các bạn tạo 1 class CustomHttpClient.java trong package chính và vi ếtcode như sau:package com.dac.AsyncTaskDemoimport org.apache.http.HttpVersion;import org.apache.http.client.HttpClient;import org.apache.http.conn.ClientConnectionManager;import org.apache.http.conn.params.ConnManagerParams;import org.apache.http.conn.scheme.PlainSocketFactory;import org.apache.http.conn.scheme.Scheme;import org.apache.http.conn.scheme.SchemeRegistry;import org.apache.http.conn.ssl.SSLSocketFactory;import org.apache.http.impl.client.DefaultHttpClient;import org.apache.http.impl.conn.tsccm.ThreadSafeClientConnManager;import org.apache.http.params.BasicHttpParams;import org.apache.http.params.HttpConnectionParams;import org.apache.http.params.HttpParams;import org.apache.http.params.HttpProtocolParams;import org.apache.http.protocol.HTTP;public class CustomHttpClient { private static HttpClient customHttpClient; private CustomHttpClient() { } public static synchronized HttpClient getHttpClient() { if (customHttpClient == null) { HttpParams params = new BasicHttpParams(); HttpProtocolParams.setVersion(params, HttpVersion.HTTP_1_1); HttpProtocolParams.setContentCharset(params,HTTP.DEFAULT_CONTENT_CHARSET); HttpProtocolParams.setUseExpectContinue(params, true); ConnManagerParams.setTimeout(params, 1000); HttpConnectionParams.setConnectionTimeout(params, 5000); HttpConnectionParams.setSoTimeout(params, 10000); SchemeRegistry schReg = new SchemeRegistry(); schReg.register(new Scheme(http, PlainSocketFactory.getSocketFactory(), 80)); schReg.register(new Scheme(https, SSLSocketFactory.getSocketFactory(), 443)); ClientConnectionManager conMgr = new ThreadSafeClientConnManager(params,schReg); customHttpClient = new DefaultHttpClient(conMgr, params); }Lập trình Android – http://laptrinhdidong.vn Page 2 Trung tâm Tin học – ĐH KHTN return customHttpClient; }}4/ Sau đó các bạn tạo tiếp class DownloadImageTask.java trong package chính đ ểthực hiện việc download:package com.dac.AsyncTaskDemoimport java.io.IOException;import org.apache.http.HttpResponse;import org.apache.http.client.HttpClient;import org.apache.http.client.methods.HttpGet;import org.apache.http.params.BasicHttpParams;import org.apache.http.params.HttpConnectionParams;import org.apache.http.params.HttpParams;import org.apache.http.util.EntityUtils;import android.app.Activity;import android.content.Context;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.os.AsyncTask;import android.util.Log;import android.widget.ImageView;import android.widget.TextView;public class DownloadImageTask extends AsyncTask { private Context mContext; DownloadImageTask(Context context) { mContext = context; } protected void onPreExecute() { } protected Bitmap doInBackground(String... urls) { Log.v(doInBackground, doing download of image); return downloadImage(urls); } protected void onProgressUpdate(Integer... progress) { TextView mText = (TextView) ((Activity)mContext).findViewById(R.id.text); mText.setText(Progress so far: + progress[0]); }Lập trình Android – http://laptrinhdidong.vn Page 3 Trung tâm Tin học – ĐH KHTN protected void onPostExecute(Bitmap result) { if(result != null) { ImageView mImage = (ImageView) ((Activity)mContext).findViewById(R.id.image); mImage.setImageBitmap(result); } else { TextView errorMsg = (TextView) ((Activity)mContext).findViewById(R.id.errorMsg); errorMsg.setText(Problem downloading image. ...

Tài liệu được xem nhiều: