앱개발 심화 과제 선택 과제 구현 구현사항- 공통 - MainActivity의 하단 메뉴를 Bottom Navigation 또는 ViewPager+tablayout으로 변경 - MVVM 패턴을 적용합니다. (ViewModel, LiveData) - 검색 결과 화면은 보관함을 다녀와도 유지됩니다. - 보관한 이미지 리스트는 앱 재시작 후 다시 보여야 합니다. - 첫 번째 fragment : 검색 결과 - 검색은 키워드 하나에 이미지 검색과 동영상 검색을 동시에 사용, 두 검색 결과를 합친 리스트를 사용합니다. - 두 검색 결과를 datetime 필드를 이용해 정렬하여 출력합니다. (최신부터 나타나도록) - 검색 결과 아이템에 [이미지] 또는 [동영상]를 표시합니다..
앱개발 심화 과제 필수 과제 구현 구현 사항// 이미지 검색 Fragment- 검색어를 입력할 수 있도록 검색창을 구현합니다.- 검색어를 입력하고 검색 버튼을 누르면 검색된 이미지 리스트를 보여줍니다.- 검색 버튼을 누르면 키보드는 숨김 처리하도록 구현합니다.- API 검색 결과에서 thumbnail_url, display_sitename, datetime을 받아오도록 구현 합니다.- RecyclerView의 각 아이템 레이아웃을 썸네일 이미지, 사이트이름, 날짜 시간 으로 구현 합니다.- API 검색 결과를 RecyclerView에 표시하도록 구현합니다.- 날짜 시간은 "yyyy-MM-dd HH:mm:ss" 포멧으로 노출되도록 구현합니다.- 검색 결과는 최대 80개까지만 표시하도록 구현합니다.- 리스트..
챌린지반 7주차 세션 정리 의존성 주입의 개념 해당 자동차 클래스는 엔진이라는 인스턴스를 자동차 내에서 생성한다.여기서 좀 더 유연한 클래스를 작성하고 싶다면 바깥에서 엔진을 주입하도록 해야된다. 해당 클래스는 엔진 인스턴스를 외부에서 주입받도록 설계되었다.이를 의존성 주입(DI - Dependency Injection)이라고 한다. 자동차 클래스의 엔진은 생성자를 통해 인스턴스로 주입받기에 자동차의 엔진은클래스 외부에서 수정이 가능하게 되며 이로 클래스의 모듈화가 쉬워지게 된다. 의존성 주입의 문제점각 클래스들이 서로 이런식으로 의존하도록 설계되어있을 때 뷰모델 인스턴스를 하나 생성하려면 관련된 모든 클래스의 인스턴스를생성해야하기에 코드의 간결성이 심하게 저해되는 문제점이 존재한다. 의존성 주입..
챌린지반 6주차 세션 정리 클린 아키텍쳐의 계층 구조 MVVM 패턴을 구현한다 가정하면 클린 아키텍쳐에서 UI는 액티비티, controller는 뷰모델, Entities는 데이터 클래스에 해당한다. 각 계층은 자신의 바로 다음 계층에만 의존하며 결론적으로 가장 안쪽에 위치한 Entites는 어떤 것도 의존하지 않도록 설계된다. 클린 아키텍쳐 구조의 재사용성클린 아키텍쳐 구조에서 의존성의 방향은 가장 외부의 UI 계층에서가장 내부의 엔티티 계층으로 흐르기에 내부 계층들은 UI와 독립적으로 설계된다. 따라서 viewModel, useCase, Entity는 재사용이 가능하다. 그러나 뷰는 자주 바뀌기 때문에 재사용이 어렵다는 문제가 있다. 그래서 비즈니스 로직을 캡슐화하여 뷰와 분리하는 개발방식을 지향한..
Compose 특강 2회차 정리 @Composable Composable이란?Composable 함수는 Compose 앱을 구성하는 일반함수이다.코틀린의 일반함수와 같이 결과값을 반환하지 않는다.사용자의 UI 요소를 전달하면 컴포즈 런타임 통해 렌더링 한다. 선언방식@Composablefun Greeting( name: String, modifier: Modifier = Modifier,) { Text( modifier = modifier, text = "Hello $name", )} 컴포즈 방식은 위젯을 생성하는 동시에 초기화를 진행할 수 있다. Modifier Modifier란?Composable의 크기, 레이아웃, 동작 및 모양을 변경하기 위해정의하는 ..
앱개발 숙련 팀 프로젝트 구현한 기능 상단 Toolbar의 icon을 클릭했을 때 layoutManager를 사용하여Grid/List 선택에 따라 보여주는 방식을 변경 처리하기 아이템 레이아웃 그리드 아이템은 프로필 이미지와 이름만을 세로 배치한다. 어댑터 클래스class ArticleAdapter() : ListAdapter(diffUtil) { private fun startProfileActivity(itemView: View, articleModel: ArticleModel) { val context = itemView.context val intent = Intent(context, ItemProfileActivity::class.java).apply { ..
Compose 특강 1회차 정리 Compose Compose란?안드로이드 UI를 선언적으로 구축하는 도구로 XML과 Kotlin을 사용하는기존 View방식으로 발생하는 다양한 문제 해결을 위해 등장하였다. View의 문제점View는 복잡한 UI를 다룰시 관리가 어렵고 XML과 Kotlin 요소간의밀접한 로직 결합으로 인해 가독성과 재사용성이 떨어진다는 단점이 있다. 그래서 CustomView 클래스를 만들어 UI 요소들이 이를 상속받도록 설계한다.그러나 이 방법도 새로운 UI 요구사항이 발생할 때마다 CustomView 클래스를수정해야해서 유지보수가 어려워지고 코드의 복잡성이 늘어난다는 문제가 있다. Compose의 역할이러한 문제를 해결하기 위해 Compose는 Kotlin 파일에서 선언적으로 UI..
챌린지반 4주차 세션 두번째 과제 간단한 뉴스 리더 앱 만들기 구현 사항프래그먼트 - TitleFragment: 여러 뉴스 기사의 제목을 표시하는 리스트를 포함하고 있습니다. - DetailFragment: 사용자가 TitleFragment에서 기사 제목을 클릭하면 해당 기사의 내용을 표시합니다.세부 사항 - MainActivity에는 두 개의 Fragment를 호스팅하는 레이아웃이 포함되어야 합니다. - 화면이 세로 방향일 때는 TitleFragment만 표시되며, 기사 제목을 클릭하면 DetailFragment로 교체되어야 합니다. - 화면이 가로 방향일 때는 TitleFragment와 DetailFragment가 동시에 표시되어야 합니다.TitleFragment - RecyclerVi..
- Total
- Today
- Yesterday
- 무스마
- shared_preferences
- 스파트타 코딩클럽
- 기초 문제
- 레이아웃
- 코틀린
- 위젯
- kakao api
- 프로그래머스 #코틀린 #map
- 행렬의 내적
- 안드로이드 스튜디오
- 국비지원
- 파이썬
- 그룹화
- 개발블로그
- 플러터
- 9 to 9
- 프로그래머스
- 뷰
- 귤 고르기
- android 부트캠프
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |