-
AutoCompleteAdapter(ArrayAdapter with Filterable) 사용시 비주기적 오류 발생 해결
AppCompatAutoCompleteTextView를 사용하고자 할때 필요한 것이 데이터를 넘겨주는 Adapter이다. 단, 이 Adepter는 extends ListAdapter & Filterable 가 적용되어야 한다. 그래서 보통은 public class StringAutoCompleteAdapter extends ArrayAdapter<String> implements Filterable 형태의 구현을 많이 사용한다. 그리고 대부분의 경우에 AutoCompleteTextView를 사용하는 이유는 검색어 자동완성 등에 사용
-
PHP의 DateTime을 Java (Android)로 전달하기
안드로이드 앱을 개발하게되면 많은 경우에 서버와의 데이터 연결이 필요하다. 대부분의 데이터 타입은 이 과정에서 큰 문제를 일으키지 않는다(데이터 타입만 명확히 한다면). 하지만 DateTime은 조금 까다로울 수 있다. 프로그램에서 시간은 TimeZone을 가지고 있기 때문에 이 부분을 명확히 하지 않으면 의도치 않은 시간으로 표시된다. 게다가 형식이 맞지 않는다면 제대로 전달되지 않을 수도 있다. 네이버 D2에 있는 Java의 날짜와 시간 API를 보면 Java에서의 Date 처리가 불편하다는 얘기가 있다. 이번 작업에서는 서버는
-
안드로이드에서 구글맵 사용시 맵의 보여지는 영역의 좌표를 원하는 pixel만큼 제외하고 가져오기
이 글의 제목이 참 길고 어렵다. 나름대로 정하긴 했지만 어떻게 해야 내용을 설명할 수 있을지 잘 모르겠기에 그냥 필요한 상황을 차례로 적어보려 한다. 안드로이드에서 구글맵을 사용하면서 현재 맵에서 보여지는 영역의 좌표를 얻고 싶을 때가 있다. 중심 좌표와 확대 비율은 center와 zoom을 통해 쉽게 구할 수 있다. 하지만 필요한 것은 보여지는 영역을 모두 포함하는 좌표들이다. 이 좌표들은 대부분 보여지는 화면 내부에 해당하는 데이터를 query 하기 위해서 사용될 것이다. 다른 경우도 당연히 있을 수 있고... 위의 목적대로
-
MySql에서 숫자로 시작하는 문자열의 정렬 문제
[100A, 9B, 10C] 와 같은 문자열의 배열을 정렬한다고 가정하자. 인간이 생각할 때 바른 정렬 결과는 [9B, 10C, 100A]일 것이다.(사람에 따라 다를 수는 있지만 나는 이렇게 되길 원한다.) 그런데 이 문제를 프로그램에서 처리하려고 그냥 정렬을 수행한다면 어떤 결과가 나올까? 결과는 [100A, 10C, 9B] 이다. 간단히 결과를 확인하기 위해 php에서 돌려본 결과이다. <?php $a = ['100A', '9B', '10C']; sort($a); print_r($a); // 실행 결과 Array ( [0] =
-
MySql에서 float 필드 동일값 비교
이번에 작업하면서 mysql의 float 필드를 사용할 일이 있었다. 사실 오랜기간동안 mysql을 사용해 오면서 float 필드를 사용해 본 적이 많지 않았고 float 필드를 범위 검사가 아닌 동일값 검사를 할일이 없었다. 이번 작업에서는 float 필드의 동일값 검사를 하면서 당연히 아래와 같이 query를 만들면 될 줄 알았다. SELECT * FROM TABLE1 WHERE FloatField = 10.1; 그런데 분명 동일한 값이 있음에도 불구하고 검색된 결과가 없었다. 처음엔 어의가 없었다. 당연히 동일한 값이 있는데