평범한 개발자 행복한 가족, 패밀리그램

개발 44

AsyncTask 에 대하여 #2. 스케쥴링 ThreadPool

AsyncTask 에 대하여 #1. 간단한 설명 위 포스팅에서 설명했던 간단한 AsyncTask에 대한 동작외에 실제로 AsyncTask가 동작되는 ThreadPool에 대해간단하게 알아보려고 한다. AsyncTask.java 소스를 살펴보면 클래스 변수 중에 아래와 같은 변수를 볼 수 있다. private static volatile Executor sDefaultExecutor = SERIAL_EXECUTOR; Colored by Color Scriptercs 224 라인에 위와 같이 선언되어 있다.(Android SDK 버전에 따라 코드라인이 다를 수 있다.) SERIAL_EXECUTOR 가 기본 ThreadExecutor 이다 . 여기서 Executor는 AsyncTask Thread를 관리해 주..

AsyncTask 에 대하여 #1. 간단한 설명

안드로이드 App개발에서 빼 놓을 수 없는 AsyncTask에 대한 포스팅을 이번에 해보려고한다. AsyncTask에 대해서는 워낙 많이 사용되고 비동기 처리에서 모르면 안돼는 것이니 자세한 설명은 생략하겠다. AsyncTask에 대하여 1. AsyncTask의 소속 패키지 안드로이드 Framework 소스를 볼 때 패키지에 대해서도 한번 관심을 갖어주어야한다. - android.os.AsyncTask AsyncTask 의 패키지는 android.os 이다. 패키지가 직관적이지 않은가?android 의 os와 관련있는 패키지라는 것이다. 그렇다면 왜 OS와 관련이있을까 ? 답변은 간단하다, AsyncTask의 스케쥴링을 OS에서 해주기 때문이다.Thread를 사용하면 Thread Pool을 만들어 관리가..

Windows echo date 문자 정리

Windows Command line 에서 날짜를 출력하기 위해 Echo를 사용하면 LineFeed와 Newline 을 정리해야 하는 경우가 생긴다. Perl 이나 기타 스크립트를 이용해서 문자열을 붙여서 사용해야 할 경우에 위와 같은 문제에 부딪 힌다. LINUX의 경우는 정말 간단하지만 Windows는 간단하지 않다... 방법을 찾지 못 해 Cygwin을 설치하여 Cygwin GNU util중 하나인 tr을 사용 하였다.. echo %date:~0%_%time:~0,2%%time:~3,2% | tr -d "\\r\\n[:space:] TR에 대한 help를 첨부 한다 사용법: tr []... []Translate, squeeze, and/or delete characters from standard ..

리눅스 more & less

리눅스 more 명령어| (파이프라인) 을 이용하여 긴 문장을 읽어 올 때페이지 단위로 읽을 수도 있고 라인으로 읽을 수 있게도 해준다.cat 명령어와 혼용하여 cat filename | more 를 사용하는 사람들도 있지만more filename 으로도 텍스트 파일을 읽어 올 수 있다.more을 이용해 텍스트 파일을 읽는 도중 v를 입력하면 vi 편집기로 바로 이동한다. 리눅스 lessless를 이용하여 파일을 읽으면 more이나 cat 과 다르게 좌우 상하 이동하면서 파일을 볼 수 있다.기본적으로 사용하는 bash Shell 에서는 안정적이지만 기타 shell 에서는 불 안정한 동작을 보인다.

Window 10 에 기본으로 설치된 앱 삭제 방법

Window 10 에 기본으로 설치된 Preload Application을 삭제하는 명령어가 돌아다니고 있네요.제어판에서 기본 어플리케이션을 삭제 할 수 없기때문에 Window PowerShell 을 이용하여 삭제하는 명령어입니다. 앱 이름 : 3D 빌더명령어 : Get-AppxPackage *3dbuilder* | Remove-AppxPackage 앱 이름 : 알람 및 시계Get-AppxPackage *windowsalarms* | Remove-AppxPackage 앱 이름 : 계산기Get-AppxPackage *windowscalculator* | Remove-AppxPackage 앱 이름 : 캘린더 & 메일Get-AppxPackage *windowscommunicationsapps* | Remove..

