일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- #안드로이드 개발자 #안드로이드 신입 #개발자 이직 #안드로이드 면접 #신입 개발자
- 구글맵안돼요
- 안드로이드 익명클래스
- 안드로이드
- retrofit2
- 안드로이드 아키텍쳐
- MVVM
- 레트로핏
- zeplin
- 안드로이드해상도
- 빗버킷 #bitbucket #authorization failed #깃
- 안드로이드 메모리릭
- retrofit
- #SMS API #안드로이드 SMS #SMS Retriever
- #리사이클러뷰
- retrofi
- 제플린
- 메모리릭
- 리사이클러뷰 체크박스
- 키스토어
- #리사이클러뷰 어댑터
- #android #안드로이드 #glide #gif #이미지다운로드
- #안드로이드
- 사용법
- #ContentProvider #App DataShare
- 클린아키텍쳐
- Today
- Total
땀이 삐질삐질 나는 개발 일기
여러개의 EditText의 String 값을 깔끔하게 Null & Empty 검사하는 방법 본문
안녕하세요.
개발을 하다 보면 , 화면의 입력 필드들이 여러 개가 존재하는 경우가 생깁니다.
예를 들면
이름
성별
나이
취미
지역 등..
이때 우리는 검사해야 할 것들이 있습니다.
입력 필드에 입력된 값들 중 Null인 값이 있는가?
입력필드에 입력된 값들 중 "" 즉 빈 값이 있는가?
입력 필드의 InputType을 지켰는가 이것은.. 선택의 여지가 있으므로, 일단은 제외토록 하겠습니다.
이 입력필드 들의 값의 유효성을 검사하기 위해 보편적으로 생각할 수 있는 방법은 아래와 같겠죠?
public boolean testMethod() {
String name, age, gender, hobby, region;
if (name != null) {
if (name != "") // 또는if (!name.isEmpty())
}
}
나쁘지 않습니다.
어쨌든 검사하면 되죠.
그렇지만 위 선언된 변수들의 모든 값을 검사하려면 대체 if문을 몇 번을 타고 들어가야 하며,
또 중간에 아휴.. 이프 이프 이프 이프 이프 하다가 헷갈린단 말이죠..
이를 위해 우리는 Util의 성격을 가진 메서드를 공통으로 만들 수 있습니다.
이때 필요한 키워드는 Static과 variable argument(variable argument는 가변 인자입니다.)
Static은.. 여러 가지 쓰임새가 있지만, 이때 쓰기 위함은 객체의 선언 없이, 접근하기 위한 용도로 쓰이고
가변 인자는 한 번에 여러 가지 변수들은 전달하기 위해 쓰입니다. Asynctask를 써보신 분이라면 많이들 보셨을 거예요. params....그 문법
자~ 이제 잔소리를 걷어내고 코드로 살펴봅시다.
먼저 단일한 변수를 , 유효한지 유효하지 않은지 검사하기 위한 코드는 아래와 같습니다.
if(name!=null && !name.isEmpty()){return true;} else{return false;}
이후 가변 파라미터를 더하면 아래와 같이 변하게 됩니다.
public boolean testVariableParam(String... params) {
for (String param : params) {
if (param == null || param.isEmpty()) {
return false;
}
}
return true;
}
어떤가요, 기존의 if를 여러 번 타고 들어가는 것보다 훨씬 깔끔해 보이나요?
자 호출하는 부분과 함께 살펴봅시다.
public boolean testMethod() {
String name = null, age =null , region =null, hobby =null ;
testVariableParam(name,age,region,hobby);
}
public boolean testVariableParam(String... params) {
for (String param : params) {
if (param == null || param.isEmpty()) {
return false;
}
}
return true;
}
이렇게 유용하게 사용할 수 있습니다.
안드로이드 초보 개발자를 위해 아래와 같은 카카오 오픈톡을 운영 중입니다.
'개발 Tip' 카테고리의 다른 글
BaseActivity로 액티비티, 프래그먼트 전환 메서드 재사용 하기 (0) | 2019.05.17 |
---|---|
다른 앱과 Data Share하는 방법 Feat. ContentProvider (0) | 2019.05.17 |
안드로이드 RecyclerView Item Delete (0) | 2019.04.21 |
RecyclerView 와 Retrofit2를 사용해 영화 목록 얻어오기 (0) | 2019.04.11 |
LinkedTreeMap 을 DTO로 변환 시 발생하는 문제 (1) | 2019.03.21 |