728x90
반응형

Android 89

<정리> 자기소개 앱 구현 2

[깃허브] 12.18 링크 추가 예정 어제 구현을 다 마치고 오늘은 궁금했던 것을 오전에 튜터님께 물어보러 갔었다. 챌린지반 담당 튜터님이라 더 편하게 얘기를 했는데... 뭔가 추가과제를 얻어온 느낌이랄까? 물론 궁금했던 것은 잘 해결되었다... 잘 해결되었는데 뭔가 할게 더 많아진 느낌? 궁금했던 거는 사실 이유가 궁금했던 거고 간단히 수정이 가능한거면 하고 아님 말고 수준의 내용이었다. 나만의 추가과제는 오전부터 시작해서 지금까지 진행하다가 내가 보기에 마무리가 된 거 같아서 스톱했다. 1. applicationContext 이걸 질문하러 갔었다. ContextCompat.getColor()를 사용할 때 Context를 넣어야하는데 어디에서는 this가 되고 어디서는 안되서 applicationCon..

Android/StoreInfo 2023.12.15

<정리> 자기소개 앱 구현

이전까지는 코틀린만을 이용해 콘솔에서 결과를 보는 과제가 나왔지만 안드로이드 앱개발 입문 주차 과제로 자기소개 앱 구현이 나왔다. 이전에 안드로이드를 만져볼 때 해봤던 부분이어서 순탄하게 진행했다. 그리고 챌린지반도 자기소개 앱과 연관된 회원가입 시 유효성 검사하는 게 과제로 나왔는데 이건 좀 오래 걸렸지만 이전에 채팅앱을 만들어본 기억과 프로젝트가 남아 있어서 거의 다 완성했다. 두 개의 과제를 진행하면서 알게 된 것들이나 정리해놓을 필요가 있는 것들을 적어놓으려고 한다. 1. registerForActivityResult 나는 이거를 회원가입 액티비티에서 입력한 정보를 로그인 액티비티에 바로 입력되게 하기 위해서 사용했다. registerForActivityResult()는 Activity Resul..

Android/StoreInfo 2023.12.14

<정리> 메모 앱 만들기 1일차

새로운 앱 만들기가 시작되었습니다~~!! 이번에 뭘할까 정말 고민이 많았고 그 사이에 시간도 없어서 미뤄지다가 드디어 오늘 정해졌습니다. 제가 요즘 많이 사용하고 있는 메모 앱을 선택해서 최대한 비슷하게 따라해보고 가능하다면 다른 기능들도 추가적으로 넣어보려고 합니다. 이번 앱 만들기를 통해서 UI 구성이라던가 화면 간 데이터 주고 받는 것에 대해 좀 깊이 알 수 있지 않을까 기대 반 피로 반입니다. 전체 코드는 파일이랑 코드들이 정리가 좀 되면 깃허브 링크로 올릴 예정입니다. 1. 커스텀 Toolbar 만들기 아... 이거 오래 걸렸다. 내가 원하는 모양으로 하려니까 커스텀을 약간 해야하더라 내용이 어려운 게 아니라 관련 정보를 찾는 게 힘들었다. 내가 한 방식은 가장 기본적은 틀은 레이아웃에서 만들고..

Android/Kotlin 2023.12.13

Fragment lifecycle에 대한 이해

각 Fragment 인스턴스마다 고유한 lifecycle이 있다. 또한 Fragment의 뷰는 Fragment lifecycle과는 독립적으로 관리되는 별도의 lifecycle이 있다. 아래 이미지를 보면 조금은 이해될 것이다. 아래 이미지는 FragmentManager에 Fragment가 추가된 이후(onAttach() 함수가 호출된 이후)의 lifecycle을 나타내고 있다. onAttach() - Fragment가 FragmentManager에 추가되고 호스트 액티비티에 연결될 때 호출됨 - 이 시점에 Fragment가 활성화되고, FragmentManager는 Fragment Lifecycle을 관리하기 시작 onCreate() - Fragement만 CREATED된 상황 - Fragment를 생..

Android/StoreInfo 2023.12.12

activity lifecycle에 관한 이해

사용자가 앱을 탐색하고, 앱에서 나가고, 앱으로 다시 돌아가는 등의 행동을 하면 앱의 Activity 인스턴스는 자신의 lifecycle 안에서 서로 다른 상태를 통해 전환된다. Activity 클래스는 activity가 상태 변화를 알아차릴 수 있는 여러 콜백 메서드를 제공한다. 각 콜백 메서드는 상태 변화에 적합한 특정 작업을 실행할 수 있게 해준다. 적시에 알맞은 작업을 하고 적절하게 전환을 처리하면 앱이 더욱 안정적으로 기능할 수 있다. lifecycle 콜백 메서드를 잘 구현하면 앱에서 다음과 같은 문제가 발생하지 않도록 예방하는 도움이 될 수 있다. - 사용자가 앱을 사용하는 도중에 전화가 걸려오거나 다른 앱으로 전환할 때, 앱이 비정상 종료되는 문제 - 사용자가 앱을 활발하게 사용하지 않을 ..

Android/StoreInfo 2023.12.12

