Computer >> 컴퓨터 >  >> 체계 >> Android

2018–2019년 최신 Android 앱을 구축하기 위한 로드맵

Kriptofolio 앱 시리즈 — 소개

최신 Android 앱을 만들 블로그 게시물 시리즈에 오신 것을 환영합니다. 나는 2018-2019년에 사용할 수 있는 최고의 도구와 사례를 사용할 것입니다. Android 세계에서 가장 인기 있는 모든 주제를 다루고 여러분을 가르쳐 지식을 습득하고 싶기 때문에 이 일을 하는 것입니다.

이 시리즈를 따르면 앱을 처음부터 개발하는 방법을 배우게 됩니다. 이 시리즈의 각 블로그 게시물은 제가 이야기하고 싶은 몇 가지 특정 개발 주제를 다룰 것입니다. 좋은 품질의 앱을 만들고 개발 과정을 설명할 수 있도록 최선을 다하겠습니다. 이 시리즈의 첫 번째 블로그 게시물은 우리가 할 일에 대한 프로젝트 로드맵입니다.

시리즈 콘텐츠

  • 소개:2018~2019년 최신 Android 앱 구축을 위한 로드맵(현재 위치)
  • 1부:SOLID 원칙 소개
  • 2부:Android 앱 빌드 시작 방법:목업, UI 및 XML 레이아웃 만들기
  • 3부:아키텍처에 관한 모든 것:다양한 아키텍처 패턴 탐색 및 앱에서 이를 사용하는 방법
  • 4부:Dagger 2를 사용하여 앱에서 종속성 주입을 구현하는 방법
  • 5부:Retrofit, OkHttp, Gson, Glide 및 Coroutine을 사용하여 RESTful 웹 서비스 처리

앱:"Kriptofolio"(이전의 "My Crypto Coins") 아이디어

처음에는 모든 Android 개발 동향을 보여줄 계획을 생각하기 어려웠지만 마침내 마음에 드는 것을 찾았습니다. 그것은 나의 큰 관심 분야인 블록체인과 암호화폐와 관련이 있습니다. 귀하의 암호화폐 포트폴리오를 포함하고 법정 화폐로 전환할 가치가 있는 금액을 알려주는 앱을 만들기로 결정했습니다.

사용자에게 중요한 것은 이 앱이 100% 신뢰를 보장한다는 것입니다. 로그인/등록 절차가 필요하지 않습니다. 서버로 전송하여 사용자의 데이터를 수집하지 않습니다. 소유한 돈에 대한 정보를 온라인으로 공유하는 것을 꺼려하는 사람은 아무도 없을 것입니다.

사용자가 제공한 암호화폐 투자 데이터는 Android 기기 내부에 보관되는 로컬 데이터베이스에만 저장됩니다. 그러나 법정 화폐로 전환된 포트폴리오의 가치를 알기 위해 앱은 인터넷을 사용하여 최신 전환율을 얻을 것입니다.

교육 목적으로 볼 수 있듯이 이 앱 아이디어는 훌륭합니다. 데이터 작업을 위해 다양한 접근 방식을 시도하는 것은 기술적으로 어려운 일입니다. 이것은 최신 앱을 빌드하기 위해 알아야 할 가장 중요한 기술 중 하나입니다. 사람들에게 돈이라는 주제는 너무 민감합니다. 더 많은 신뢰를 보장하기 위해 이 블로그 게시물 시리즈를 만들고 숨길 것이 없다는 것을 모두가 볼 수 있도록 프로젝트 코드를 공개하여 이 앱을 공개적으로 개발할 것입니다.

무엇을 사용할까요?

먼저 이 앱을 만들기 위해서는 현재 다양한 암호화폐 가격에 대해 알아야 합니다. 이 데이터는 지속적으로 변경되므로 인터넷에서 제공됩니다.

데이터 API:

CoinMarketCap — 암호화폐 시장에 대한 개요를 얻을 수 있는 가장 인기 있는 웹사이트 중 하나입니다. 이 웹사이트는 누구나 사용할 수 있는 무료 API를 제공하며 데이터 서비스 제공업체인 우리에게 딱 맞습니다.

다음으로, 이 프로젝트에 적합하고 이 프로젝트에서 사용해야 하는 Android 세계에서 가장 중요한 트렌드 목록을 만들었습니다.

프로그래밍 언어:

Kotlin — Android의 공식 언어입니다. 표현력이 풍부하고 간결하며 강력합니다. 무엇보다도 기존 Android 언어 및 런타임과 상호 운용 가능합니다.

