일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 강의
- 2021
- 2020
- it
- 2024
- 계획
- python 강좌
- 파이썬 강의
- 프로그래밍
- 강좌
- python
- 파이썬
- BOJ
- 알고리즘
- mmdetection
- dp
- 자작시
- 인생
- 백준
- 공부
- 라즈베리파이 모니터
- 파이썬 강좌
- 자살
- python 강의
- 다이나믹프로그래밍
- 철학
- mmcv
- dynamic programming
- C++
- 슬픔
- Today
- Total
목록
프로그래밍/Android
(6)
반응형
Stargazer
GSON 내에 있는 annotation으로 JSON 과의 직렬화를 할때 사용할 이름을 지정할때 사용한다. 아래는 응답을 받은 후에 저장할 객체의 구조 open class BaseResponse( @SerializedName("isSuccess") val isSuccess: Boolean = false, @SerializedName("code") val code: Int = 0, @SerializedName("message") val message: String? = null ) 응답 JSON 코드의 예시 { "isSuccess":"true", "code":"0", "message":"test" } JSON형식으로 오는 응답을 객체에 넣을때 SerailizedName 안에 value 값에 맞게 알아서 들어..
뷰 바인딩이란? 말그대로 묶는건데, 레이아웃 xml 파일에 대한 액티비티 클래스를 정의 해줄 필요없이 자동으로 각 뷰에 대해 이어서(connect) 생성해주는 기능을 말한다. 뷰바인딩을 사용해야 하는 이유: 일일이 findViewById를 사용할 필요가 없다. Type-safe (레이아웃 내에서 정확한 view 타입을 찾아 맵핑함) Null-safe (레이아웃에 없는 id를 findViewById를 했을 때의 NullPointerException 방지) 뷰바인딩 하는 법: 첫번째로 build.gradle 파일을 수정해야한다. 프로젝트에서 build.gradle(Module) 파일을 열어서 다음과 같이 수정 해야한다. android{ ... viewBinding{ enabled = true } ... } ..
안드로이드의 액티비티는 생명주기라는 것을 가지고 있다. 생명주기(LifeCycle)이란? 액티비티가 시작하고 부터 끝날때까지의 루틴을 가리키는데, 액티비티의 상태 변화에 따른 콜백 메서드를 총칭한다. 쉽게 말하면 상태 변화를 알려주는 메서드다. 생명주기를 알아야 하는 이유: 액티비티 상태 변화에 따른 대응 및 문제 발생 예방을 해야하기 때문이다. (ex. 사용자가 앱을 사용하는 도중에 전화가 걸려오거나 다른 앱으로 전환할 때 비정상 종료되는 문제) 생명주기 총 7가지의 콜백으로 구성되어 있다 onCreate(), onStart(), onResume(), onPause(), onStop(), onRestart(), onDestory() 각 구성을 하나씩 살펴보자 메소드 설명 다음 메소드 onCreate()..
안드로이드 Manifest 파일을 알아보자 우선 기본구조는 다음과 같다. . . . . . . . . . 역할 안드로이드 빌드 도구, 운영체제 및 Google Play 앱에 관한 필수 정보를 설명한다. → 앱 실행전에 시스템이 확보해야하는 필수정보들을 제공하는 목록(명세서)이다. 파일 내 필수 요소 - 패키지 이름과 어플리케이션 ID - 앱 구성요소 - 권한(다른 앱이나 시스템에 접근하기 위해 필요한 권한) - 기기 호환성(필요한 하드웨어 및 소프트웨어) 패키지 이름과 애플리케이션 ID - 패키지이름은 앱에서 생성된 클래스의 네임스페이스를 지정하는데 사용한다.(일반적으로 프로젝트 디렉토리 구조와 일치) - 매니페스트 파일에 선언되어 있는 상대 클래스 이름을 확인 할 때 사용한다. 컴파일 되고 난 후에는 ..
안드로이드는 대표적인 레이아웃이 6가지가 있다. Linear/ Relative / Frame / Table / Grid / Constraint 각각의 레이아웃의 특성을 살펴보자. Linear Layout(선형 레이아웃) 선형이라는 의미로, 여러 View 위젯들을 가로 또는 세로방향으로 나열할때 사용하는 Layout 클래스 입니다. 위젯을 선형으로 나열하는 것을 볼 수 있다. Relative Layout(상대 레이아웃) - Legacy 상대 레이아웃은 뷰를 담고 있는 부모 레이아웃이나 그 안에 들어있는 다른 뷰들과의 상대적 위치를 이용해 화면을 배치하는 레이아웃이다. 현재는 Legacy탭으로 옮겨 졌다. ConstraintLayout이 이를 대체할 수 있으며 더 나은 성능을 갖고있기 때문이다. Frame ..
안드로이드 스튜디오 내에 팔레트(Palette)로 액티비티의 화면을 구성할 수 있다. 각 카테고리별 컴포넌트를 조사해봤다. 카테고리 컴포넌트 설명 예시 Common TextView 화면에 텍스트를 표시하는 기능 앱 소개 타이틀 Button 사용자가 탭하거나 클릭하여 작업을 수행 할 수있는 사용자 인터페이스 요소 페이지 이동 버튼 imageView View 의 속성을 상속받아 공간 안에 사진을 넣음 배달 앱 음식 리뷰 사진 RecyclerView 스크롤이 가능한 컨테이너에 여러 개의 뷰를 담아서 보여주는 뷰 그룹으로 ListView가 더 진보하고 유연해진 버전 유튜브 추천 동영상 목록 무한정 스크롤 FragmentContainerView Fragment를 위해 특별히 설계된 레이아웃 FrameLayout을..