본문 바로가기

ANDROID의 속삭임

[android][기초][스타일/테마] style및 theme 적용하기. ※ 안드로이드의 스타일과 테마란?- 스타일 : 스타일은 레이아웃 XML에 있는 하나의 엘리먼트를 대상으로 적용 할수 있는 속성들의 집합.- 테마 : 테마는 어플래케이션내의 모든 액티비티 또는 하나의 액티비티 단위를 대상으로 하는 속성들의 집합. 1. 스타일 꾸미기. - 'res/values' 디렉토리에 'styles.xml'이라고 하는 XML파일을 생성 하여 사용.- 엘리먼트 구조 [[][...] ] ※ parent 속성은 어떤 리소스로부터 스타일이 상속받는(ex>parent="@style/Text") 역할을 합니다. 스타일은 어떠한 유형의 리소스도 상속 할수 있는데, 일반적으로 항상 표준 안드로이드의 스타일 리소스를 상속 받은뒤, 변경할 부분만 바꾸어 주는 방식으로 주로 사용. 2. 테마 꾸미기.가. .. 더보기
[android][AndroidManifest][설정]화면에서 상태바와 타이틀바 없애기. ※ 상태바나 타이틀바의 설정은 /AndroidManifest.xml 에서 가능하다. 1. 상태바/타이틀바 모두 없애기 2. 타이틀바 없애기 1. java code에서 적용하기 //타이틀바 없애기requestwindowFeature(Window.FEATURE_NO_TITLE); //타이틀바를 남기고 상태바 없애기getWindow().setFlags(WindowManager.LayoutParams.Flag_FullSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); 2013/05/27 - [ANDROID의 속삭임] - [android][기초][스타일/테마] style및 theme 적용하기. 더보기
[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를 선택한다. - 선택하고 .. 더보기