dependencies 태그에 안드로이드 디벨로퍼스에서 복사한 내용추가하기, 추가 후 sync now클릭해서 저장하기
Volley.newRequestQueue(this);
String url = "http://172.30.1.24:8082/web/joinInsert.do";
stringRequest = new StringRequest(Request.Method.POST, url, new Response.Listener<String>(){
--->임시클래스 만듦Map<String, String> params = new HashMap<>();
params에 담아 보낸다 .put("키", value) key는 서버에서 지정한 name과 동일하게 보내야됨package com.example.ex220516;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import com.android.volley.AuthFailureError;
import com.android.volley.NetworkResponse;
import com.android.volley.ParseError;
import com.android.volley.Request;
import com.android.volley.RequestQueue;
import com.android.volley.Response;
import com.android.volley.VolleyError;
import com.android.volley.toolbox.HttpHeaderParser;
import com.android.volley.toolbox.StringRequest;
import com.android.volley.toolbox.Volley;
import java.io.UnsupportedEncodingException;
import java.util.HashMap;
import java.util.Map;
public class MainActivity extends AppCompatActivity {
private Button btn_request;
private RequestQueue requestQueue; //서버에 요청하는 객체
private StringRequest stringRequest; //요청 시 필요한 문자열
private EditText edt_id,edt_pw,edt_nick,edt_phone; //회원정보가 담긴 EditText객체
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
edt_id = findViewById(R.id.edt_id);
edt_pw = findViewById(R.id.edt_pw);
edt_nick = findViewById(R.id.edt_nick);
edt_phone = findViewById(R.id.edt_phone);
btn_request = findViewById(R.id.btn_request);
btn_request.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
sendRequest();
}
});
}
public void sendRequest(){
//RequestQueue 객체 생성
requestQueue = Volley.newRequestQueue(this); // this==getApplicationContext();
// 서버에 요청할 주소
String url = "http://172.30.1.24:8082/web/joinInsert.do";
// 1.객체만들고 요청 주소만듦
// 요청시 필요한 문자열 객체 생성 매개변수 4개(통신방식(get,post),요청url주소, new 리스너(익명클래스)-응답시필요한부분 작성함)
stringRequest = new StringRequest(Request.Method.POST, url, new Response.Listener<String>(){
// 응답데이터를 받아오는 곳
// 응답시 데이터 받아오는 것 - 통신이 잘됐다면 로그캣에서 확인하게출력함
@Override
public void onResponse(String response) {
Log.v("resultValue",response);
}
}, new Response.ErrorListener() {
// 서버와의 연동 에러시 출력
@Override
public void onErrorResponse(VolleyError error) {
error.printStackTrace();
}
}){
@Override //response를 UTF8로 변경해주는 소스코드
protected Response<String> parseNetworkResponse(NetworkResponse response) {
try {
String utf8String = new String(response.data, "UTF-8");
return Response.success(utf8String, HttpHeaderParser.parseCacheHeaders(response));
} catch (UnsupportedEncodingException e) {
// log error
return Response.error(new ParseError(e));
} catch (Exception e) {
// log error
return Response.error(new ParseError(e));
}
}
// 보낼 데이터를 저장하는 곳 해쉬맵에 저장해서 보냄 - key,value
@Override
protected Map<String, String> getParams() throws AuthFailureError {
Map<String, String> params = new HashMap<>();
String id = edt_id.getText().toString();
String pw = edt_pw.getText().toString();
String nick = edt_nick.getText().toString();
String phone = edt_phone.getText().toString();
params.put("id", id);
params.put("pw",pw);
params.put("nick",nick);
params.put("phone",phone);
// key값은 서버에서 지정한 name과 동일하게
return params;
}
};
stringRequest.setTag("main"); //구분자 어떤클라이언트에서 요청했는지 나타냄 (중요하지않음)
requestQueue.add(stringRequest); //실행 요청 add에 담으면 자동요청
}
}
전에 만들어놓은 스프링을 사용하도록한다. 게시판페이지 내에서 회원가입 기능을 가져다 쓸거다. DB는 myBatis 로되어있음