본문 바로가기

카테고리 없음

[Android] 안드로이드 개념 복습

1) 안드로이드의 특징들

애플리케이션 프레임워크
ART 가상 머신
OPEN GL ES 3.x 기반 3D 그래픽 지원
SQLite 데이터 베이스
다양한 미디어 지원
Android Studio IDE 제공
센서 등 다양한 하드웨어 지원

 


2) Android 가상 머신의 이름

= ART 가상 머신

 


3) 안드로이드 4대 구성 요소 중 Activity의 정의

= 눈에 보이는 화면을 관리하는 실행 단위

 

4) 안드로이드 4대 구성 요소 중 Service의 정의

= 화면을 가지지 않은 실행 단위. 백그라운드 프로세싱


5) 안드로이드 4대 구성 요소 중 Content Provider의 정의

= 저장된 데이터를 제공하기 위해 실행되는 실행 단위


6) 안드로이드 4대 구성 요소 중 BroadCast Receiver의 정의

= OS가 이벤트가 발생했다는 시스템메시지를 받으면 실행되는 실행 단위

 

 


7) AndroidManifest.xml 이 어떠한 역할을 하는지

= 안드로이드 애플리케이션에 관련된 설정을 관리하는 역할

 


8) ViewBinding 을 사용하기 위한 작업(설정)
  1. Module :app 수준의 build.grade.kts 파일 오픈 (build.gradle.kts (Module :app)
  2. 해당 파일에서 android 블럭 내에  
buildFeatures{
          viewBinding = true
  }
     작성 후 sync now
  3. 뷰바인딩을 사용할 액티비티 파일에서 ViewBinding 객체를 가져와서 사용

 

 


9) ViewBinding 클래스의 네이밍 규칙
: Activity 클래스의 이름이 MainActivity라면 뷰바인딩의 네이밍은 activityMainBinding,
  Fragment 클래스의 이름이 LikeLion이라면 뷰바인딩의 네이밍은 fragmentLikeLionBinding.
  즉, 해당클래스의 종류+클래스이름+Binding 의 형식

 

 


10) 사용했던 View 들의 특징
  1. TextView: 사용자에게 보여주고자 하는 문자열을 표시하는 View

  2. ScrollView: 배치되어 있는 View가 화면을 벗어날 경우 스크롤을 할 수 있도록 제공하는 View
        기본은 위아래 스크롤이며 HorizontalScrollView 사용시 좌우 스크롤을 제공

  3. ImageView: 사용자에게 보여주고자 하는 이미지를 표시하는 View
         이미지는 res폴더의 drawable폴더에 저장
         벡터방식의 이미지는 mipmap폴더에 저장

  4. CardView: 화면에 배치되는 View들을 그룹으로 묶어 관리할 수 있는 View
       뷰 자체가 공중에 떠 있는 듯한 모습으로 표시

  5. RecyclerView: 수많은 항목을 보여줄 때 사용하는 AdapterView의 한 종류
리싸이클러뷰는 항상 3가지를 구성해야 한다
-데이터의 개수 -보여줄 객체(의 양식) -보여줄 데이터의 양식
따라서 위 정보들을 결정하는 Adapter를 직접 구현해야 함

 



11) 사용했던 Layout들의 특징

Linear Layout
 - 방향성을 가지고 view를 배치하는 것.
 - 가로방향, 세로방향으로 설정 가능 하다.
 
Frame Layout
 - 내부에 배치된 View 들이 같은 자리에 계속 배치되는 것.
 - 겹쳐서 view를 배치 할 수 있는 것.
 
Constraint Layout
 - 유연하게 화면을 구성할 수 있는 것.
 - 제약조건이 2가지 있다.
 - 실선 제약 조건: 절대적 길이를 의미(좌표 길이)
 - 스프링 제약 조건: 상대적 길이를 의미(비율 설정)

12) 각 메뉴들의 특징

 - Option Menu: 안드로이드에서 화면 하나당 하나씩 가질 수 있는 메뉴.
 - Context Menu: View를 길게 누르면 타나타는 메뉴 (직관적이지 못함.)
 - Popup Menu: 개발자가 코드를 통해 원하는 View에 띄우는 메뉴 (원하는 시점에 띄우는 것)


13) AdapterView (RecyclerView) 에 대한 내용들

 - ListView와 GridView의 구현이 비슷한 부분이 많이 이를 통합한 View 입니다.
 - 뷰홀더, 어댑터, 레이아웃 매니저가 있어야 합니다.
 - 뷰홀더 클래스: 항목 하나를 구성하는 View들의 주소값을 가지고 있는 클래스. (상속 받아오기)
 - 어댑터 클래스: View를 구성하기 위해 필요한 정보를 가지고 있는 요소.
     -> onCreateVeiwHolder: 아이템 뷰를 관리하는 ViewHolder 객체 생성.
 -> getItemCount: RecyclerView의 전체 항목 개수를 반환.
 -> onBindViewHolder: position에 해당하는 데이터를 ViewHolder가 관리하는 VIew에 바인딩.
 - 레이아웃 매니저: 항목을 어떻게 배치하여 보여줄건지 결정하는 것.  ex) LinearLayoutManager
 
 
