gdgkisiiapp
GDG Kisii Android 모바일 앱의 홈 저장소.
우리는 개발자 커뮤니티를 관리하기 위해 Android 애플리케이션을 만들었습니다. 개발자 이벤트, 리소스 및 스피커에 대한 업데이트는 모바일 애플리케이션을 통해 액세스 할 수 있습니다.
멋진 기능이 포함됩니다
- 하단 탐색
- 탭 탐색
- 맵 API를 포함한 다수의 API
내 Android 기본 커리큘럼
- 일반적인 프로그래밍 관행
- 안드로이드 기본 소개
- 안드로이드에서 레이아웃 마스터 링
- 빌드 시스템 - Gradle과 협력하십시오
- 안드로이드에서 네트워킹
- 안드로이드 앱을 건축합니다
- 안드로이드 앱을 테스트합니다
- Android 앱을 출시합니다
- 안드로이드 앱 보안
- 고급 안드로이드
일반적인 프로그래밍 관행
다음의 일반적인 프로그래밍 관행은 개발에서 성공적인 경력을 시작하는 데 중요합니다. 이러한 관행에는 다음이 포함됩니다.
- 소스 제어 (GIT) - 소스 컨트롤은 코드 버전을 관리하는 도구입니다. 소프트웨어를 공동으로 작성하는 데 좋습니다.
- GIT 워크 플로 - 소스 컨트롤을 사용할 때 소프트웨어를 관리하는 여러 가지 방법이 있습니다. 인기있는 방법은 다음과 같습니다. gitflow 워크 플로, 중앙 집중식 워크 플로, 포킹 워크 플로우 등
- 지속적인 통합 - 지속적인 통합을 통해 코드가 자신의 컴퓨터가 아닌 서버를 구축 할 수 있습니다. Jenkins, BuddyBuild, Circle CI, Travis 등과 같은 빌드 서버 사용을보십시오.
- 풀 요청 - 풀 요청은 개발 한 코드에 대해 매우 자세한 피드백을 얻는 좋은 방법입니다.
- 애자일/스크럼 방법론 - 대부분의 현대 소프트웨어 개발 팀은 작업을위한 스크럼 방법론을 따릅니다.
- 코드 품질 도구 - 회사가 코드의 품질과 코드베이스의 건강을 측정하는 데 사용하는 많은 도구가 있습니다. 테스트 범위의 수와 같은 메트릭 또는 코드 기반이 보유한 기술 부채의 양과 같은 메트릭이 보이게됩니다. 자주 사용되는 일부 도구 : Sonar, Findbugs, Checkstyle 및 Android Lint.
안드로이드 기본 소개
Android 개발을 시작하는 기본 사항을 제공하는 웹 사이트가 많이 있습니다. 내 권장 사항은 기본 사항을 이해하기 위해 공식 문서를 따르는 것입니다.
일부 시작 리소스 :
- 안드로이드 애플리케이션 기초
- Android의 주요 구성 요소 : 활동, 조각, 서비스, 방송 수신기.
- Android 응용 프로그램이 나타납니다
- Code Lab - 첫 번째 Android 앱을 구축하십시오
안드로이드에서 레이아웃 마스터 링
Android에는 Framelayout에서 Relativelayout, JustaintLayout에 이르기까지 다양한 레이아웃 유형이 있습니다. Framelayout, Relativelayout, LinearLayout, SystraintLayout, CoordinatorLayout과 같은 일반적으로 사용되는 레이아웃 유형에 편안해야합니다.
자원:
- 다양한 화면 크기를 지원합니다
- 코드 실험실 - 제한가
- 코드 랩 - CoordinatorLayout
빌드 시스템 - Gradle과 협력하십시오
Gradle과의 작업은 아마도 Android 앱을 개발할 때 간과되는 것입니다. 기본 사항을 더 잘 이해해야합니다. 자신의 Gradle 작업을 작성하는 방법을 배우십시오!
자원:
안드로이드에서 네트워킹
대부분의 안드로이드 문서는 개조 또는 OKHTTP를 참조하지 않지만 Android에서 네트워킹과 관련하여 가장 일반적으로 사용되는 라이브러리입니다. Android Studio에서 사용할 수있는 다양한 프로파일 링 도구에 익숙해지는 것도 좋습니다.
자원:
- 편안한 서비스 이해
- 개조-Android 및 Java 용 타입 안전 HTTP 클라이언트
- OKHTTP - Android 및 Java 응용 프로그램을위한 HTTP & HTTP/2 클라이언트
- Android의 네트워크 프로파일 러 - 네트워크 통화를 프로파일 할 수있는 Android Studio의 도구입니다.
- Charles Proxy - 테스트하는 동안 네트워크 통화를 가로 채는 데 유용합니다.
안드로이드 응용 프로그램을 건축합니다
불행히도, 코드를 작성하고 앱을 컴파일하는 것은 관리 가능한 Android 앱을 작성하는 방법을 아는 것이 끝나지 않습니다. 대규모 안드로이드 애플리케이션은 유지 관리 가능하고 테스트하기 위해서는 훌륭한 아키텍처 설계를 따라야합니다. Android 응용 프로그램을 작성할 때 따라갈 수있는 여러 패턴이 있습니다. MVP, MVVM 및 클린 아키텍처와 같은 패턴이 일반적으로 사용됩니다. 야생에서 많은 다른 패턴을 만날 때 패턴의 차이점을 이해해야합니다.
자원:
- 안드로이드 아키텍처 구성 요소 안내서
- Android 아키텍처 구성 요소 소개 비디오
- Google 샘플 앱 Github 저장소
- 코드 랩 - 지속성
- 코드 랩 - 라이프 사이클 인식 구성 요소
안드로이드 응용 프로그램을 테스트합니다
안드로이드 앱을 만드는 데 도움이되면 테스트 방법을 생각해야합니다. 단위 테스트 및 UI 테스트는 이해해야하는 매우 중요한 개념입니다. UI 테스트를 작성하는 데 사용할 수있는 다양한 도구가 많이 있습니다. 대부분의 Android 개발자는 Espresso와 Junit을 사용하여 테스트를 작성하지만 Robotium, Calabash, Appium 등과 같은 다른 많은 도구가 있습니다. Espresso 및 Junit을 사용하는 것이 좋습니다.
자원:
- 안드로이드 테스트 지원 라이브러리
- 에스프레소 커피
- 주니트
- 모키토
- 코드 랩 - 안드로이드 테스트
- 코드 랩 - 안드로이드 성능 테스트
Android 앱을 출시합니다
좋아, 당신은 지금까지 그것을 만들었습니다!
이제 응용 프로그램을 해제하기 위해 다루어야 할 몇 가지 개념이 있습니다.
- 출시를 위해 앱 준비
- 앱 서명
- 앱 버전
- 대리자
보안
응용 프로그램을 확보하고 무단 컨텐츠에 액세스 할 수 없도록하기 위해 수행해야 할 일이 많이 있습니다. Proguard를 사용하고 있는지 확인하십시오 (앞에서 언급). 중간 공격의 사람이 무엇인지 이해하십시오. API 토큰 보호, 인증서 고정 등을 포함하여 Android 앱 내에 정보를 안전하게 저장할 수있는 다양한 암호화 방법과 방법을 이해하십시오.
자원:
- 안드로이드에 대한 보안 팁.
- 인증서 고정
- SAFETYNET API
- 안드로이드 키 스토어 시스템 '
고급 안드로이드 주제
안드로이드 응용 프로그램 작성의 모든 기본 사항을 다루면 일부 코드베이스에 기여하기 위해 다루어야 할 몇 가지 고급 주제가 있습니다.
- KOTLIN - Kotlin은 Android를위한 새로운 프로그래밍 언어이며 개발자는 Kotlin에서 자신의 코드를 적극적으로 작성하고 있습니다. Kotlin에 대해 읽고 Kotlin Koans를 통과하는 것은 가치가 있습니다. Kotlin 코드 랩도 있습니다.
- rxjava-Rxjava는 비동기 이벤트 기반 프로그래밍에 사용되는 라이브러리입니다. 복잡한 작업 (예 : 여러 네트워크 통화를 결합하는 등)을 수행하여 코드가 실행되는 스레드를 관리하는 것과 관련하여 매우 유용 할 수 있습니다. Jake Wharton의 훌륭한 비디오가 Rxjava 사용 방법과 사용의 이점을 설명합니다.
- Dagger (종속성 주입) - 종속성 주입은 응용 프로그램 내에서 개체 및 해당 종속성을 관리하는 방법입니다. DI의 개념은 Android 개념이 아니지만 다른 많은 프레임 워크에서도 사용할 수 있습니다. DI는 코드를보다 메모리 효율적으로 만들고 테스트 가능성을 촉진 할 수 있습니다. Dagger 2는 가장 인기있는 Android DI 프레임 워크입니다.
- 재료 설계 - 대부분의 Android 앱은 Google의 재료 설계 지침을 따릅니다. 지침은 사용자가 익숙한 표준 방식으로 앱을 설계하는 방법입니다.
- Android의 지원 라이브러리 - Android의 지원 라이브러리는 여러 버전의 Android에서 앱이 일관되게 모양과 동작을 보장하는 데 매우 중요합니다. 목적이 다른 몇 가지 라이브러리가 있습니다. 링크 된 기사는 라이브러리의 추론을 설명합니다.
- 메모리 누출 - 안드로이드에서는 메모리 누출을 만드는 것이 매우 쉽습니다. 이로 인해 응용 프로그램에서 잘못된 동작이 발생할 수 있습니다 (임의의 충돌). 많은 개발자가 앱 내에서 LeakCanary를 사용하여 메모리 누출이 없는지 확인합니다.
특허