-
안드로이드 스튜디오에서 WIFI로 Run/Install/Debug 하기
이제 안드로이드 개발을 시작한지 6개월 가량 된 것 같다. 나이 주 개발 영역은 웹이다. 프론드/백엔드, 서버 등등 웹에 관련된 일을 주로하며 예전엔 아이폰 개발도 일부 했었다. 하지만 회사 업무로 인해 안드로이드를 시작하게 되었고 6개월이나 했음에도 아직 초보를 벗어나지 못한 것 같다. 불필요한 사설이 길었지만 6개월간 왜 불편함을 그냥 당연하게 생각하고 작업을 했는지 안타깝다. 어제는 불현듯 책생 위에 널브러져 케이블들을 보며 이걸 없앨 수 없나? 라는 생각이 들었다. 내 책상 위에는 아이폰이 3개, 안드로이드 폰이 2개, 충전
-
옥토프레스에 구글 번역기 달기
구글에서는 웹사이트에 여러가지 언어로 번역해서 보여줄 수 있는 기능을 제공해 준다. 이 블로그에 한국어가 아닌 다른 언어를 사용하는 사람이 누가 오겠냐만은 이 블로그는 여러가지 실험을 하기 위한 블로그이므로 구글 번역기도 달아봤다. 생각보다 간단하다. 구글 번역 스크립트 생성 http://translate.google.com/manager/website/ "웹사이트에 지금 추가"를 눌러 다음으로. 번역기를 넣을 웹사이트 주소를 입력하고 언어 선택 후 다음. 원하는 옵션을 선택하고 다음. 번역 스크립트 완성. 이제 이 스크립트를 복사
-
안드로이드에서 Dialog 사용시 WindowManager$BadTokenException 발생
안드로이드에서는 거의 모든 작업에 context를 사용한다. 그런데 이 context는 크게 application contet와 activity context가 있다. 문제는 사용시에 구분해서 사용하지 않는다는 것이다. 명시적으로 특정 context를 요구하지 않는다. 이로 인해 많은 혼란이 있고 crash도 많이 발생한다. 사실 오류를 줄이려면 가능한한 activity context를 사용하는 것이 좋다.(경험상...) 하지만 안드로이드에서는 가급적 application context를 사용하기를 권장한다. 가장 대표적인 이유는
-
안드로이드 View.isLaidOut / View.post
안드로이드 View는 isLaidOut이라는 함수를 가지고 있다. 단, API 19(KITKAT)부터 사용가능하다. 사실 그 이하의 기기에서도 다른 방법을 통해서 사용가능하다. 아주 간단히. 이 부분은 나중에 다시 설명하겠다. 우선 isLaidOut 함수에 대해 안드로이드 메뉴얼에는 다음과 같이 나와있다. public boolean isLaidOut () Added in API level 19 Returns true if this view has been through at least one layout since it was la
-
안드로이드에서 android.os.NetworkOnMainThreadException을 발생시키지 않고 HTTP Ping 보내기
오늘은 작업을 하던 중간에 서버로 ping을 보내야 하는 작업이 생겼다. 정확하게는 서버에 간단한 값을 전송해서 로그로 쌓기 위한 작업이다. 우선 안드로이드는 main thread에서 network 작업을 할 수 없도록 되어있다. 억지로 하려고하면 android.os.NetworkOnMainThreadException이 발생한다. 간단히 생각해서 handler를 사용하는 방법도 있으나 메인 handler를 사용하면 마찬가지다. 그래서 가장 간단한 방법은 AsyncTask를 사용하는 것이다. 아래는 url을 인자로 받아 http로 접