반응형
java파일에 새로운 class파일을 생성합니다
package org.techtown.management;
import com.android.volley.Response;
import com.android.volley.toolbox.StringRequest;
import java.net.URL;
import java.util.HashMap;
import java.util.Map;
public class RegisterRequest extends StringRequest {
final static private String URL = "http://pssin1.cafe24.com/Register.php";
private Map<String, String> parameters;
public RegisterRequest(String userID,String userPassword, String userName, int userAge, Response.Listener<String> listener){
super(Method.POST, URL, listener, null);
parameters = new HashMap<>();
parameters.put("userID",userID);
parameters.put("userPassword", userPassword);
parameters.put("userName",userName);
parameters.put("userAge",userAge +"");
}
@Override
public Map<String, String > getParams(){
return parameters;
}
}
egisterRRequest라는 클래스를 정의했다.
final static private String URL = "http://pssin1.cafe24.com/Register.php";
"" 안에는 자신의 php 파일을 붙여 넣어줍니다 (Register.php)
SQL문으로 DB에 등록하는 작업을 합니다.
public RegisterRequest(String userID,String userPassword, String userName, int userAge, Response.Listener<String> listener){
super(Method.POST, URL, listener, null);
parameters = new HashMap<>();
parameters.put("userID",userID);
parameters.put("userPassword", userPassword);
parameters.put("userName",userName);
parameters.put("userAge",userAge +"");
}
생성자를 만들어줍니다. DB정보에 해당하는 생성자입니다.
super를 통해 전송방식을 선택해줍니다 (POST방식)
userID 에 userID를 맵핑해줍니다 왼쪽이 DB값
+"" 인트형이기때문에 문자형으로 바꾸는 것
public Map<String, String > getParams(){
return parameters;
}
현재 가지고 있는 값을 반환해줍니다.
manifests파일에 들어가서 인터넷 접속을 허용하는 환경설정을 해줍니다.
기존에있던 RegisterActivity파일을 수정해줍니다.
package org.techtown.management;
import android.content.Intent;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
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.Volley;
import org.json.JSONException;
import org.json.JSONObject;
public class RegisterActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_register);
final EditText idText = (EditText) findViewById(R.id.idText);
final EditText passwordText = (EditText) findViewById(R.id.passwordText);
final EditText nameText = (EditText) findViewById(R.id.nameText);
final EditText ageText = (EditText) findViewById(R.id.ageText);
Button registerButton = (Button) findViewById(R.id.registerButton);
registerButton.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View view){
String userID = idText.getText().toString();
String userPassword = passwordText.getText().toString();
String userName = nameText.getText().toString();
int userAge = Integer.parseInt(ageText.getText().toString());
Response.Listener<String> respnseListener = new Response.Listener<String>() {
@Override
public void onResponse(String response) {
try
{
JSONObject jsonResponse = new JSONObject(response);
boolean success = jsonResponse.getBoolean("success");
if(success){
AlertDialog.Builder builder = new AlertDialog.Builder(RegisterActivity.this);
builder.setMessage("회원 등록에 성공했습니다.")
.setPositiveButton("확인",null)
.create()
.show();
Intent intent = new Intent(RegisterActivity.this,LoginActivity.class);
RegisterActivity.this.startActivity(intent);
}
else
{
AlertDialog.Builder builder = new AlertDialog.Builder(RegisterActivity.this);
builder.setMessage("회원 등록에 실패했습니다.")
.setNegativeButton("다시 시도",null)
.create()
.show();
}
}
catch (JSONException e)
{
e.printStackTrace();
}
}
};
RegisterRequest registerRequest = new RegisterRequest(userID,userPassword,userName,userAge,respnseListener);
RequestQueue queue = Volley.newRequestQueue(RegisterActivity.this);
queue.add(registerRequest);
}
});
}
}
resisterActivity 변경후
간단하게 소스를 알아보도록 하자
registerButton.setOnClickListener(new View.OnClickListener(){
클릭 했을때 행동
String userID = idText.getText().toString();
String userPassword = passwordText.getText().toString();
String userName = nameText.getText().toString();
int userAge = Integer.parseInt(ageText.getText().toString());
텍스트에서 값 가져와서 저장
Response.Listener<String> respnseListener = new Response.Listener<String>() {
@Override
리스너에서 원하는 결과값을 다룰수 있게해준다.
try
{
}
catch (JSONException e)
{
e.printStackTrace();
}
try catch를 활용해서 오류를 잡아줄수 있게 해주자.
JSONObject jsonResponse = new JSONObject(response);
boolean success = jsonResponse.getBoolean("success");
DB에서 회원가입이 정상적으로 됫는지 실패했는지 받는값
불린값으로 바꿈 success일경우 true
RegisterRequest registerRequest = new RegisterRequest(userID,userPassword,userName,userAge,respnseListener);
RequestQueue queue = Volley.newRequestQueue(RegisterActivity.this);
queue.add(registerRequest);
해당변수를 넣어줘서 함수를 실행하고
RequestQueue를 통해서 인터넷으로 접속하는 방식이용
마지막으로 queue에 넣어서 resister request를 실행한다.
실행화면
등록됬습니다
반응형
'개인공부' 카테고리의 다른 글
안드로이드 : 회원 관리 프로젝트(회원 출력,버튼 hide) (0) | 2020.07.08 |
---|---|
안드로이드 : 회원 관리 프로젝트(로그인 및 메인 화면) (0) | 2020.07.08 |
안드로이드 : 회원 관리 프로젝트(DB구축) (0) | 2020.07.08 |
안드로이드 : 회원 관리 프로젝트(디자인) (0) | 2020.07.08 |
안드로이드 : 레이아웃(Layout) (0) | 2020.07.08 |