이 새로운 언어 소개는 2017년 Android에서 가장 뜨거운 주제 중 하나였습니다. 우리 앱은 그 안에 작성되어야 합니다. 또한 지난 블로그 게시물인 "Android 계산기 앱을 빌드하여 Kotlin을 배우자"에서 Kotlin과 그 기능에 대해 이야기했습니다.

통합 개발 환경(IDE):

Android Studio — Android용 공식 IDE. 모든 유형의 Android 기기에서 앱을 구축할 수 있는 가장 빠른 도구를 제공합니다. 네이티브 앱 개발을 위한 더 나은 대안은 없습니다. 의심의 여지 없이 IDE의 주요 선택입니다.

프로젝트 빌드 관리 시스템:

Gradle — Groovy 및 Kotlin을 기반으로 하는 고급 범용 빌드 관리 시스템입니다. 종속성 또는 기타 라이브러리의 자동 다운로드 및 구성을 지원합니다. Google에서 권장하는 빌드 시스템입니다. Android Studio 내부에 잘 통합되어 있으므로 사용하겠습니다.

아키텍처:

Android 아키텍처 구성 요소 — 강력하고 테스트 가능하며 유지 관리 가능한 앱을 설계하는 데 도움이 되는 라이브러리 모음입니다.

MVVM(Model–View–ViewModel) — 아키텍처 패턴입니다. 이 개념은 명확한 구분을 위해 데이터 표시 논리를 특정 클래스로 이동하여 비즈니스 논리에서 데이터 표시 논리를 분리하는 것입니다. Android 팀은 이 패턴을 기본 선택으로 추진하고 있습니다. 또한 MVC 및 인기 있는 MVP 패턴의 대안입니다.

이 패턴 선택, 기타 아키텍처 옵션 및 일반적으로 코드를 잘 구성하는 방법에 대해 이 시리즈에서 별도로 이야기하겠습니다. 쉽게 유지 관리할 수 있는 견고한 프로젝트를 구축하려면 필수적입니다.

코루틴 — 비동기적으로 실행되는 코드를 단순화하기 위해 Android에서 사용할 수 있는 동시성 디자인 패턴입니다.

데이터 지속성:

SQLite 데이터베이스 — 장치의 텍스트 파일에 데이터를 지속적으로 저장하는 오픈 소스 SQL 데이터베이스입니다. Android에는 SQLite 데이터베이스 구현이 내장되어 있습니다. SQLite는 모든 관계형 데이터베이스 기능을 지원합니다.

공유 기본 설정 — 애플리케이션 기본 설정을 저장하고 검색하기 위한 Android SDK의 API입니다. SharedPreferences는 지속적으로 저장된 데이터 값의 집합일 뿐입니다. 키 값 쌍의 형태로 데이터를 저장하고 검색할 수 있습니다.

라이브러리:

안드로이드 제트팩 구성 요소:

AppCompat — 최신 버전으로 개발된 앱이 이전 버전에서 작동하도록 하는 데 사용할 수 있는 일련의 지원 라이브러리입니다.

Android KTX — Android 앱 개발을 위한 Kotlin 확장 세트입니다. Android KTX의 목표는 확장 기능/속성, 람다, 명명된 매개변수 및 매개변수 기본값과 같은 언어의 기능을 활용하여 Kotlin을 사용한 Android 개발을 보다 간결하고 쾌적하며 관용적으로 만드는 것입니다.

데이터 바인딩 — 프로그래밍 방식이 아닌 선언적 형식을 사용하여 레이아웃의 UI 구성 요소를 앱의 데이터 소스에 바인딩할 수 있는 지원 라이브러리입니다.

수명 주기 — 활동 및 조각 수명 주기를 관리하기 위한 것입니다.

LiveData — 일반적인 Android 수명 주기 문제를 해결하고 앱을 유지 관리하고 테스트하기 쉽게 만들기 위해 설계된 관찰 가능한 데이터 홀더 클래스입니다.

Room — SQLite에 대한 추상화 계층을 제공하여 SQLite의 모든 기능을 활용하면서 데이터베이스에 쉽게 액세스할 수 있습니다.

ViewModel — UI 관련 데이터를 수명 주기를 의식한 방식으로 저장하고 관리하도록 설계되었습니다. ViewModel 클래스를 사용하면 화면 회전과 같은 구성 변경 후에도 데이터를 유지할 수 있습니다.

기타:

ConstraintLayout — 유연하고 효율적인 레이아웃을 구축하기 위한 것입니다. Layout Editor는 제약 조건을 사용하여 레이아웃 내에서 UI 요소의 위치를 ​​결정합니다. 제약 조건은 다른 보기, 상위 레이아웃 또는 보이지 않는 지침에 대한 연결 또는 정렬을 나타냅니다.

