목록프로그래밍/Android (13)
처음부터 차근차근
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bIijXj/btryTNupXoK/rDt952yTvuf71AwMoYJRjk/img.png)
배경 지식 Android에서 UI 작업은 메인 스레드에서만 할 수 있다. 이유1. Android UI가 을 따르고 있기 때문(중요) 싱글 스레드 모델 : 안드로이드 화면을 구성하는 뷰나 뷰그룹을 하나의 스레드에서만 담당하는 원칙 1. 메인 스레드를 중단하지 않기 2. 안드로이드 UI 툴킷은 오직 메인 스레드(UI 스레드)에서만 접근할 수 있도록 하기 이유2. 앱의 속도가 느려지기 때문 메인 스레드에서 UI를 맡아서 작업하는 데, UI 작업 말고도 다른 시간이 많이 걸리는 작업까지 메인 스레드에서 도맡아 하면 앱의 속도가 현저히 느려진다. 그래서 UI를 제외한 다른 작업들은 다른 스레드에다 맡겨 분리하는 방법을 선택했다. 메인 스레드는 기본적으로 looper을 가진다. looper은 Message Queu..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bpDwBR/btryk2r6puo/8KzlEUf4FXL2O6jmG9kek1/img.png)
cordova Apache 재단에서 지원하고 있는 하이브리드 앱을 제작하는 프레임워크이다. webview webview 앱 내에 웹 브라우저를 넣는 것이다. webview를 사용하면 앱 안에서 네이버나 구글같이 웹을 들어갈 수 있다. activity_main.xml Androidmanifest.xml MainActivity.java package com.induk.first; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.webkit.WebSettings; import android.webkit.WebView; public class MainActivity extends AppCompatAc..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bb2jYQ/btrxEEdTBOD/7IW51kOtTVtjqQ37kBgBj0/img.png)
뷰와 뷰그룹 뷰 버튼, 텍스트 필드, 체크 박스 같은 것들이다. View class를 상속받는다. 컨트롤 또는 위젯이라 불린다. 사용자 인터페이스를 구성하는 기초적인 블록이다. View 클래스는 모든 뷰들의 부모 클래스 뷰그룹 뷰들을 담는 컨테이너이다. ViewGroup class를 상속받는다. 레이아웃이라 불린다. UI를 작성하는 절차 뷰그룹을 생성한다. 필요한 뷰를 추가한다. 액티비티 화면으로 설정한다. id : 뷰의 식별자 UI 작성하는 방법 2가지 xml 사용 자바 코드 사용 되도록 자바 코드는 변경하지 않는다! 뷰의 크기 단위 px(pixels) : 픽셀. 화면의 실제 픽셀 장치마다 화면 밀도 달라서 되도록 권장하지 않음 dp(Density independent pixels) : 밀도 독립 픽셀..
애플리케이션 구성 애플리케이션 = java 파일 + xml 파일 + 소리 애플리케이션 작성 절차 사용자 인터페이스 작성(XML) : 사용자 인터페이스 화면을 디자인하는 단계 자바 코드 작성(JAVA) : 자바를 이용하여서 코드를 작성하는 단계(activity class) 매니페스트 파일 작성(XML) : 애플리케이션을 구성하고 있는 컴포넌트를 기술하고 실행 시에 필요한 권한을 지정 프로젝트 폴더 설명 java : 자바 소스 들어있는 폴더 Gradle Scripts : 그레이들 빌드 시 필요한 스크립트 폴더 res : resource 줄인말. 각종 리소스들이 저장되는 폴더 예) drawable : 해상도 별 아이콘 or 이미지 파일들이 저장 layout : 화면의 구성 저장 values : 문자열 같은 리..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bfIQjy/btrxIKKWmJN/9IE1i2qIwHAYH0KBjEliM1/img.png)
안드로이드의 특징 재사용이 가능한 애플리케이션 프레임워크(Application framework) 최적화된 달빅 가상 머신(Dalvik virtual machine) WebKit 기반의 내장된 웹브라우저(Integrated browser) OpenGL 2.0 지원하는 최적화된 그래픽(Optimized graphics) SQLite 데이터베이스 지원 각종 오디오, 비디오 규격 지원(MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF) 블루투스, EDGE, 3G, WiFi 지원 카메라, GPS, 나침판, 가속도계 지원 풍부한 개발 환경 제공 장치 ART ART 는 5.0에서 새로 배포되는 자바 가상 머신 미리 앱을 컴파일한다. (주로 설치시) 향상된 가비지 콜렉션 디버깅 향상 안드로..