본문 바로가기
반응형

프로그래밍/Android47

Adapter 와 AdapterView AdapterView의 역할은 항목을 나열하는 뷰이다. 하나의 뷰에 여러 데이터를 나열하고 그 중 하나를 사용자로부터 선택 받아 다음 프로세스가 처리되는 뷰이다. AdapterView의 구조는 최상위 View를 기준으로 ← ListView ← AbsListView ← GridView View ← ViewGroup ← AdapterView ← AbsSpinner ← Spinner 상속 관계를 가지고 있다. AdapterView 자체로는 화면에 아무것도 나오지 않으며 화면에 나타내려면 반드시 Adapter라는 클래스를 이용해야 한다. Adapter클래스는 뷰는 아니지만 AdapterView를 만들어주는 클래스 역할을 한다. 또한 안드로이드에서 화면 출력을 위해 액티비티가 실행되어야 한다. 결국 Adapter.. 2018. 10. 22.
안드로이드 타이머 만들기 (TimerTask & Timer & Calendar & Date) 안드로이드 타이머 만들기 (TimerTask & Timer & Calendar & Date) 메인스레드를 이용해 정해진 시간까지 카운트(초)를 갱신하는 작업을 진행했다. 안드로이드는 자바 언어를 사용하므로 자바 언어를 어느정도 알아야 한다. 아이폰의 경우 오브젝티브-C와 스위프트 언어를 학습하고 하면 된다. 아이폰으로는 비교적 쉽게 만들었다. 리소스가 많은편이고 경험도 어느정도 있기때문에. 안드로이드의 경우는 검색하는 것 조차도 어려울정도로 문외한이고 기본적인 학습도 안된 상태로 운영 중인 앱에 기능을 넣다보니 맨땅에 헤딩하는 수준이다. 그래도 하나씩 풀어 만들어질 때 희열은 있다. 재미있다. Timer timer;public void runTask() { TimerTask task = new Timer.. 2018. 10. 18.
Android Main Thread UI처리 관련 팁. Android Main Thread UI처리 관련 팁. 몇일동안 안드로이드 애니메이션 작업을 하고 있다. 메인 메뉴에 약간의 애니메이션을 넣는 작업인데 생각보다 어렵다. 안드로이드가 익숙하지 않은 이유도 있지만 수학적 공식과 난해한 좌표계산은 일찍이 포기한 상태라 더 그런 것 같다. 우여곡절 끝에 외부 라이브러리를 이용해 원하는 애니메이션을 적용할 수 있었는데 이것 저것 소스를 onCreate()안에 집어 넣었더니 애니메이션의 좌표점 계산이 눈에 보이면서 버벅되는 현상이 나왔다. 왜 이런걸까? 하고 @Override 되는 몇몇 메서드를 살펴보니 UI작업을 하는 메서드들이 여기저기서 호출되고 있었다. @Override 되는 onMeasure()와 onLayout()등이 지속적으로 호출이 되는데 onCrea.. 2018. 10. 16.
Gradle Scripts 항목에 대한 이해 Gradle Scripts 항목에 대한 이해 안드로이드 스튜디오로 프로젝트를 하다보니 그레이들(Gradle)에 대한 이해가 필수다. 뭐가 뭔지 모른채 가져다 붙혀넣고 사용하다 보니 버벅대는 일이 많았다. 조금 지난 책이긴 하지만 안드로이드 개발자를 위한 Gradle이란 도서가 있어 구입을 했다. 한번 읽어보니 내용은 쉽다. 하지만 책이 없을 때도 참고할 수 있도록 중요한 항목들만 정리해서 옮겨 보고자 한다. Gradle Scripts 구성 항목. 프로젝트 build.gradle 파일 전체 프로젝트를 빌드하기 위한 안드로이드 Gradle플러그인(안드로이드 Gradle플러그인은 Gradle로 안드로이드 앱을 빌드하는데 반드시 필요하다) 버전을 기입하고 다운로드할 수 있는 저장소를 기술, 프로젝트에 모듈이 한.. 2018. 10. 15.
px to dp & dp to px dp(dip)에 대해 따로 책에서 내용을 옮길 생각이지만 우선 소스를 보다 보니 변환해주는 메서드가 있어 옮겨둔다. 쓸일이 있을지는 모르겠다. /** * * @param px * @return */ public static float pxToDp(float px) { return px / Resources.getSystem().getDisplayMetrics().density; } /** * * @param dp * @return */ public static float dpToPx(float dp) { return dp * Resources.getSystem().getDisplayMetrics().density; } 2018. 10. 12.
build.gradle에서 local.properties load하는 방법 build.gradle에서 local.properties load하는 방법 우여곡절 (곱을 우, 남을 여, 굽을 곡, 꺽을 절) 온갖 복잡한 사정을 가리키는 표현입니다. 굽고 휘고 꺽였으니 그 사정이 어떻겠습니까? -> 지금 나에게 안드로이드가 그렇다. 종일 라이브러리 하나를 본 프로젝트에 넣어 무사히 빌드가 성공되길 간절히 빌고 빌며 수십개의 브라우저 창을 띄우고 여기저기서 긁어 붙혀 넣은 코드의 힘으로 성공을 했다. 그래서 우.여.곡.절 이라는 말이 절로 떠올랐다. 아직도 가야할 길이 천리만리길이지만 한걸음씩 나아가보고자 한다. 얼떨결에 인터넷에서 구한 소스 두 줄. 그냥 기록해 둔다. Properties localProps = new Properties() localProps.load(new Fil.. 2018. 10. 11.
반응형