728x90
반응형
volley라이브러리 import하기
●MainActivity
public class MainActivity extends AppCompatActivity {
Button btn_join, btn_login;
EditText edt_id, edt_pw;
RequestQueue requestQueue; // 서버와 통신할 통로
StringRequest stringRequest; // 내가 전송할 데이터
@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);
btn_join = findViewById(R.id.btn_join);
btn_login = findViewById(R.id.btn_login);
String url = "http://211.48.213.190:8081/MemberServer/LoginServlet";
requestQueue = Volley.newRequestQueue(getApplicationContext());
stringRequest = new StringRequest(Request.Method.POST, url, new Response.Listener<String>() {
@Override
public void onResponse(String response) {
// 서버에서 돌려준 응답을 처리
if (response.equals("true")){
Toast.makeText(getApplicationContext(),"성공ㅋ",Toast.LENGTH_SHORT).show();
// finish(); - finish 하면 성공하고 앱 종료됨
}else {
Toast.makeText(getApplicationContext(),"실패ㅋ",Toast.LENGTH_SHORT).show();
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
// error.toString(); 하면 에러 찍힘
}
}){
// StringRequest 객체 범위
@Nullable
@Override
protected Map<String, String> getParams() throws AuthFailureError {
// 전송할 데이터 Key, Value 로 셋팅하기
Map<String, String> temp = new HashMap<>();
temp.put("id",edt_id.getText().toString()); // put - 인덱스따라 추가가아니라 집어넣는느낌
temp.put("pw",edt_pw.getText().toString());
return temp;
}
};
btn_login.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// 서버로 stringRequest 쏘기
requestQueue.add(stringRequest);
}
});
// join 버튼 누르면 joinActivity 로 이동
btn_join.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this, JoinActivity.class);
// 두번째 액티비티 실행시키고
// 두번째 액티비티에서 서버랑 통신
startActivity(intent);
}
});
}
}
getParams 사용하기
●JoinActivity
public class JoinActivity extends AppCompatActivity {
// 입력한 ID 와 PW 정보를 서버로 전송
// Volley Library 사용
// 1. Volley Library import 하기
// 2. RequestQueue, StringRequest 생성
RequestQueue requestQueue; // 서버와 통신할 통로
StringRequest stringRequest; // 내가 전송할 데이터
EditText edt_id, edt_pw;
Button btn_join;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_join);
edt_id = findViewById(R.id.edt_id);
edt_pw = findViewById(R.id.edt_pw);
btn_join = findViewById(R.id.btn_join);
// 3. RequestQueue 생성
String url = "http://211.48.213.190:8081/MemberServer/JoinServlet";
requestQueue = Volley.newRequestQueue(getApplicationContext());
// 4. StringRequest 생성
// 1) 전송방식
// 2) url (서버의 주소)
// 3) 응답을처리할 응답리스너
// 4) 에러를감지할 에러리스너
// 5. 전송할 데이터 미리 정의
stringRequest = new StringRequest(Request.Method.POST, url, new Response.Listener<String>() {
@Override
public void onResponse(String response) {
// 서버에서 돌려준 응답을 처리
if (response.equals("1")){
Toast.makeText(getApplicationContext(),"회원가입완료 ㅋ",Toast.LENGTH_SHORT).show();
finish();
}else {
Toast.makeText(getApplicationContext(),"회원가입실패 ㅋ",Toast.LENGTH_SHORT).show();
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
// error.toString(); 하면 에러 찍힘
}
}){
// StringRequest 객체 범위
@Nullable
@Override
protected Map<String, String> getParams() throws AuthFailureError {
// 전송할 데이터 Key, Value 로 셋팅하기
Map<String, String> temp = new HashMap<>();
temp.put("id",edt_id.getText().toString()); // put - 인덱스따라 추가가아니라 집어넣는느낌
temp.put("pw",edt_pw.getText().toString());
return temp;
}
};
btn_join.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// 6. 서버로 stringRequest 쏘기
requestQueue.add(stringRequest);
}
});
// 7. 인터넷 권한주기
}
}
인터넷 권한주기
반응형
'Android' 카테고리의 다른 글
fragment (0) | 2021.04.06 |
---|---|
로그인 후 채팅 방 만들기?? (0) | 2021.04.06 |
Custom ListView + DB연동하기 ( SQLite ) (0) | 2021.04.03 |
Adapter -> Custom ListView활용 (0) | 2021.03.25 |
Adapter View (0) | 2021.03.24 |