앱 개발/Chapter_Curriculum (22) 썸네일형 리스트형 [과제] Activity 정리 Activity LifeCycle > 일반적으로 onCreate() -> onStart -> onResume() -> onPause() -> onStop() -> onDestroy()순으로 진행되지만, onStop() -> onRestart() -> onStart()로 가기도 한다. 1) Activity launchedActivity 실행의 시작이다. 이후 onCreate가 실행된다. 앱을 이용하려고 터치를 하는 순간이 이 부분이다. 2) onCreate()Activity를 생성하여 이후 onStart()가 실행된다. Activity가 최초로 실행되기 때문에 초기화 작업을 해주는 것이 좋다.3) onStart()Activity가 사용자에게 보여지기 직전에 호출된다.4) onResume()Activity가.. [과제] Fragment 정리 Fragment LifeCycle > 1) onAttach()프래그먼트가 액티비티에 붙을 때 호출된다. 프래그먼트가 완벽하게 생성된 상태는 아니며 인자로 context가 주어진다. 2) onCreate()프래그먼트를 생성하면서 넘겨준 값들이 있다면 여기서 변수에 넣어주면 되지만 UI는 초기화 할 수 없다. 본격적으로 프래그먼트가 액티비티에 호출을 받아 생성되는 시점이다. 액티비티의 onCreate()에선 View 관련 작업을 할 수 있으나, 프래그먼트의 onCreate()에서는 할 수 없다.3) onCreateView()레이아웃을 인플레이트(inflate)하고, 버튼이나 텍스트뷰 등을 초기화할 수 있다. 프래그먼트가 자신의 인터페이스를 처음 그리기 위해 호출한다. 프래그먼트에 관련된 UI 바인딩 작업을 .. [과제] UI xml 연습 후기 Figma 리소스를 이용하여 Constraint 레이아웃에서 뷰 배치, 모서리 둥글게 하기 등을 해보았다. 앱 개발의 절반은 UI 구성이라고 할 수 있을 만큼 안드로이드 스튜디오에서 UI와 관련되는 xml을 잘 작성하는 것이 중요하다. 주목할 만한 것은 둥근 모서리와 관련된 corner_round.xml을 따로 작성한 것이었다. 앱 개발 입문 과제에서 애니메이션 효과를 넣으면서 별도의 xml을 만들어 보았기 때문에 크게 어렵지 않았다. 그리고 Constraint 레이아웃 역시 앱 개발 입문 과제에서 했던 연습을 다시 해보면서 많이 익숙해졌다. 앞으로 Fragment, Recycler 뷰 등을 공부할 예정이라 더욱 흥미로워질 것 같다. [과제] Android 입문 # 앱 개발 입문 과제 Home Actvity 만들기 - 컨스트레인트 레이아웃 연습 - 버튼에 블로그 링크 연결 및 언더라인 val button: Button = findViewById(R.id.button) button.paintFlags = button.paintFlags or Paint.UNDERLINE_TEXT_FLAG button.setOnClickListener { startActivity(Intent(Intent.ACTION_VIEW, Uri.parse("https://lionbae.tistory.com"))) } - 텍스트에 애니메이션 효과 넣기 1) 학습 중에 우연히 알게 되어 바로 적용해 봄. Resource Manager > Animation > text_effect.xml 작성 (r.. Chapter3-1 (앱 개발 입문) - 안드로이드 앱 개발 입문 강의 수강 및 학습 (뷰, 레이아웃, 인텐트) - 앱 개발 입문 과제 수행 (로그인 화면) - constraint 레이아웃 등 UI 연습 (figma 리소스 활용) [과제] 피드백 (키오스크) 1) display 함수 내에서 많은 것을 처리하고 있으므로 더 세분화하면 좋을 것. 예를 들어 VanillaIceCreamMenu 안에 바닐라 익스트림, 벨기에 초코 토핑, 캐러멜, 스트로베리를 println으로 출력하고 있는데 data class VanillaExtreme(...): VanillaIceCreamMenu(...) 형태로 상속을 한번 더 하면 좋을 것임. (Menu > IceCreamMenu > VanillaIceCreamMenu > VanillaExtreme, VanillaBelgiumChoco, VanillaCaramel, VanillaStrawBerry 식으로..) 그리하면 printSubMenu에서 일일이 다 작성하지 않고 list에 각각의 item을 담은 뒤 for 루프를 통해 .. Chapter2 (프로그래밍 문법) - 프로그래밍 기초 과제 - 계산기 -> 튜터님 피드백: 1) readline()!!.toDouble()에서 readLine이 빈문자열일 경우에 toDouble() 동작시, NumberFormatException이 발생할 것이므로 !!처리와 함께 빈문자열 처리 조건을 넣어볼 것 (참고) https://lionbae.tistory.com/entry/readlinetoInt https://lionbae.tistory.com/entry/Elvis-operator 2) Calculator 클래스와 main 함수는 분리되어야 함 3) 상속을 지정하려면 is-a 관계여야 하며, interface Operation을 사용해 볼 것 - 문법 강의, 알고리즘 문제: 데일리 루틴으로 꾸준한 학습 < 2주차 .. [미니 프로젝트] Binding binding = ActivityProfile3Binding.inflate(layoutInflater).apply { backButton.setOnClickListener { finish() } blogTextView.setOnClickListener { startActivity(Intent(Intent.ACTION_VIEW).apply { data = Uri.parse("https://lionbae.tistory.com") }) } setContentView(root) } ActivityProfile3Binding.inflate(layoutInflater): ActivityProfile3Binding 클래스의 인스턴스를 생성하고, 해당 인스턴스를 통해 XML 레이아웃을 인플레이트한다. layoutInf.. [미니 프로젝트] ProfileActivity class ProfileActivity3 : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_profile3) } } 위 코드는 팀 소개 앱의 액티비티 클래스인 ProfileActivity3를 정의하며, AppCompatActivity 클래스를 상속한다. AppCompatActivity는 AndroidX 라이브러리에서 제공되는 클래스이다. onCreate(savedInstanceState: Bundle?): 액티비티가 처음 생성될 때 호출된다. 액티비티 초기화 및 UI 설정이 이루어진다. super... TIS - 안드로이드 스튜디오 사용법, 코틀린 문법 인강 듣기 - 팀 소개 프로젝트 코드의 SplashActivity와 Handler에 대하여 학습 - 코틀린 문법을 전체적으로 한번 훑었지만 계속 반복하면서 익힐 필요가 있다. - 팀 프로젝트 코드를 보면서 관련 내용을 학습하는 것이 많은 도움이 된다. - Kotlin Playground를 알게 되었는데 앞으로 코딩 연습에 잘 이용할 것 같다. 이전 1 2 3 다음