<강의> 안드로이드 앱 개발 입문 4주차

액티비티와 인텐트, 액티비티 라이프사이클에 관련된 내용이 나왔다. 이전에 블로그에 이 내용을 담았었는데 그 때는 공식문서만 보고 작성했었다. 비교해보는 것도 재미있겠다 싶다. https://retry-thinksubox.tistory.com/6 https://retry-thinksubox.tistory.com/9 1. 안드로이드 4대 컴포넌트 안드로이드 애플리케이션을 구성하는 컴포넌트... 나는 뷰의 위젯이나 레이아웃을 말할 때 컴포넌트라고 했었는데 컴포넌트는 여기서 쓰는 거였다. 컴포넌트는 애플리케이션의 구조를 정의하고 안드로이드 시스템과 어떻게 상호작용하는지를 결정한다. 1) 액티비티 : 사용자가 직접 상호작용하는 화면 - 이메일 앱 내의 목록 화면, 작성 화면 등 - UI를 담당하고 사용자의 입력에..

Android/StoreInfo 2023.12.12

<강의> 안드로이드 앱 개발 입문 3주차

그냥 따라할 때 자주 쓰던 것들에 대한 내용들이었다. UI에 관련된 것들이었는데 알고 있던 것들은 제외하고 정리했다. 1. 뷰(View) 뷰라는 것은 안드로이드 앱의 UI를 구성하는 기본단위이다. 또한 모든 UI 컴포넌트들의 부모 클래스이다. 코드를 작성할 때 View를 매개변수로 받는 함수를 짜거나 View 클래스 변수를 만들기도 하는데 정확하게 알게 된 건 처음이다. 뷰는 위젯과 레이아웃으로 구성된다. 완전 다른 거라고 생각했던 위젯과 레이아웃이 뷰 안에 속한다는 걸 알게 됐다. 위젯은 View의 서브클래스이고 앱 화면을 구성하는 시각적으로 보이는 UI요소를 말한다. 주로 많이 사용하던 버튼, 텍스트뷰, 이미지뷰 등이 포함되어서 익숙하다. 레이아웃은 View가 아니라 ViewGroup의 서브클래스이면..

Android/StoreInfo 2023.12.12

안드로이드 코틀린 스타일 가이드

[공식문서] https://developer.android.com/kotlin/style-guide?hl=ko 이런 가이드가 있는 줄 모르고 있었다. 오늘 시간을 들여서 쭉 읽어봤는데 대부분은 의식하고 했든, 의식하지 않고 했든 지키고 있더라 여기에는 내가 못 지키고 있었던 부분들만 적어놔보려고 한다. 1. 조건문 중괄호 조건이 한 줄로만 가능하고 else 문이 존재할 때 보통은 중괄호를 쓰지 않고 두 줄로 썼었는데 그것보다는 중괄호로 감싸주는게 맞다는 걸 알았다. if (string.isEmpty()) return // WRONG else doLotsOfProcessingOn(string, otherParametersHere) if (string.isEmpty()) { return // Okay } e..

Android/StoreInfo 2023.12.11

<강의> 안드로이드 앱 개발 입문 2주차

1. 북마크 기능 이런 기능이 있는 지 몰랐다. 저번 과제를 할 때 코드가 길어져서 함수를 찾으러 다니거나 사용한곳에서 컨트롤 클릭으로 타고타고 그랬는데... 영상에서는 F3이라고 하셨지만 내가 찾아보니 F11이었다. 그리고 북마크 목록을 볼 수 있는 건 컨트롤 F3이라고 하셨지만 내 컴퓨터에서는 Shift F11이었다. 이부분은 맥과 윈도우의 차이라고 생각된다. 2. 문자열 작성 나는 뷰들에 문자열 값을 넣어야할 때 그냥 "" 안에 적는 걸 선호했다. 왜 strings.xml에 귀찮게 적어야하는지 이유를 잘 몰랐다. 그런데 영상을 보니 그것에 관련해서 간단하게 말해주시더라 바로 다국어 지원 때문이라고 했다. 그걸 들으니까 이해가 갔다. 뭐... 다른 이유들도 있을테니 앞으로는 특히 변하지 않을 문자열들..

Android/StoreInfo 2023.12.11

<강의> 안드로이드 앱 개발 입문 1주차

1주차는 완전 대학교 강의 OT느낌이었어서 아는 내용이 대부분이었다. 물론 안드로이드 시작이나 점유율 같은 부분들은 잘 모르는 부분이긴했다. 하지만 설치, 프로젝트 생성 같은 부분은 해본 부분들이라 그냥 넘어간다. 그래도 새로 알게 된 것들이 있어서 추가로 찾아본 것까지 해서 적어놓으려고 한다. 1. Intent 관련 내가 보통 Intent를 사용하여 화면 전환을 할 때 쓰는 코드는 다음과 같았다. val intent = Intent(this, 이동할 액티비티) startActivity(intent) 그런데 강의를 보다보니 이런 코드가 나오더라 // 네이버로 이동 var intent = Intent(Intent.ACTION_VIEW, Uri.parse("http://m.naver.com")) startA..

Android/StoreInfo 2023.12.11
반응형