private class regIDInsertTask extends AsyncTask<String, Void, Void> {
@Override
protected void onPreExecute() {
super.onPreExecute();
loagindDialog = ProgressDialog.show(Authentication_Password.this,
"키 등록 중입니다..",
"Please wait..", true, false);
}
@Override
protected Void doInBackground(String... params) {
HttpPostData(params[0], params[1]);
return null;
}
protected void onPostExecute(Void result) {
loagindDialog.dismiss();
}
}
public void HttpPostData(String reg_id, String pnum) {
try {
// --------------------------
// URL 설정하고 접속하기
// --------------------------
URL url = new URL("
...gcm/gcm_reg_insert.php"); // URL
// 설정
HttpURLConnection http = (HttpURLConnection) url.openConnection(); // 접속
// --------------------------
// 전송 모드 설정 - 기본적인 설정이다
// --------------------------
http.setDefaultUseCaches(false);
http.setDoInput(true); // 서버에서 읽기 모드 지정
http.setDoOutput(true); // 서버로 쓰기 모드 지정
http.setRequestMethod("POST"); // 전송방식은 POST
// 서버에게 웹에서 <Form>으로 값이 넘어온 것과 같은 방식으로 처리하라는 걸 알려준다
http.setRequestProperty("content-type",
"application/x-www-form-urlencoded");
// --------------------------
// 서버로 값 전송
// --------------------------
StringBuffer buffer = new StringBuffer();
// post data 구성하는 부분
buffer.append("reg_id").append("=").append(reg_id).append("&"); // php
// 변수에
// 값
// 대입
Log.e("TAG======33333333333333333", reg_id);
buffer.append("pnum").append("=").append(pnum);
Log.e("TAG======44444444444444444", pnum);
OutputStreamWriter outStream = new OutputStreamWriter(
http.getOutputStream(), "UTF-8");
PrintWriter writer = new PrintWriter(outStream);
writer.write(buffer.toString());
writer.flush();
// --------------------------
// 서버에서 전송받기
// --------------------------
InputStreamReader tmp = new InputStreamReader(
http.getInputStream(), "UTF-8");
BufferedReader reader = new BufferedReader(tmp);
StringBuilder builder = new StringBuilder();
String str;
while ((str = reader.readLine()) != null) {
Log.e("TAG======1111111", str);
builder.append(str + "\n");
}
myResult = builder.toString();
Log.e("TAG======222222", myResult);
} catch (MalformedURLException e) {
Log.e("TAG======", "에러1");
//
} catch (IOException e) {
Log.e("TAG======", "에러2");
//
} // try
} // HttpPostData
------ 질문 ---------
AsyncTask 이것을 여러 액티비티에서 사용을 합니다. 그런데 제가 구현 능력이 떨어져서
각각의 액티비티마다 사용을 하게 되니깐 소스가 계속 중복되는것이 지저분해서 여러분께 여쭈어봅니다.
다른 class에서 불러오기 하고 싶은데 어떻게 처리를 해야하는지 간단한 소스라도 알려주시면 감사합니다 ㅠ.ㅠ