14) 여러 메시징 도구들의 특징들

 - Toast: 잠깐 보여줬다가 사라지는 메시지 (디바이스 화면에 노출)
 - Snackbar: 잠깐 보여줬다가 사라지는 메시지 (현재 액티비티에 노출)
 - Dialog: 애플리케이션 화면에 메시지를 띄울 때 사용한다 (사용자가 특정 버튼을 눌러야 없어진다)
 - Notification: 단말기의 알림 메시지 창에 나타나는 메시지이다. (어플 실행을 유도하기 위해 사용)


15) SQLiteDatabase에 관한 내용들

 - 안드로이드에서 사용하는 내장 데이터베이스로 표준 SQL문을 사용하는 관계형 데이터베이스 입니다.
 - Create, select, Insert, Update, Delete 쿼리를 수행합니다.

 - OpenHelper란.
   - SQLite 데이터 베이스를 사용하려면 SQLiteOpenHelper를 상속받은 클래스를 만들어야 합니다.
   - 사용할 데이터베이스의 이름을 설정하는 것 뿐만 아니라 다음 기능들을 제공한다.
-> onCreate 메서드가 호출되면 테이블을 만드는 쿼리를 실행한다.
-> onUpgrade 메서드가 호출되면 기존의 테이블을 새로운 구조로 변경하는 쿼리를 실행한다.

 - 데이터를 조회 하기 위해선 rawQuery 메서드를 사용합니다.
 - 그 외에 수정, 저장, 삭제를 할때는 execSQL 메서드를 사용합니다.
 


16) 단위에 내용

px : 실제 사용할 픽셀의 개수

dp : 160ppi 액정에서 1dp = 1px

sp : 단말기에 설정되어 있는 글자 크기에 따라 가변
       기본 크기에서
160ppi 액정에서 1sp = 1px

mm : 밀리미터

in : 인치

pt : 1pt = 1/72인치

 


17) 각종 센서들

- 센서

= 사용자들에 대한 정보를 수집

 

- 센서의 종류

1. 조도 센서

= 주변 밝기를 측정 -> 화면 밝기 조절

 

2. 기압 센서

= 공기압(변화) 측정 -> 경사도, 건물의 층 수 계산

 

3. 근접 센서

= 단말기와 물체 간의 거리 측정(cm) -> 실제로는 근접 여부만 측정 O

 

4. 자이로 스코프 센서

= 단위 시간당 회전한 각도 값을 측정

 

5. 가속도 센서

= 단말기의 기울기를 측정

 

6. 마그네틱 필드

= 단말기 주변의 자기장 값(방향)을 측정

     -> 기울기에 따른 오차를 없애기 위해 가속도 센서와 같이 사용하여 정확한 방위값 측정

 


18) GPS Provider에 관련된 내용

- GPS Provider = GPS 위성과 통신하여 3각 측량 방법을 이용해 위치 정보 습득

 

- GPS Provider 특징

위성과 전파 송수신이 방해가 되는 요인(방해전파, 실내, 건물내, 계곡 등)이 있으면 정확하게 측정 X

필요할 때마다 연결하여 사용(항상 연결 X)

연결할 때마다 속도 상이 -> 속도 매우 느릴 수도, 빠를 수도 있음

다른 Provider에 비해 정확함

 

- GPS Provider 권한

"ACCESS_FINE_LOCATION" 등록

 

 

19) layout 폴더내의 리소스 관리에 관련된 내용들

xml 파일을 통해 화면 구성

- Activity가 처음 나타날 때 모습 설정

 

실행 중 View 만들어 추가할 경우

-> 코드를 통해 View 만들어 추가

    1. LayoutInflaterinflate 메서드 사용 : XML을 통해 View 객체 생성

    2. ViewBinding 사용: View 생성,  사용

 


20) values 폴더내의 리소스 관리에 관련된 내용들

-> 프로그램에서 사용되는 값들을 설정하는 파일이 존재

 

- 특징

파일 이름은 중요 X

xml파일에 등록되어 있는 값들의 이름으로 resource id가 생성

<태그명 name="resource id"/>

 

- value 종류

1.색상 관리 <color> 

리소스에 등록된 색상 가져오기: getColor(id)

 

2. 단위에 맞는 크기 관리 <dimen>

리소스에 등록된 크기 가져오기: resources.getDimension(id)

 

3. 문자열 관리 <string>

리소스에 등록된 문자열 가져오기: resources.getString(id)

 

문자열 배열 <string-array><item></item></ string-array >

리소스에 등록된 문자열 배열 가져오기: resources.getStringArray(id)

 

- 다국어 지원 가능(Localization)

- 색상과 문자열은 Activity에서 값을 가져오는 메서드를 제공해서  resources.를 생략할 수 있다