액티비티에 이런식으로 되어있는
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_register_activiy);
final EditText etName = (EditText) findViewById(R.id.etName);
final EditText etPassword = (EditText)findViewById(R.id.etPassword);
final EditText etPhone = (EditText) findViewById(R.id.etPhone);
final EditText etBirth = (EditText)findViewById(R.id.etBirth);
final Button bRegister = (Button) findViewById(R.id.bRegister);
bRegister.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
final String name = etName.getText().toString();
final String password = etPassword.getText().toString();
final int phone = Integer.parseInt(etPhone.getText().toString());
final int birth = Integer.parseInt(etBirth.getText().toString());
Response.Listener<String> responseListener = new Response.Listener<String>() {
@Override
public void onResponse(String response) {
try {
JSONObject jsonResponse = new JSONObject(response);
boolean success = jsonResponse.getBoolean("success");
if (success) {
Intent intent = new Intent(RegisterActiviy.this, MainActivity.class);
RegisterActiviy.this.startActivity(intent);
} else {
AlertDialog.Builder builder = new AlertDialog.Builder(getApplicationContext());
builder.setMessage("Register Failed")
.setNegativeButton("Retry", null)
.create()
.show();
}
} catch (JSONException e) {
e.printStackTrace();
}
}
};
RegisterRequest registerRequest = new RegisterRequest(name, birth, phone, password, responseListener);
RequestQueue queue = Volley.newRequestQueue(RegisterActiviy.this);
queue.add(registerRequest);
}
});
소스입니다.
데이터 입력값고 서버로 잘 들어가구요.
근데 4개중에 값을 하나도 넣지 않고 아래의 버튼을 누르면 어플이 종료되었습니다. 하고 꺼지는데
이 부분이 중간 트라이 캐치부분에서 커버되는 부분 아닌가요?? 왜 뜨는건지 이유를 잘 모르겠습니다.
4개중에 1개라도 넣지 않거나 그럴경우 통합적으로 "빈 공간이 있습니다" 이런식으로 뜨게 하려면 무엇을 검색하거나 수정해야하나요??