목록Android (196)
woong's
Android runOnUiThread 사용하기 안녕하세요. 오늘은 runOnUiThread 에 대해서 포스트를 써보려 합니다 . runOnUiThread 는 Thread 안에서 UI 이 접근을 가능하게 도와주는 역할을 합니다 . Android UI 관련해서는 mainTread 에서 밖에 접근이 되지 않습니다 . Thread 안에서 UI 를 접근하면 경고를 나타 냅니다 . 그해서 Thread 안에서 UI 접근을 하고 싶을때 runOnUiThread 사용 하시면 됩니다 . runOnUiThread 사용법은 쉬워서 아래코드만 보셔도 충분히 이해할수 있습니다 . Colored By Color Scripter™123456 ((MainActivity) context).runOnUiThread(new Runnabl..
Android Handler 사용하기 안녕하세요 . 오늘은 Activity 사 아닌 Class 에서 Handler 를 사용하는 방법에 대해서 말씀 드리겠습니다 . Web Socket 을 공부하다 보니 MainThread 가 아닌 곳에서 UI 를 접근 하는 경우가 발생했습니다 . 그 경우에 Handler 로 처리 하지 않으면 아래와 같은 경고를 받게 됩니다 . android.view.ViewRootImpl$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views. 이와 같은 경고를 받게 됩니다 . 이 경고는 MainThread 에서 UI 를 접근 하지 않은 경우에 발생하는 ..
Android AsyncTask 병렬처리 하기 안녕하세요 . 오늘은 Android AsyncTask 병렬처리에 대해 말씀드리겠습니다 . 현재 스마트 TV 컨버젼스를 진행하면서 polling 을 사용하는데 polling 이 진행되는 상태에서 다른 액션을 진행하면 진행이 안되는 현상을 발견하게 되었습니다 . 바로 Android AsyncTask 가 기본적으로 직렬 처리를 하고 있기 때문이였습니다 . Android HoneyComb 이전에는 병렬처리가 자동으로 처리가 됩니다 .하지만 Android 측에서 병렬처리로 인한 문제들이 많이 생겨서 HoneyComb 부터 다시 직렬처리로 AsyncTask 를 변경하였습니다 . 그래서 HoneyComb 이상부터는 병렬처리를 하기 위해서는 아래와 같은 코드를 통해서 병렬..
Android CountDownTimer 사용하기 안녕하세요 . 오늘은 Android CountDownTimer 에대해 포스트를 써보려 합니다 .안드로이드 에서 유용한 Android CountDownTimer 가 있습니다 . 처음에는 존재여부를 모르고 Thread 나 AsyncTask 를 통해서 타이머를 구현하곤하였는데 ..Android CountDownTimer 는 상당히 편리 한것 같습니다 . Colored By Color Scripter™123456789101112131415161718192021 xml 구성은 카운트를 세기 위한 textView 하나를 넣었습니다 . Colored By Color Scripter™123456789101112131415161718192021222324252627282..
Android 어플 런칭후 DB 수정시 주의해야할 점 이번에 북트리 도서관리 어플을 런칭하고 저의 짧은 지식으로 인한 사용자들에게 불편한점을 끼친 사건이 있었습니다 . 그것은 바로 어플 업데이트를 통해 좀더 좋은 서비스와 기능을 제공하려다 보니 DB 수정이 있었습니다 .정말 취지는 좋았습니다 .하지만 여기서 문제가 있었습니다 . 1.1.1 버젼을 쓰는 사용자는 기존의 추가 되지 않은 DB 를 사용하다가 업데이트 DB를 받았을 경우 에러가 나타나는 일이 생겼습니다 . 여기에 대해서 어떻게 해결해야 할지 모르고 있었습니다 . 이것때문에 문제가 발생했는데 어떻게 해결해야하지 ? 가 의문이였습니다 . 하지만 역시 저와 같은 경험을 하신분들이 있었네요.. 저와 같은 경험을 하신분들의 글을 통해 해결을 할수 있었습..
안드로이드 ProGuard 사용하기 프로가드는 널리 사용되고 있는 코드 난독화 툴로, 여러분의 어플리케이션을 크래커의 공격으로 부터 보다 안전하게 보호하고 동시에, 코드 사이즈를 줄여주며, 그리고 약간의 최적화도 곁들여 주는 아주 아주 훌륭한 오프소스 툴 [출처] 안드로이드 이클립스에서 Proguard(프로가드) 사용하기|작성자 휴우 진저브레드 버전 부터는 아예 ADT 단에서 프로가드 사용을 지원 1. ProGuard 를 사용하기 위해서는 현재 사용하고 계신 ADT 를 최신 버전(8.0.1 이 후 버전)을 설치 2. 업데이트를 마친후에 프로젝트를 생성해보면 proguard-project.txt, project.properties 가 생긴것을 확인 할수 있습니다. 3. project.properties 코..
Posted by Tim Bray on 19 July 2010 at 11:41 AM [멀티태스크 상황에 처하는 것을 기꺼워하는 안드로이드 그룹 엔지니어 Gilles Debunne이 쓴 글. - Tim Bray] 응답성 있는 애플리케이션을 만드는 좋은 사례는 여러분의 메인 UI 쓰레드에게 최소한의 작업만을 시키는 것이다. 시간이 오래 걸릴 가능성이 있어서 애플리케이션에 장애가 될만한 작업은 별도의 쓰레드를 통해 처리해야 한다. 그러한 작업의 전형적인 예로는 예측하기 어려운 지연 현상들이 수반하는 네트워크 오퍼레이션을 들 수 있다. 사용자들은 일시적인 멈춤 정도라면 참아줄 수 있을 것이다. 특히, 뭔가를 진행하고 있다고 피드백을 제공해주면 인내심을 발휘할 수 있다. 그러나 아무 공지도 없이 멍 때리는 애플리..
Android http Retrofit 사용하기 안녕하세요. android http volley 라이브러리를 사용 했는데 , 최근에 retrofit 이 좋다는 이야기들이 많아서바꾸어 보려고 포스트를 작성하고 있습니다 . 무엇이 바뀌고 , 좋아졌는지를 먼저 알아보는것이 우선인것 같습니다 . 1. 어노테이션을 통한 가독성 증가2. 속도 증가 위 그래프를 보면 속도면에서 굉장히 좋은 것을 볼 수 있습니다 . 출처 : http://instructure.github.io/blog/2013/12/09/volley-vs-retrofit/ 1. 준비 과정 1 2 3 4 5 6 7 dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile 'co..
Android GoogleAnalytics 사용하기 안드로이드 앱을 만들다보면 화면이 몇번 보여 졌는지 , 어떤 이벤트가 많이 발생하였는지 , 사용자가 얼마나 머물렀는지에 대한 통계를 알고 싶을때가 있습니다 . 이러한 통계를 쉽게 사용할수 있는 구글의 통계가 있습니다 . GDG 코리아 김종찬님 께서 정말 쉽게 설명해 놓으신 자료를 보고 포스트를 작성 했습니다 .http://googledevkr.blogspot.kr/2014/06/google-analytics-for-android.html 위 링크를 보고 하니 정말 쉽게 구글 통계를 만들수 있었습니다 .
Android Glide 사용하기 안녕하세요. Glide 는 Android ImageDownLoader 입니다.기존에 저도 universal image loader , Volley 를 이용하였는데 동생에게 전해 들어서 Glide를 써보았습니다.Volley 보다 좋다는 컨퍼런스의 자료를 보고 저도 사용해 보았습니다.코드가 정말 간단해서 보기 좋은것 같습니다. GDG Android 컨퍼런스의 Glide 를 소개해주신 전병권님의 발표 자료 입니다. 1. 네트워크 통신을 하기 때문에 인터넷 퍼미션을 추가 합니다. 1 cs 1 2 3 4 dependencies { compile 'com.github.bumptech.glide:glide:3.5.2' compile 'com.android.support:suppo..