728x90
반응형
보통 백그라운드 ( 쓰레드 ) 작업으로 통신을 하기 때문에, AsyncTask를 사용한다.
// 아이디 닉네임 비밀번호 이메일 성별 지역
public void postDB(String id, String nickName, String setUserPass, String eMail,String sex,String location){
class joinHTTPt extends AsyncTask<Void, Void, Void> {
String id;
String nickName; String setUserPass;
String eMail;
String sex;
String location;
public joinHTTPt(String id, String nickName, String setUserPass, String eMail,String sex,String location){
this.id = id;
this. nickName = nickName;
this.setUserPass = setUserPass;
this.eMail = eMail;
this.sex = sex;
this. location = location;
}
@Override
protected Void doInBackground(Void... voids) {
try {
Log.d("aaaaaaaaaaaaaaaaaa","Val/////"+id);
//--------------------------
// URL 설정하고 접속하기
//--------------------------
URL url = new URL("http://192.168.0.23/test.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(id).append("&"); // php 변수에 값 대입
buffer.append("nickName").append("=").append(nickName).append("&");
buffer.append("pass").append("=").append(setUserPass).append("&"); // php 변수 앞에 '$' 붙이지 않는다
buffer.append("eMail").append("=").append(eMail).append("&"); // 변수 구분은 '&' 사용
buffer.append("sex").append("=").append(sex).append("&");
buffer.append("location").append("=").append(location);
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(), "EUC-KR");
BufferedReader reader = new BufferedReader(tmp);
StringBuilder builder = new StringBuilder();
String str;
while ((str = reader.readLine()) != null) { // 서버에서 라인단위로 보내줄 것이므로 라인단위로 읽는다
builder.append(str + "\n"); // View에 표시하기 위해 라인 구분자 추가
}
String myResult = builder.toString(); // 전송결과를 전역 변수에 저장
Log.d("bbbbbbbbbbbbbbbb","aaaaaaaaaaaa/////"+myResult);
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
}
joinHTTPt gotoDBUerId = new joinHTTPt(id,nickName,setUserPass,eMail,sex,location);
gotoDBUerId.execute();
}
728x90
반응형
'JAVA' 카테고리의 다른 글
JSON 정리 (0) | 2019.11.21 |
---|---|
안드로이드 버튼 모서리 둥글게 하기 (1) | 2018.06.22 |
자바 문자열 포함 여부 확인하기. (0) | 2018.05.07 |
자바 문자열 대체 replace (0) | 2018.05.06 |
자바 정규식 (비밀번호: 영어 대소 구분 숫자 특수문자 ) (0) | 2018.04.20 |