//( 서버로부터 받기 )
public void getExchangeDataHttp(){
class getExchangeDataHttp extends AsyncTask<Void,Void,String> {
ProgressDialog dialog = new ProgressDialog(exchangeMainActivity.this);
@Override
protected void onPreExecute() {
super.onPreExecute();
dialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
dialog.setMessage("데이터 로드중");
dialog.setCanceledOnTouchOutside(false); // 바깥 터치 안되게
dialog.setCancelable(false); // 뒤로가기로 캔슬시키는거 안되게
dialog.show();
}
@Override
protected String doInBackground(Void... voids) {
try {
//--------------------------
// URL 설정하고 접속하기
//--------------------------
URL url = new URL(ipad+"/getExchangeData.php"); // php 주소
HttpURLConnection huc = (HttpURLConnection) url.openConnection();
//--------------------------
// 전송 모드 설정 - 기본적인 설정이다
//--------------------------
huc.setDefaultUseCaches(false);
huc.setDoInput(true); // 서버에서 읽기 모드 지정
huc.setDoOutput(true); // 서버로 쓰기 모드 지정
huc.setRequestMethod("POST"); // 전송 방식은 POST
huc.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
// 서버로 값 전달.
//--------------------------
// 서버로 값 전송
//--------------------------
StringBuffer buffer = new StringBuffer();
buffer.append("id").append("=").append(loginUserId); // php 변수에 값 대입
OutputStreamWriter outStream = new OutputStreamWriter(huc.getOutputStream(), "UTF-8"); // 안드에서 php로 보낼때 UTF8로 해야지 한글이 안깨진다.
// OutputStreamWriter outStream = new OutputStreamWriter(huc.getOutputStream(), "EUC-KR");
PrintWriter writer = new PrintWriter(outStream);
writer.write(buffer.toString());
writer.flush();
//--------------------------
// 서버에서 전송받기
//--------------------------
InputStreamReader tmp = new InputStreamReader(huc.getInputStream(), "UTF-8");
BufferedReader reader = new BufferedReader(tmp);
StringBuilder builder = new StringBuilder();
String str;
while ((str = reader.readLine()) != null) { // 서버에서 라인단위로 보내줄 것이므로 라인단위로 읽는다
builder.append(str); // View에 표시하기 위해 라인 구분자 추가
}
allData = builder.toString(); // 전송결과를 전역 변수에 저장
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return allData;
}
@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
try {
if ( dialog != null && dialog.isShowing()){
dialog.dismiss();
}
}catch (Exception e){
}
if ( s.equals("없음")){
}else{
}
}
}
getExchangeDataHttp getDataGive = new getExchangeDataHttp();
getDataGive.execute();
}
'Android' 카테고리의 다른 글
안드로이드 jar 파일 추가하기 (0) | 2018.05.21 |
---|---|
스피너 어댑터 설정 (0) | 2018.05.21 |
editText 자동 포커스, 키보드 제어 (0) | 2018.05.16 |
프래그먼트 뷰페이저 참조 유튜브 경로 (0) | 2018.05.14 |
(커스텀 다이얼로그) 다이얼로그 안에 스피너와 EditText 넣기. (0) | 2018.05.12 |