2012년 8월 30일 목요일

안드로이드 특수문자만 막으려고 할때 쓰는 함수




특수문자는 사용할 수 없습니다.
Please try without special characters. 


InputFilter specialCharacterFilter = new InputFilter() { 
        
            public CharSequence filter(CharSequence source, int start, int end, 
                            Spanned dest, int dstart, int dend) { 
                    for (int i = start; i < end; i++) { 
                            if (!Character.isLetterOrDigit(source.charAt(i))) { 
                            Toast.makeText(getBaseContext(), getString(R.string.not_allowed_special_character), Toast.LENGTH_SHORT).show();
                            return ""
                            } 
                    } 
                    return null
            }
};



mEditSearchName.setFilters(new InputFilter[]{specialCharacterFilter}); 

안드로이드 에뮬레이터 빠르게 실행하는 법


안드로이드 에뮬레이터 빠르게 실행하는 법


1. Intel Atom x86 System Image를 다운

 Extra 쪽의 intel hardware accelerated execution manager도 받으셔서 실행하셔야 합니다. CPU가 Intel VT-X를 지원하고 보드에서 무슨 기술하나를 더 지원해야 합니다.


device manager 선택 후

해당 avd edit -> cpu -> Intel Atom(x86선택)

옵션에서 gpu emulation 옵션을 true 로 변경

2012년 8월 29일 수요일

안드로이드 EditText 특수문자 입력제한.



안드로이드의 입력폼인 EditText를 사용시 특수문자나 어느 특정 단어만 입력받게 허락을 해주려면
filter 관련 속성을 이용하면 된다.

아래처럼 함수를 하나 만들고 사용하는 EditText에 대해서 .setFilters 라는 메서드를 사용하면 된다.

/** 영문~숫자만 특수문자 제한 **/
public InputFilter filterAlphaNum = new InputFilter() {
public CharSequence filter(CharSequence sourceint startint endSpanned destintdstartint dend) {
Pattern ps = Pattern.compile("^[a-zA-Z0-9]+$");
if (!ps.matcher(source).matches()) {
return "";
}
return null;
}
};

/** 한글만 받기 **/
public InputFilter filterKor = new InputFilter() {
public CharSequence filter(CharSequence sourceint startint endSpanned destintdstartint dend) {
Pattern ps = Pattern.compile("^[ㄱ-ㅎ가-흐]+$");
if (!ps.matcher(source).matches()) {
return "";
}
return null;
}
};

한글의 경우 [ㄱ-ㅣ가-힣] 으로 해야 정상입력될 것 같네요^^
그리고 +$가 아닌 *$로 해야 지울 때 문제발생하지 않겠네요...

좋은정보  | 2012/05/23 13:31
좋은 정보 감사합니다~^^
그런데 저같은 초보 분들은 이런 좋은 팁을 보고도 사용하지 못하시는 분들을 위해서..
editText.setFilters(new InputFilter[]{filterAlphaNum}); 
이렇게 사용하시면 됩니다~ㅎㅎ






출처 : http://olpost.com/r/2193292