에드센스 컨텐츠 불충분 / Adsense / 블로그 광고

나의 블로그에 광고를 달아보려고 AdSense를 추가하였는데. 거부 당했다. 너란 센스 나쁜 센스 그냥해주면 안되나 ㅋ. 구글링을 해보니 티스토리에 에드센스 신청이 위와 같은 상황으로 거부되는 일이 종종있다고한다 ㅋ 콘텐츠 불충분으로 거부당하는 경우가. 텍스트가 없고 이미지만 많을 경우블로그 카테고리에 비어있는 항목이 많을 경우포스팅 수가 적을 경우 라고하는데 뭔가 굴욕이다. 이제 열심히 블로그 포스팅을 해야겠다. 위에 3가지 항목을 체크한다음에 다시 재 도전해봐야겠다.. 이런 좌절감을 선사해 주다니 센스없는 에드센스

Android WebView 캐시 모드

안드로이드 WebView는 Cache Mode (캐시 모드)를 지원한다.123456@Overrideprotected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); .... mWebView.getSettings().setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);}Colored by Color Scriptercs위 와 같이 WebView의 Settings 객체를 가져와 캐시모드를 설정 할 수 있다.(변하지 않는 FrontEnd 페이지 URL을 사용하기 때문에 LOAD_CACHE_ELSE_NETWORK 로 설정되어 있다.) WebView에서 지원하는 CacheMode는 총 ..

Activity와 Fragment간의 데이터 전달, 그리고 Parcelable

Android App 개발을 하는데 Fragment는 특정 UI 들을 하나로 묶고, 다양한 UI 구현에 엄청난 효자 노릇을 한다.(Fragment를 잘 사용함으로, 반복된 UI 구현을 줄일 수 있고, 좀 더 다양하고 깔끔하게 정리된 UI 개발을 할 수 있다.)하지만 단순한 앱을 개발하는데, Fragment를 자유자제로 사용 할 능력이 없다면 그냥 사용하지 않고 개발하는 것을 권한다.(Fragment 사용으로 발생하는 Side effects 들을 감당하기 어려울 수 있기 때문이다) Android개발에서 Fragment를 사용 할 경우에 Activity와 Fragment 간에 데이터를 전달이 필요한 경우가 많이 생긴다.Activity Fragment간의 데이터 전달 방법에 대해서 알아보겠다. 1. Fragm..

개발 맥북 macOS Sierra 업데이트 시 주의 사항

maxOS Sierra로 업데이트 하게 되면, 기존에 설치되 있던 XCode가 초기화 됩니다. 그렇기 때문에 설치 App 목록에 XCode가 사라지게 되는데, 이로 인해 IDE에서 기본 System Version control을 사용하였다면, SVN이나 git command client를 찾을 수 없다고...(핵 노답ㅋㅋㅋㅋ) 안드로이드 스튜디오 노답 인증 스샷 AppStore에서 XCode를 설치 한 뒤 권한 인증 까지 완료해야 시스템 라이브러리에 있는 SVN과 git client를 사용 할 수 있습니다.

안드로이드 에러 처리 (Java try - catch - finally)

Android Java Error 처리를 위해서는 try - catch와 Log cat을 이용한 Error 처리를 기본적으로 사용한다. 1234567try{ //Exception}catch(Exception e){ e.printStackTrace();} cs 위 예제 처럼 catch(Exception e)에 Exception을 e.printStacktrace() 를 호출 하는 것 보단,Log.w(TAG, "Application message", e); 를 이용하여 처리하는 것이 Error 관리가 용이하고,log 필터 시 가독성이 뛰어나다. 123456try{ //Exception}catch(Exception e){ //e.printStackTrace(); Log.w(TAG, "something error..

반응형