Android
[Android] 문자열인지 아닌지 확인하는 코드
eyoo
2022. 7. 12. 10:44
데이터의 타입이 문자열인지 아닌지 알아볼수 있는 코드다.
public static boolean isNumeric(String strNum) {
if (strNum == null) {
return false;
}
try {
double d = Double.parseDouble(strNum);
} catch (NumberFormatException nfe) {
return false;
}
return true;
}
더보기
활용 예시:
# 알람 기능이 있는 앱이다.
public class MainActivity extends AppCompatActivity {
ImageView imgAlarm;
TextView txtTimer;
EditText editTime;
Button btnCancel;
Button btnStart;
CountDownTimer timer;
long millisInFuture = 60000;
long countDownInterval = 1000;
MediaPlayer alarmSound;
boolean isWorking = false;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
imgAlarm = findViewById(R.id.imgAlarm);
txtTimer = findViewById(R.id.txtTimer);
editTime = findViewById(R.id.editTime);
btnCancel = findViewById(R.id.btnCancel);
btnStart = findViewById(R.id.btnStart);
alarmSound = MediaPlayer.create(MainActivity.this,R.raw.alarm_sound);
btnStart.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
// 에디트텍스트에서 초정보를 가져온다.
String timeStr = editTime.getText().toString().trim();
if (timeStr.isEmpty()|| !isNumeric(timeStr) ) {
return;
}
millisInFuture = Long.valueOf(timeStr).longValue() * 1000;
timer = new CountDownTimer(millisInFuture, countDownInterval) {
@Override
public void onTick(long l) {
long remain = l / 1000;
txtTimer.setText(remain + "초");
isWorking = true;
}
@Override
public void onFinish() {
txtTimer.setText("타이머가 종료되었습니다.");
YoYo.with(Techniques.Shake).duration(400).repeat(5).playOn(imgAlarm);
alarmSound.start();
isWorking = false;
}
};
if (isWorking == false) {
timer.start();
}
}
});
btnCancel.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
timer.cancel();
txtTimer.setText("타이머가 취소되었습니다.");
isWorking = false;
}
});
}
public static boolean isNumeric(String strNum) {
if (strNum == null) {
return false;
}
try {
double d = Double.parseDouble(strNum);
} catch (NumberFormatException nfe) {
return false;
}
return true;
}
}