본문 바로가기

모든것

[android][OBJECT][Handler]Handler 사용하기. ※ Handler를 사용 하는 이유는?- 핸들러를 사용하는 이유는 쓰레드간의 통신을 위해서 이다.- 쓰레드간에는 서로의 간섭을 할수 없다. - 안드로이드에서는 작업 지연시간이 5초를 초과 할수 없다. 그래서 시간이 오래 걸리는 작업은 쓰레드를 통해 동작하는데 문제는 해당 쓰레드에서 UI조작이 필요 할때다. 안드로이드는 엄연히 UI기반이다. 입력을 받는 출력을 하던 UI가 필요하다. 그렇기 때문에 별개 쓰레드에서는 UI에 접근 하는 방법이 필요 한데 이것을 Handler가 대신 해준다. ※ Handler 메소드- public void Handler.handleMessage(Message msg) : Looper가 Message Queue에서 Message하나를 꺼내 이 함수에 전달 해줍니다.- boolea.. 더보기
[android][OBJECT][AsyncTask]AsyncTask에 대한 정리 - AsyncTask객체는 쓰레드를 구현 하기 위한 객체이다.- subClassing 을 활용하여 많이 사용한다.- 즉, 내부에서 상속 받아서 오버라이딩 하여 많이 사용한다.- 보통, 오버라이딩을 하게 되면 몇 가지의 메소드가 있는데 거기에 대해서 앞으로 설명 해보겠다.- 해당 메소드가 언제 동작 하는지 주의하자.- 해당 메소드가 어느 쓰레드에 종속 되어 있는지 주의하자.- 클래스가 받는 인자가 어디에 있는지 확인하자. ※ AsyncTask의 정리 doInBackground onPostExecute onPreExecute onProgressUpdate 인자 첫번째 인자 세번째 인자 - 두번째 인자 인자 갯수 여러개 단일 - 여러개 동작 순서 2 4 1 3 동작 개요 스레드로 동작 해야 될 내용이 기술됨 .. 더보기
[android][기초][layout]정렬 지정 ※ fill_parent/match_parent/wrap_content- fill_parent : 경우 채워질수 있는 최대한의 크기가 된다. ( 비권장 : 프로이후 비권장 되고 있다. )- match_parent : 경우 부모의 크기에 맞게 채워진다.( 사실상 fill_parent와 같은 역할로써 match_parent가 권장된다.)- wrap_content : 경우에는 객체의 사이즈에 맞게 크기가 조절이 된다. ※ 정렬 지정 - gravity : 내용물을 어느 쪽으로 배치 할것인가를 지정 하는 속성.- layout_gravity : 레이아웃을 부모의 공간중 어디에 둘지 정함.- 속성의 값 지정법 : ex) android:gravity="수평[|수직]" / android:gravity="center_ve.. 더보기
[android][OBJECT][AsyncTask]AsyncTask를 사용하기. 개요 : android.os.NetworkOnMainThreadException 가 발생했다. 이유를 구글에서 검색 해보니, 허니컴 이후 부터 발생되는 에러로 네트워크 관련 처리를 메인 쓰레드에서 처리 할 경우 발행 한다고 한다. 그래서 나 또한 방법을 찾을수 밖에 없었고, AsyncTask객체와의 만남이 시작 되었다. - Thread를 이용한 경우 안드로이드에서는 UI접근하기가 어려워진다. 이런경우 또한 AsyncTask를 사용한다. - API : http://developer.android.com/reference/android/os/AsyncTask.html - Android에서는 AsyncTask는 쓰레드 관리와 UI쓰레드와의 통신을 원활하게 도와주는 WrapperClass이다. ※ AsyncTa.. 더보기
[android][기초]프로젝트의 폴더 - 프로젝트의 폴더폴더 설명 /src - 자바 소스파일 /res - 리소스 파일이 들어있는 폴더 - XML 레이아웃, 그림파일 문자열을 정의한 XML - 레이아웃 : /res/layout - 그림파일 : /res/drawable - 문자열 : /res/values /gen - ADT가 자동으로 만들어 내는 소스 파일이 들어 있는 폴더. - 프로그램이 사용하는 폴더가 아니므로 신경 쓸필요 없음. /assets - 동영상 파일과 같이 파일 자체를 활용해야 할때 사용. AndroidMainfest,xml - 애플리케이션의 정보가 담겨있다. default.properties - 프로젝트 설정과 관련된 속성이 들어있는 파일 (예, 빌드 타겟) /libs - 라이브러리가 담기는 폴더. 더보기
[android][maven] android에서 Maven사용하기 참고 URL :http://rgladwell.github.io/m2e-android/ ※ M2E의 Android Connector 설치-- 참고 문건 : http://rgladwell.github.io/m2e-android/-- 0. 작업전에 이클립스 버전은 Indigo나 Juno 이상이 설치 되어야 된다.-- 1. Eclipse Marketplace를 열어 "android m2e"를 조회한다.-- 2. Android Configurator for M2E 선택 하여 설치.[..이후 다음 다음 신공~] ※ M2E의 Android Connector 사용-- 1. File -> New -> Project 선택후 리스트에 나온 메뉴 중 Maven -> Maven Project > Create a new Mave.. 더보기
[android][googlePlayService]googleMap 연동. 0. 사전 작업 [API key발급 및 API 서비스 사용설정.]1. eclipse > Window > Android SDK Manager 에서 [Extras]packages를 확장하여 최신 GooglePlayServices를 설치한다. 2. API Key발급 받기! 가. URL : https://code.google.com/apis/console/ 으로 접속.나. 중앙에 "Create project..."라는 버튼을 선택하여, 프로젝트를 생성 한다.다. LNB에 Services라는 메뉴를 선택하면, Google에서 제공하는 Services가 있으며, 그중 원하는 서비스를 선택한다. - 우리는 구글 Map을 사용 할 것이기 때문에, Google Maps Android APIv2를 선택한다. - 선택하고 .. 더보기
[DB][MySQL][관리] MySQL의 TimeOut 1. Time Out의 종류 - connect_timeout (bad handshake timeout) - interactive_timeout (interactive 모드에서 connection time out) ※ interactive 모드는 'mysql>' 과 같은 프롬프트 있는 콘솔이나 터미널 모드를 말합니다.- wait_timeout (none interactive 모드에서 connection time out) 2. connect_timeout - 이 설정은 mysqld 와 mysql client 가 연결(connection)을 맺기 위해서 mysqld 가 연결 패킷을 기다리는 최대 시간입니다.- 즉, TCP 연결을 맺는 과정(3-way handshake)에서, connect_timeout 동안에.. 더보기
[DB][ORACLE][관리]오라클에서 자주 사용하는 딕셔너리 테이블 분류성능뷰 / 딕셔너리딕셔너리세션과 관련된 정보V$SESSION세션에 대한 전반적인 정보를 보여준다V$SESSSTAT세션의 현황에 대한 통계정보를 보여준다V$SESSION_WAIT세션의 WAITING 통계정보를 보여준다V$SESSION_EVENT세션의 현재 WATING EVENT를 보여준다V$SESS_IO세션의 IO현황을 보여준다V$STATNAMESESSSTAT의 STATUS의 이름을 보여준다.성능 관련 정보V$SYSTAT시스템 전반의 성능 통계 정보를 보여준다V$SYSTEM_EVENT시스템의 WATING EVENT별 통계정보를 보여준다V$LIBRARYCACHE라이브러리 캐쉬 사용 정보를 보여준다.V$ROWCACHE데이터 딕셔너리의 사용정보를 보여준다V$LATCHLATCH에 대한 정보를 보여준다V$LOC.. 더보기
[DB][ORACLE][관리]테이블에 락이 걸린 정보를 확인하는 방법 * 데이타를 이용하다보면 테이블에 lock이 걸려, 수동으로 lock을 확인하고, 해당 계정의 섹션을 죽임으로써 락을 풀어 줄 필요가 있을 때가 있다.1. 해당 테이블[조건절에서 제외하면 모든 테이블]의 락정보 확인 쿼리SELECT B.TYPE, C.OBJECT_NAME, A.SID, A.SERIAL#, D.OS_USER_NAME AS OS_USER_NAME, D.ORACLE_USERNAME AS ORACLE_USERNAME FROM V$SESSION A,V$LOCK B,DBA_OBJECTS C, V$LOCKED_OBJECT DWHERE A.SID = B.SID AND B.ID1 = C.OBJECT_ID AND B.TYPE = 'TM' AND C.OBJECT_NAME = '[락정보를 확인할 테이블]' A.. 더보기