CardView — 플랫폼 전체에서 일관되게 보이는 그림자(고도)와 모서리 반경을 사용하여 카드 방식으로 정보를 나타내는 요소입니다.

RecyclerView — 유연하고 효율적인 ListView 버전입니다. 매우 효율적으로 재활용 및 스크롤할 수 있는 뷰의 큰 데이터 세트를 렌더링하기 위한 컨테이너입니다.

타사:

Dagger 2 — 이것은 Java와 Android 모두를 위한 완전히 정적인 컴파일 타임 종속성 주입 프레임워크입니다.

Retrofit 2 — Android 및 Java용 오픈 소스 유형 안전 HTTP 클라이언트. Retrofit을 사용하면 API 문서처럼 간단하고 표현이 풍부한 인터페이스를 통해 HTTP 연결을 쉽게 구성할 수 있습니다.

OkHttp — HTTP/2 및 SPDY를 지원하는 현대적이고 빠르고 효율적인 오픈 소스 HTTP 클라이언트입니다.

Gson — Java 객체를 JSON으로 직렬화 및 역직렬화하는 오픈 소스 Java 라이브러리입니다.

Glide — 부드러운 스크롤에 중점을 둔 Android용 빠르고 효율적인 이미지 로딩 라이브러리입니다. Glide는 사용하기 쉬운 API, 성능이 뛰어나고 확장 가능한 리소스 디코딩 파이프라인 및 자동 리소스 풀링을 제공합니다.

새 프로젝트 구성

우리는 이 프로젝트를 처음부터 만들 것입니다. Android Studio를 실행하고 새 프로젝트를 만들고 이름을 "My Crypto Coins"로 지정하고 "Basic Activity"를 선택합니다. 이 시점에서 특별히 논의할 사항은 없습니다. 우리의 목표는 새롭고 깨끗한 시작을 하고 추가 기능(예:인스턴트 앱 지원)을 추가하여 복잡한 생각을 피하는 것입니다. 개발 과정에서 원하는 경우 나중에 추가할 수 있습니다.

먼저 Kotlin 언어 지원 및 대상 API 23:Android 6.0(Marshmallow)을 포함하겠습니다.

더 낮거나 더 높은 API를 대상으로 하지 않는 이유는 무엇입니까? 현실을 직시하자. 일부 구형 장치에 대한 지원을 중단하고 개발 중 호환성 문제에 대해 걱정하지 않는 것이 좋습니다. 또한 저는 Android 6.0.1을 실행하는 오래된 Nexus 7(2013) 태블릿의 자랑스러운 소유자입니다. 내 앱을 라이브로 테스트하기를 바랍니다. ? 내 최소 SDK 선택에 영향을 미친 이 개별 프로젝트에 대해.

또한 아시다시피 IDE에 자동으로 생성된 기본 액티비티와 프래그먼트 지원 및 플로팅 작업 버튼을 추가하도록 요청할 것입니다. 이 모든 것이 우리 프로젝트에 유용할 수 있다고 생각합니다.

2018–2019년 최신 Android 앱을 구축하기 위한 로드맵
Android Studio v3.0 Kotlin 플러그인이 이미 내장되어 있으므로 선택하기만 하면 지원을 추가하려면 확인란을 선택하세요.
2018–2019년 최신 Android 앱을 구축하기 위한 로드맵
비즈니스 요구 사항에 따라 최소 대상 SDK를 선택합니다.
2018–2019년 최신 Android 앱을 구축하기 위한 로드맵
시작에 유용한 코드를 생성할 기본 활동을 선택합니다.
2018–2019년 최신 Android 앱을 구축하기 위한 로드맵
콘텐츠를 조각에 배치하려면 확인란을 선택합니다.

GitHub — 버전 제어를 위한 가장 인기 있는 웹 기반 호스팅 서비스 중 하나입니다. 이것은 오픈 소스 프로젝트이며 당연히 사용할 것입니다.

이 시리즈의 모든 블로그 게시물에는 최신 소스 코드 버전에 대한 별도의 분기와 마스터 분기로 작성된 커밋이 있습니다. 다음은 저장소 링크입니다.

GitHub에서 소스 코드 보기

시작을 위한 것입니다. 질문, 제안, 의견이 있으시면 언제든지 댓글로 남겨주세요. 이제 함께 배워봅시다! 2부가 다음에... ?

아츄! 읽어 주셔서 감사합니다! 저는 원래 2018년 2월 12일에 제 블로그 www.baruckis.com에 이 게시물을 게시했습니다.