2024. 2. 24. 20:59ㆍ수업 복습!
멋쟁이 사자 앱스쿨 안드로이드 부분 수업을 마치게 되어 그동안 배웠던 내용들에 대해 정리를 해보았습니다!
1) 안드로이드의 특징들
• 센서 등 다양한 하드웨어 지원
2) Android 가상 머신의 이름
: 안드로이드 가상 머신의 이름은 안드로이드 에뮬레이터입니다!
3) 안드로이드 4대 구성 요소 중 Activity의 정의
: Activity는 안드로이드 4대 구성 요소 중 하나로써 저희가 안드로이드 수업을 듣는 동안 정말 자주 사용했었습니다!
이는 현재 보이는 화면을 관리하는 실행단위이며
애플리케이션을 실행하면 Activity가 실행되고 Activity가 관리하는 화면이 나타나게 됩니다.
또한 Activity는 Fragment를 사용할 때에도 자주 쓰이는데
주로 Fragment를 교환하고 관리하는 역할과 Fragment들이 사용하는 데이터를 관리해주는 역할을 합니다.
4) 안드로이드 4대 구성 요소 중 Service의 정의
: Service는 Activity와 더불어 안드로이드 4대 구성 요소 중 하나로써 주로 사용자에게 보이지 않는 처리를 주로 해줍니다 Activity와의 차이점은 Activity의 경우 화면을 가지고 있어 화면이 보이는 동안 동작하지만
Service는 화면을 가지고 있지 않아 보이지 않는 동안에도 동작하는 것을 의미합니다.
즉 간단히 말해서 오래 걸리는 작업을 백그라운드에서 처리할 수 있게 해주는 컴포넌트입니다.
#예시
이해를 돕기위한 간단한 예시로는 음악을 재생하는 어플리케이션이나
위치추적 어플리케이션 등이 있습니다!
5) AndroidManifest.xml 이 어떠한 역할을 하는지
: AndroidManifest.xml 은 앱의 필수 구성요소로서, 앱의 구성요소를 정의하는 파일입니다.
앱의 고유한 식별자인 패키지명, 앱에서 필요한 권한, 4대 구성요소 가 정의됩니다.
6) ViewBinding 을 사용하기 위한 작업(설정)
1, build.gradle.kts에 들어가서 viewBinding 세팅을 해줍니다!
buildFeatures {
viewBinding = true
}
}
2, 그러고 꼭꼭 Sync Now를 눌러줘야 합니다!
3, 이후 activity로 돌아와서 이렇게 코드를 작성해줍니다!
class MainActivity : AppCompatActivity() {
lateinit var activityMainBinding: ActivityMainBinding
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
activityMainBinding = ActivityMainBinding.inflate(layoutInflater)
setContentView(activityMainBinding.root)
}
}
7) ViewBinding 클래스의 네이밍 규칙
: 기본적으로, ViewBinding 클래스의 이름은 레이아웃 XML 파일의 이름을 기반으로 합니다.
예를 들어, activity_main.xml이라는 레이아웃 파일이 있다면,
해당 ViewBinding 클래스의 이름은 ActivityMainBinding가 됩니다.
이처럼 일반적으로 클래스 이름은 레이아웃 파일의 이름에 "Binding"을 붙인 형태를 따릅니다!
또한, 여러 프래그먼트나 리사이클러뷰 등의 여러 뷰에 대한 바인딩 클래스가 필요한 경우에는 해당 뷰의 이름을 기반으 로 클래스 이름을 지정합니다.
예를 들어, fragment_detail.xml이라는 레이아웃 파일이 있다면,
해당 ViewBinding 클래스의 이름은 FragmentDetailBinding이 됩니다.
8) 사용했던 Layout들의 특징
1, LinearLayout
: 방향성을 가지고 view 를 배치하는 layout 입니다.
가로 혹은 세로방향으로 배치할 수 있으며 한 칸에 하나의 view 만 배치할 수 있습니다.
안드로이드에서 가장 많이 사용하는 layout 으로 여러 LinearLayout을 조합하여 다양한 모양을 만들 수 있습니다.
특히나 저희가 매 수업시간마다 가장 많이 사용한 Layout이라고 생각합니다!
2, ConstraintLayout
: 보다 유연하게 view들을 배치할 수 있게 하는 Layout입니다!
저는 주로 FloatingActionButton을 사용할 때 사용했었습니다!
이러한 방식으로 사용하며
실선 제약 조건 (지정된 기준으로부터 얼마큼 떨어진 위치에 있는지 좌표를 설정합니다.)과
스프링 제약 조건 (지정된 기준으로부터 얼마큼 떨어진 위치에 있는지 비율을 설정합니다)을 활용하여 배치합니다!
3, RelativeLayout
위젯 자신이 속한 레이아웃의 상하좌우 위치를 지정하여 배치하거나 다른 위젯으로부터 상대적인 위치를 지정합니다.
4, TableLayout
위젯을 행과 열의 개수를 지정한 테이블 형태로 배열합니다.
5, GridLayout
테이블레이아웃과 비슷하지만 행 또는 열을 확장하여 다양하게 배치할 때 더 편리합니다.
6, FrameLayout
위젯을 왼쪽 위에 겹쳐서 배치하여 중복되어 보이는 효과를 낼 수 있습니다. 여러 개의 위젯을 배치한 후 상황에 따라서 필요한 위젯을 보이는 방식에 주로 활용됩니다.
9) AdapterView (RecyclerView) 에 대한 내용들
: RecyclerView는 더 유연하고 확장 가능한 아이템 목록을 표시하기 위해 설계되었습니다.
RecyclerView는 ViewHolder 패턴을 사용하여 아이템 뷰의 재사용을 효율적으로 관리하며,
아이템의 추가, 삭제, 이동 등의 작업을 보다 쉽게 처리할 수 있습니다.
또한 RecyclerView는 LayoutManager를 통해 다양한 형태의 레이아웃을 지원하므로,
리스트뷰, 그리드뷰뿐만 아니라 가로 스크롤 뷰 등 다양한 레이아웃을 표현할 수 있습니다.
RecyclerView는 다양한 애니메이션 효과를 쉽게 적용할 수 있는 기능을 제공합니다.
10) GPS Provider에 관련된 내용
- GPS Provider : GPS 위성과 통신하여 3각 측량 방법을 이용해 위치 정보를 습득합니다. 위성과의 전파 송수신이 방해가 되는 요인(방해 전파, 실내, 건물 내, 계곡 등)이 있으면 정확한 위치를 측정할 수 없습니다. ——> 연결이 되기까지 좀 오래 걸린다는 단점이 있습니다!
- Network Provider : 이동통신 기지국, Wifi ap 등 통신망을 통해 위치를 측정할 수 있습니다. →노트북, 컴퓨터,,,, —> 오차가 조금 있을 수 있지만 매우 빠르게 받을 수 있다는 장점이 있습니다
- Passive Provider : 직접 위치를 측정하는 것이 아닌 다른 애플리케이션이 구한 값을 받아 사용하는 방식입니다.
'수업 복습!' 카테고리의 다른 글
RoomDatabase 사용하기! (0) | 2024.03.09 |
---|---|
안드로이드 수업을 마치며 2탄! (0) | 2024.02.26 |
왕초보 안드로이드 개발 11탄 (Menu, 메시지) (0) | 2024.01.31 |
왕초보 안드로이드 개발 10탄( 복습, parcelable, toolBar) (0) | 2024.01.30 |
왕초보 안드로이드 개발 9탄(Actitvity-2) (0) | 2024.01.28 |