안드로이드 프로그레스로 진행율을 보여주면서 파일 다운로드하는 소스
*영*
다운로드
장바구니
소개글
안드로이드 개발을 하다보면 업데이트를 위해서 혹은 다른 이유로인터넷 상에 존재하는 파일을 다운 받아야하는 경우가 있습니다.
하지만 사용자에게 다운로드가 언제 끝날지 알려주는 것도 중요한데
여기서 프로그레스바가 필요하게 됩니다.
이 소스는 이 두 가지를 충족시키고 더 나아가
http뿐만 아니라 https에서도 url경로만 올바르다면
파일이 정상적으로 다운받아지는 것을 확인하였습니다
실제 프로젝트에도 문제없이 사용되었습니다.
이 소스는 eclipse에서 import해서 돌려볼 수 있습니다.
2.2버전으로 만들어졌으면 그 상위버전(태블릿포함)에서도 정상동작함을 확인하였습니다.
컴파일 실행환경
Android SDK / JDK본문내용
package com.blue7red.android;import java.io.BufferedInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import android.app.Activity;
import android.app.ProgressDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.os.AsyncTask;
import android.os.Handler;
import android.util.Log;
import android.widget.Toast;
class DownloadFile extends AsyncTask{
ProgressDialog mProgress;
Activity mActivity;
String mUpdateUrl;
String mDestFolder;
String mDestPath;
String mFileName;
InputStream mInput = null;
OutputStream mOutput = null;
Handler mHandler = null;
public DownloadFile(Context context,String updateUrl,String destFolder)
{
mActivity = (Activity)context;
mUpdateUrl = updateUrl;
mUpdateUrl.lastIndexOf("/");
mFileName = mUpdateUrl.substring(mUpdateUrl.lastIndexOf("/")+1);
mDestFolder = destFolder;
mDestPath = destFolder + "/" + mFileName;
}
public void Execute()
{
this.execute(mUpdateUrl);
압축파일 내 파일목록
FileDownloadHandle6/
FileDownloadHandle6/.classpath
FileDownloadHandle6/.project
FileDownloadHandle6/AndroidManifest.xml
FileDownloadHandle6/assets/
FileDownloadHandle6/bin/
FileDownloadHandle6/bin/classes/
FileDownloadHandle6/bin/classes/com/
FileDownloadHandle6/bin/classes/com/blue7red/
FileDownloadHandle6/bin/classes/com/blue7red/android/
FileDownloadHandle6/bin/classes/com/blue7red/android/DownloadFile$1.class
FileDownloadHandle6/bin/classes/com/blue7red/android/DownloadFile.class
FileDownloadHandle6/bin/classes/com/blue7red/android/FileDownloadHandle6Activity$1.class
FileDownloadHandle6/bin/classes/com/blue7red/android/FileDownloadHandle6Activity.class
FileDownloadHandle6/bin/classes/com/blue7red/android/R$attr.class
FileDownloadHandle6/bin/classes/com/blue7red/android/R$drawable.class
FileDownloadHandle6/bin/classes/com/blue7red/android/R$layout.class
FileDownloadHandle6/bin/classes/com/blue7red/android/R$string.class
FileDownloadHandle6/bin/classes/com/blue7red/android/R.class
FileDownloadHandle6/bin/classes.dex
FileDownloadHandle6/bin/FileDownloadHandle6.apk
FileDownloadHandle6/bin/res/
FileDownloadHandle6/bin/res/drawable-hdpi/
FileDownloadHandle6/bin/res/drawable-hdpi/ic_launcher.png
FileDownloadHandle6/bin/res/drawable-ldpi/
FileDownloadHandle6/bin/res/drawable-ldpi/ic_launcher.png
FileDownloadHandle6/bin/res/drawable-mdpi/
FileDownloadHandle6/bin/res/drawable-mdpi/ic_launcher.png
FileDownloadHandle6/bin/resources.ap_
FileDownloadHandle6/gen/
FileDownloadHandle6/gen/com/
FileDownloadHandle6/gen/com/blue7red/
FileDownloadHandle6/gen/com/blue7red/android/
FileDownloadHandle6/gen/com/blue7red/android/R.java
FileDownloadHandle6/proguard.cfg
FileDownloadHandle6/project.properties
FileDownloadHandle6/res/
FileDownloadHandle6/res/drawable-hdpi/
FileDownloadHandle6/res/drawable-hdpi/ic_launcher.png
FileDownloadHandle6/res/drawable-ldpi/
FileDownloadHandle6/res/drawable-ldpi/ic_launcher.png
FileDownloadHandle6/res/drawable-mdpi/
FileDownloadHandle6/res/drawable-mdpi/ic_launcher.png
FileDownloadHandle6/res/layout/
FileDownloadHandle6/res/layout/main.xml
FileDownloadHandle6/res/values/
FileDownloadHandle6/res/values/strings.xml
FileDownloadHandle6/src/
FileDownloadHandle6/src/com/
FileDownloadHandle6/src/com/blue7red/
FileDownloadHandle6/src/com/blue7red/android/
FileDownloadHandle6/src/com/blue7red/android/DownloadFile.java
FileDownloadHandle6/src/com/blue7red/android/FileDownloadHandle6Activity.java
FileDownloadHandle6/.classpath
FileDownloadHandle6/.project
FileDownloadHandle6/AndroidManifest.xml
FileDownloadHandle6/assets/
FileDownloadHandle6/bin/
FileDownloadHandle6/bin/classes/
FileDownloadHandle6/bin/classes/com/
FileDownloadHandle6/bin/classes/com/blue7red/
FileDownloadHandle6/bin/classes/com/blue7red/android/
FileDownloadHandle6/bin/classes/com/blue7red/android/DownloadFile$1.class
FileDownloadHandle6/bin/classes/com/blue7red/android/DownloadFile.class
FileDownloadHandle6/bin/classes/com/blue7red/android/FileDownloadHandle6Activity$1.class
FileDownloadHandle6/bin/classes/com/blue7red/android/FileDownloadHandle6Activity.class
FileDownloadHandle6/bin/classes/com/blue7red/android/R$attr.class
FileDownloadHandle6/bin/classes/com/blue7red/android/R$drawable.class
FileDownloadHandle6/bin/classes/com/blue7red/android/R$layout.class
FileDownloadHandle6/bin/classes/com/blue7red/android/R$string.class
FileDownloadHandle6/bin/classes/com/blue7red/android/R.class
FileDownloadHandle6/bin/classes.dex
FileDownloadHandle6/bin/FileDownloadHandle6.apk
FileDownloadHandle6/bin/res/
FileDownloadHandle6/bin/res/drawable-hdpi/
FileDownloadHandle6/bin/res/drawable-hdpi/ic_launcher.png
FileDownloadHandle6/bin/res/drawable-ldpi/
FileDownloadHandle6/bin/res/drawable-ldpi/ic_launcher.png
FileDownloadHandle6/bin/res/drawable-mdpi/
FileDownloadHandle6/bin/res/drawable-mdpi/ic_launcher.png
FileDownloadHandle6/bin/resources.ap_
FileDownloadHandle6/gen/
FileDownloadHandle6/gen/com/
FileDownloadHandle6/gen/com/blue7red/
FileDownloadHandle6/gen/com/blue7red/android/
FileDownloadHandle6/gen/com/blue7red/android/R.java
FileDownloadHandle6/proguard.cfg
FileDownloadHandle6/project.properties
FileDownloadHandle6/res/
FileDownloadHandle6/res/drawable-hdpi/
FileDownloadHandle6/res/drawable-hdpi/ic_launcher.png
FileDownloadHandle6/res/drawable-ldpi/
FileDownloadHandle6/res/drawable-ldpi/ic_launcher.png
FileDownloadHandle6/res/drawable-mdpi/
FileDownloadHandle6/res/drawable-mdpi/ic_launcher.png
FileDownloadHandle6/res/layout/
FileDownloadHandle6/res/layout/main.xml
FileDownloadHandle6/res/values/
FileDownloadHandle6/res/values/strings.xml
FileDownloadHandle6/src/
FileDownloadHandle6/src/com/
FileDownloadHandle6/src/com/blue7red/
FileDownloadHandle6/src/com/blue7red/android/
FileDownloadHandle6/src/com/blue7red/android/DownloadFile.java
FileDownloadHandle6/src/com/blue7red/android/FileDownloadHandle6Activity.java