아래 소스코드에서
private ProgressDialog mDialog = new ProgressDialog(getApplicationContext());
이부분에서 getApplicationContext() 여기기 오류인데 왜그런거죠??
ㅠ.ㅠ
package com.example.multipartentityprogress;
import java.io.File;
import java.io.InputStream;
import java.util.HashMap;
import java.util.Map;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.mime.content.FileBody;
import org.apache.http.entity.mime.content.StringBody;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.protocol.BasicHttpContext;
import org.apache.http.protocol.HttpContext;
import com.example.multipartentityprogress.CustomMultipartEntity.ProgressListener;
import android.app.ProgressDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.DialogInterface.OnCancelListener;
import android.os.AsyncTask;
public class TestAsyncTask extends AsyncTask<HttpResponse, Integer, Long>{
private ProgressDialog mDialog = new ProgressDialog(getApplicationContext());
long totalSize;
protected Long doInBackground(HttpResponse... arg0) {
String url = "URL 정보";
//파라미터 등록
Map<String, Object> params = new HashMap<String, Object>();
//파일 파라미터 등록
Map<String, File> fileParams = new HashMap<String, File>();
try{
HttpClient httpClient = new DefaultHttpClient();
HttpContext httpContext = new BasicHttpContext();
HttpPost httpPost = new HttpPost(url);
CustomMultipartEntity multipart = new CustomMultipartEntity(new ProgressListener() {
public void transferred(long transferred) {
// TODO Auto-generated method stub
}
});
//Params 첨부
for (String strKey : params.keySet()) {
StringBody body = new StringBody(params.get(strKey).toString());
multipart.addPart(strKey, body);
}
//파일첨부
for (String keys : fileParams.keySet()) {
multipart.addPart(keys , new FileBody(fileParams.get(keys)));
}
totalSize = multipart.getContentLength();
//Time Check
mDialog.setMax((int)totalSize);
httpPost.setEntity(multipart);
HttpResponse response = httpClient.execute(httpPost,httpContext);
InputStream is = response.getEntity().getContent();
/**
* is를 가지고 추가 작업
*
* */
}catch(Exception e){
return 0L;
}
return 0L;
}
protected void onCancelled() {
super.onCancelled();
mDialog.dismiss();
}
protected void onPostExecute(Long result) {
super.onPostExecute(result);
mDialog.dismiss();
}
protected void onPreExecute() {
super.onPreExecute();
mDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
mDialog.setCancelable(true);
mDialog.setOnCancelListener(cancelListener);
mDialog.setMessage("업로드중입니다");
mDialog.show();
}
protected void onProgressUpdate(Integer... progress) {
super.onProgressUpdate(progress);
//Progress 업데이트
mDialog.setProgress((int)progress[0]);
}
OnCancelListener cancelListener = new OnCancelListener() {
public void onCancel(DialogInterface dialog) {
}
};
}