안드로이드 디자인 샘플 - andeuloideu dijain saempeul

이 Android 프로젝트에는 지속적 공유 요소 전환: RecyclerView를 ViewPager로 전환 도움말이 함께 포함됩니다. 여기에서 코드는 Android 프래그먼트 간 특정 전환 구현을 제공합니다. <code>RecyclerView</code>의 이미지에서 <code>ViewPager</code>의 이미지로 그리고 다시 반대로의 전환을 구현하는 방법을 보여 줍니다. 또한 '공유 요소'를 사용하여 전환에 어떤 뷰가 어떻게 참여하는지 판단합니다. 이전에 화면 밖에 있던 항목으로 페이징한 후에 그리드로 다시 전환하는 어려운 문제도 처리합니다. <strong>공식적으로 지원되는 Google 제품은 아닙니다.</strong>

자바

HdrViewfinder

이 데모에서는 짝수 및 홀수 프레임의 두 노출 값 간 센서의 노출 시간을 번갈아 반복한 다음 새 프레임이 캡처될 때마다 최신 두 프레임을 합성하여 실시간 HDR(High Dynamic Range) 카메라 뷰파인더를 구현합니다.

자바

BeamLargeFiles

이 샘플은 Android Beam을 통해 대용량 파일을 전송하는 방법을 보여줍니다. NFC를 통한 초기 핸드셰이크 이후에 블루투스 또는 WiFi Direct와 같은 2차 고속 커뮤니케이션 채널에서 파일 전송이 이루어집니다. 이 기능에는 Android 4.1(Jelly Bean) 이상이 필요합니다. 기본 Beam과 달리 애플리케이션이 수신 기기에서 인텐트를 수신하지 않습니다. 대신 시스템에서 파일을 디스크에 저장하고 사용자가 표준 ACTION_VIEW 인텐트를 사용하여 파일을 열도록 선택할 수 있는 알림을 표시합니다.

자바

BluetoothAdvertisements

Bluetooth Low Energy API를 사용하여 소량의 데이터를 광고하는 방법을 보여 주는 샘플입니다. 또한 광고를 검색하는 방법을 보여 줍니다(전체 작업을 보려면 기기 2개가 필요합니다).

자바

BluetoothLeGatt

이 샘플은 블루투스 LE 일반 속성 프로필(GATT)을 사용하여 기기 간에 임의의 데이터를 전송하는 방법을 보여 줍니다.

자바

AutofillFramework

이 샘플은 자동 완성 프레임워크의 사용법을 보여줍니다. 샘플에는 자동 완성되어야 하는 뷰가 있는 클라이언트 활동의 구현 및 클라이언트 활동에 자동 완성 데이터를 제공할 수 있는 서비스가 포함되어 있습니다.

자바

CommitContentSampleApp

이 샘플은 Commit Content API를 사용하여 키보드에서 전송된 리치 콘텐츠(예: 이미지)를 받는 애플리케이션을 작성하는 방법을 보여 줍니다.

자바

CommitContentSampleIME

이 샘플은 Commit Content API를 사용하여 리치 콘텐츠(예: 이미지)를 텍스트 입력란에 전송하는 키보드를 작성하는 방법을 보여 줍니다.

자바

PictureInPicture

이 샘플은 휴대기기에서 PIP 모드의 기본 사용법을 보여줍니다. 샘플에서는 동영상을 재생합니다. 앱이 PIP 모드로 전환되어도 동영상이 계속 재생됩니다. PIP 모드 화면에서 앱에는 동영상을 일시중지하거나 다시 시작할 수 있는 작업 항목이 표시됩니다.

Kotlin

PictureInPicture(Kotlin)

이 샘플은 휴대기기에서 PIP 모드의 기본 사용법을 보여줍니다. 샘플에서는 동영상을 재생합니다. 앱이 PIP 모드로 전환되어도 동영상이 계속 재생됩니다. PIP 모드 화면에서 앱에는 동영상을 일시중지하거나 다시 시작할 수 있는 작업 항목이 표시됩니다.

자바

RuntimePermissionsBasic

이 기본적인 샘플은 Android M 이상에서 이용 가능한 런타임 권한을 보여 줍니다. 새 런타임 권한 API를 사용하여 지원 라이브러리를 통해 권한을 확인하고 요청하는 방법을 보여 줍니다.

자바

RuntimePermissionsBasicKotlin

이 기본적인 샘플은 Android M 이상에서 이용 가능한 런타임 권한을 보여 줍니다. 새 런타임 권한 API를 사용하여 지원 라이브러리를 통해 권한을 확인하고 요청하는 방법을 보여 줍니다.

자바

DirectBoot

기기가 부팅되는 동안 사용자 인증 정보(PIN/패턴/비밀번호)의 입력 전, 후에 언제나 이용할 수 있는 기기 보호 저장소에 데이터를 저장하는 방법을 보여 주는 샘플입니다.

자바

AppShortcuts

이 샘플은 Android 7.1(API 25)에 도입된 Launcher Shortcuts API를 사용하는 방법을 보여줍니다. 이 API를 사용하면 애플리케이션에서 사용자가 앱의 런처 아이콘을 길게 누를 때 표시되는 인텐트 집합을 정의할 수 있습니다. 두 링크를 런타임에 동적으로 등록하는 예와 XML에 정적으로 등록하는 예가 제공됩니다.

자바

DocumentCentricRecents

새로운 'Document Centric Apps' API의 기본 사용법을 보여 주는 샘플입니다. 이를 통해 시스템 개요 메뉴에서 새 문서를 만들 수 있으며, 재부팅하는 동안 상태가 지속됩니다.

자바

DownloadableFonts

이 샘플은 Android O에 도입된 다운로드 가능한 글꼴 기능을 사용하는 방법을 보여줍니다. 다운로드 가능한 글꼴 기능을 사용하면 앱에서 특정 글꼴을 번들하거나 직접 다운로드하는 대신 제공업체에 요청할 수 있습니다. 즉, 글꼴을 애셋으로 번들할 필요가 없습니다.

Kotlin

DownloadableFonts(Kotlin)

이 샘플은 Android O에 도입된 다운로드 가능한 글꼴 기능을 사용하는 방법을 보여줍니다. 다운로드 가능한 글꼴 기능을 사용하면 앱에서 특정 글꼴을 번들하거나 직접 다운로드하는 대신 제공업체에 요청할 수 있습니다. 즉, 글꼴을 애셋으로 번들할 필요가 없습니다.

자바

EmojiCompat

이 샘플은 EmojiCompat 지원 라이브러리의 사용법을 보여줍니다. 이 라이브러리를 사용하여 앱에서 누락된 이모티콘 문자를 두부(□) 모양으로 표시하는 것을 방지할 수 있습니다. 번들되거나 다운로드 가능한 이모티콘 글꼴을 사용할 수 있습니다. 이 샘플은 두 가지 사용법을 모두 보여 줍니다.

Kotlin

EmojiCompat(Kotlin)

이 샘플은 EmojiCompat 지원 라이브러리의 사용법을 보여줍니다. 이 라이브러리를 사용하여 앱에서 누락된 이모티콘 문자를 두부(□) 모양으로 표시하는 것을 방지할 수 있습니다. 번들되거나 다운로드 가능한 이모티콘 글꼴을 사용할 수 있습니다. 이 샘플은 두 가지 사용법을 모두 보여 줍니다.

자바

알림

이 샘플은 모바일 앱과 네이티브/로컬 Wear 앱에 NotificationStyle 알림(받은편지함, BigPicture, BigText, 메시지)을 사용하는 모범 사례를 보여줍니다. Wear 1.+ 및 Wear 2.0에 관한 알림도 포함됩니다.

자바

CardView

이 샘플은 Android 5.0에서 지원 라이브러리에 도입된 CardView를 사용하는 방법을 보여 줍니다.

Kotlin

CardView(Kotlin)

이 샘플은 Android 5.0에서 지원 라이브러리에 도입된 CardView를 사용하는 방법을 보여 줍니다.

자바

RecyclerView

LinearLayoutManager 및 GridLayoutManager를 사용하여 요소를 레이아웃하기 위해 RecyclerView를 사용하는 방법을 보여주는 샘플입니다. 요소에서 터치 이벤트를 처리하는 방법도 보여 줍니다.

Kotlin

RecyclerView(Kotlin)

LinearLayoutManager 및 GridLayoutManager를 사용하여 요소를 레이아웃하기 위해 RecyclerView를 사용하는 방법을 보여주는 샘플입니다. 요소에서 터치 이벤트를 처리하는 방법도 보여 줍니다.

자바

RuntimePermissionsWear

웨어러블 기기와 휴대기기 모두에서 권한이 필요한 원격 데이터를 처리하는 방법을 보여 주는 샘플입니다.

자바

시계 모드

Wear 2.0의 시계 모드와 정보 표시를 보여 주는 간단한 샘플입니다.

자바 Firebase

Android용 Firebase 빠른 시작

Android에서 Firebase API를 보여주는 빠른 시작 샘플의 모음입니다. 자세한 내용은 다음 페이지를 참고하세요. https://firebase.google.com

자바 Firebase

Android용 Firebase 빠른 시작

Android에서 Firebase API를 보여주는 빠른 시작 샘플의 모음입니다. 자세한 내용은 다음 페이지를 참고하세요. https://firebase.google.com

자바

ActivitySceneTransitionBasic

이 샘플은 Lollipop에서 한 활동에서 다른 활동으로 장면 전환을 사용하는 방법을 보여줍니다. changeImageTransform과 changeBounds를 함께 사용하여 이미지의 그리드를 큰 이미지와 자세한 텍스트가 포함된 활동으로 전환합니다.

자바

BasicTransition

KitKat에 도입된 전환 프레임워크를 사용하는 방법을 보여주는 기본적인 앱입니다. 앱에서는 여러 테마 중에서 선택하기 위한 라디오 박스를 보여 주며 다양한 테마 전환 방법을 사용합니다.

자바

CustomTransition

이 샘플은 표준 전환 클래스를 확장하는 맞춤 전환을 구현하는 방법을 보여 줍니다.

자바

보간기

이 샘플은 <code>머티리얼 디자인</code>에 애니메이션 보간기와 경로 애니메이션을 사용하는 방법을 보여 줍니다.

자바

모션

머티리얼 디자인 모션에 관한 데모 모음입니다. 머티리얼 디자인은 모션 디자인에 관한 예를 많이 제공합니다. 이 샘플은 Android에서 구현하는 방법을 보여 줍니다. <li>모션 이해</li> <li>속도</li> <li>연출</li> <li>맞춤설정</li> 애니메이션과 전환은 Android에서 다양한 애니메이션 API를 사용하는 방법을 설명합니다. 데모의 모든 소스 코드는 데모 패키지에 있습니다. 레이아웃 &gt; 디졸브 <img src="screenshots/dissolve.gif" height="400" alt="dissolve" /> 레이아웃 &gt; 페이드 스루 <img src="screenshots/fadethrough.gif" height="400" alt="fadethrough" /> 레이아웃 &gt; FAB 변환 <img src="screenshots/fabtransformation.gif" height="400" alt="fab" /> 목록 &gt; 재정렬 <img src="screenshots/reordering.gif" height="400" alt="reorder" /> 목록 &gt; 흔들거림 <img src="screenshots/stagger.gif" height="400" alt="stagger" /> 목록 &gt; 진동 <img src="screenshots/oscillation.gif" height="400" alt="oscillation" /> 탐색 &gt; 공유 요소 <img src="screenshots/sharedelement.gif" height="400" alt="sharedelement" /> 탐색 &gt; 페이드 스루 <img src="screenshots/navigationfadethrough.gif" height="400" alt="navfadethrough" />

자바

RevealEffectBasic

회전 표시 효과를 보여주는 샘플입니다. ViewAnimationUtils를 만들고 시작 위치, 반경 등 회전 표시의 매개변수를 정의하는 방법을 설명합니다.

자바

인스턴트 앱 - Google 애널리틱스 예

이 샘플 앱은 Firebase용 Google 애널리틱스를 인스턴트 앱에 통합하는 방법을 보여 줍니다.

Kotlin

인스턴트 앱 - Cookie API

이 샘플 앱은 쿠키 API를 사용하는 방법을 보여줍니다. Android Framework API와 InstantApps Play Services API를 모두 사용하여 값을 저장하고 검색하는 방법이 포함되어 있습니다. 사용법 이 API는 인스턴트 앱과 설치된 앱에서 모두 사용할 수 있습니다. 이 API를 사용하면 사용자가 생성한 데이터를 인스턴트 앱에서 설치된 앱으로 이전할 수 있습니다. 이 API의 흐름은 다음과 같습니다. <li>쿠키가 허용 범위에 적합한지 확인합니다.</li> <li>인스턴트 앱 내에 데이터를 저장합니다.</li> <li>설치된 앱에서 데이터를 검색합니다.</li> <p>이 API는 PackageManagerCompat를 통해 API 26 이상에서 사용할 수 있습니다.</p> 빌드 변형 이 샘플에는 두 가지 빌드 변형이 있습니다. <li><code>framework</code> -&gt; Android 8.0(API 수준 26) 이상</li> <li><code>playServices</code> -&gt; 모든 API 수준</li> 두 빌드 변형은 동일한 기능을 제공하지만 하나는 Framework API를 사용하는 반면 다른 하나는 InstantApps Play Services API를 사용합니다. 이 샘플로 API 테스트 <li>실행 구성에서 &quot;인스턴트 앱으로 배포&quot;를 선택하여 애플리케이션을 실행합니다.</li> <li>일부 데이터를 저장합니다.</li> <li>실행 구성에서 &quot;인스턴트 앱으로 배포&quot;를 선택 해제하여 애플리케이션을 실행합니다.</li> <li>앞서 저장된 데이터를 검색합니다.</li>

Kotlin

인스턴트 앱 - 설치 API 샘플

이 샘플 앱은 [설치 API]를 사용하는 방법을 보여줍니다(https://developers.google.com/android/reference/com/google/android/gms/instantapps/InstantApps.html#showInstallPrompt (android.app.Activity,%20andava.content.Intent,%20int,%20java.lang.String)). API는 인텐트를 트리거하여 기기에 앱을 설치합니다. 호출에서는 설치가 완료된 후 트리거되는 인텐트도 받습니다. 앱에서 이 API를 사용하려면 Google Play 스토어에 설치 가능한 앱이 필요합니다. 또한 인텐트 및 애플리케이션 모듈의 applicationIds가 일치해야 합니다.

자바

인스턴트 앱 - 다기능 샘플 앱

이 샘플 앱은 설치 가능한 앱과 인스턴트 앱을 동일한 동작으로 빌드하는 방법을 보여줍니다. 인스턴트 앱의 기능은 기기에서 개별적으로 실행할 수 있는 두 가지 기능으로 분할됩니다.

자바

인스턴트 앱 - 서비스

이 샘플은 Android 인스턴트 앱 내에서 시작된 서비스 또는 바인드된 서비스를 만드는 방법을 보여 줍니다.

Kotlin

인스턴트 앱 - Storage API 샘플

이 샘플 앱은 Storage API를 사용하는 방법을 보여 줍니다. <strong>API 수준 26 미만</strong>의 Android 버전에서 실행되는 기기와 관련이 있습니다. API 수준 26 이상에서 실행되는 기기에서는 Android 프레임워크가 사용자 데이터를 인스턴트 앱에서 설치된 앱으로 이전합니다. 설치가 완료되면 설치된 앱은 이 API를 사용하여 인스턴트 앱의 저장된 데이터를 전송해 사용자에게 원활한 환경을 제공합니다. 사용법 설치된 앱에서 [Storage API](https://developers.google.com/android/reference/com/google/android/gms/instantapps/InstantAppsClient.html#getInstantAppData())를 호출합니다. 이 API를 통해 인스턴트 앱에 저장된 데이터에 액세스할 수 있습니다. 데이터 저장소에 관한 자세한 내용은 [the documentation](https://developers.google.com/android/reference/com/google/android/gms/instantapps/InstantAppsClient.html#getInstantAppData())을 참고하세요.

자바

Room 및 RxJava

Flowable 객체에서 인식 가능한 쿼리를 구현하는 방법을 보여 주는 API 샘플입니다.

Kotlin

Room 및 RxJava(Kotlin)

Kotlin으로 Flowable 객체를 사용하는 방법을 보여 주는 API 샘플입니다.

자바

아키텍처 구성요소 기본

이 샘플은 다음과 같은 아키텍처 구성요소를 보여 줍니다. <li>Room</li> <li>ViewModels</li> <li>LiveData</li>

자바

아키텍처 구성요소가 있는 GitHub 브라우저

Dagger 2와 함께 Android 아키텍처 구성요소를 사용하는 샘플 앱입니다. <strong>참고</strong> 이 앱은 상대적으로 더 복잡하고 완전한 예이므로 아키텍처 구성요소에 익숙하지 않다면 이 저장소의 다른 예를 먼저 확인하는 것이 좋습니다.

자바

아키텍처 구성요소(LiveData, ViewModel, Lifecycle)가 포함된 Kotlin 코루틴

이 샘플은 다음과 같은 아키텍처 구성요소를 보여 줍니다. <li>LiveData</li> <li>ViewModels</li> <li>데이터 결합</li> 다음 아티팩트도 보여 줍니다. <li>androidx.lifecycle.lifecycle-livedata-ktx</li> 이 프로젝트는 <code>liveData</code> 빌더를 사용하여 Kotlin의 코루틴과 통합하는 방법을 보여 줍니다.

Kotlin

아키텍처 구성요소 고급 탐색

기능 이 샘플은 탐색 원칙에 따라 하단 탐색 뷰의 동작을 보여 줍니다. <li>시작 대상이 고정되었습니다.</li> <li>탐색 상태는 대상의 스택으로 표현되어야 합니다.</li> <li>위로 버튼은 앱을 종료하지 않습니다.</li> <li>위로 및 뒤로는 앱 작업 내에서 동일합니다.</li> <li>딥 링크와 대상으로 이동은 동일한 스택을 생성해야 합니다.</li> 특정 시나리오를 알아보려면 UI 테스트를 확인하세요.

자바

아키텍처 구성요소 페이징

이 샘플은 다음과 같은 아키텍처 구성요소를 보여 줍니다. <li>페이징</li> <li>Room</li> <li>ViewModels</li> <li>LiveData</li>

자바

콘텐츠 제공업체가 있는 Room

이 샘플은 Android의 콘텐츠 제공업체 프레임워크를 사용하여 Room 지속성 라이브러리에 저장된 데이터를 노출하는 방법을 보여 줍니다.

Kotlin

Jetpack WorkManager

WorkManager를 사용하여 백그라운드 작업을 실행하는 방법을 보여 주는 Kotlin으로 작성된 간단한 이미지 처리 애플리케이션입니다.

Kotlin

Crane 샘플

Jetpack Compose. 샘플의 목표는 머티리얼 구성요소, 드래그 가능한 UI 요소, Compose 내의 Android 뷰 및 UI 상태 처리를 보여 주는 것입니다. 샘플 앱을 사용해 보려면 Android 스튜디오 4.2의 최신 Canary 버전을 사용해야 합니다. 이 저장소를 클론하거나 다음 단계에 따라 Android 스튜디오에서 프로젝트를 가져올 수 있습니다.

Kotlin

Jetnews 샘플

Jetnews는 Jetpack Compose로 빌드된 샘플 뉴스 읽기 앱입니다. 샘플의 목표는 Compose의 현재 UI 기능을 보여 주는 것입니다. 샘플 앱을 사용해 보려면 Android 스튜디오 4.2의 최신 Canary 버전을 사용해야 합니다. 이 저장소를 클론하거나 다음 단계에 따라 Android 스튜디오에서 프로젝트를 가져올 수 있습니다.

Kotlin

Jetcaster 샘플 🎙️

Jetcaster는 Jetpack Compose로 빌드된 샘플 팟캐스트 앱입니다. 샘플의 목표는 동적 테마 설정과 모든 기능을 갖춘 아키텍처를 보여 주는 것입니다 샘플 앱을 사용해 보려면 Android 스튜디오 4.2의 최신 Canary 버전을 사용해야 합니다. 이 저장소를 클론하거나 다음 단계에 따라 Android 스튜디오에서 프로젝트를 가져올 수 있습니다. 상태: 🚧 진행 중 🚧 Jetcaster는 아직 개발 초기 단계이며 지금까지 한 화면만 만들어졌습 그러나 대다수 앱 아키텍처뿐 아니라 데이터 영역, 동적 테마 설정 초기 단계는 구현되었습니다.

Kotlin

Jetchat 샘플

Jetchat은 Jetpack Compose로 빌드된 샘플 채팅 앱입니다. 샘플 앱을 사용해 보려면 Android 스튜디오 4.2의 최신 Canary 버전을 사용해야 합니다. 이 저장소를 클론하거나 다음 단계에 따라 Android 스튜디오에서 프로젝트를 가져올 수 있습니다. 이 샘플은 다음을 보여 줍니다. <li>UI 상태 관리</li> <li>아키텍처 구성요소와 통합: 탐색, 프래그먼트, LiveData, ViewModel</li> <li>뒤로 버튼 처리</li> <li>텍스트 입력 및 포커스 관리</li> <li>여러 유형의 애니메이션 및 전환</li> <li>구성 변경에서 저장된 상태</li> <li>기본 머티리얼 디자인 테마 설정</li> <li>UI 테스트</li> <img src="screenshots/jetchat.gif" /> 상태: 🚧 진행 중 Jetchat은 여전히 개발 단계에 있으며 일부 기능은 아직 구현되지 않았습니다.

Kotlin

Jetsnack 샘플

Jetsnack은 Jetpack Compose로 빌드된 샘플 스낵 주문 앱입니다. 샘플 앱을 사용해 보려면 Android 스튜디오 4.2의 최신 Canary 버전을 사용해야 합니다. 이 저장소를 클론하거나 다음 단계에 따라 Android 스튜디오에서 프로젝트를 가져올 수 있습니다. 이 샘플은 다음을 보여 줍니다. <li>맞춤 디자인 시스템 구현 방법</li> <li>맞춤 레이아웃</li> <li>애니메이션</li> <img src="screenshots/jetsnack.gif" /> 상태: 🚧 진행 중 🚧 Jetsnack은 여전히 개발 단계에 있으며 일부 화면은 아직 구현되지 않았습니다.

Kotlin

Jetsurvey 샘플

Jetsurvey는 Jetpack Compose로 빌드된 샘플 설문조사 앱입니다. 샘플의 목표는 Compose의 텍스트 입력, 유효성 검사 및 상태 기능을 보여 주는 것입니다. 샘플 앱을 사용해 보려면 Android 스튜디오 4.2의 최신 Canary 버전을 사용해야 합니다. 이 저장소를 클론하거나 다음 단계에 따라 Android 스튜디오에서 프로젝트를 가져올 수 있습니다.

Kotlin

Owl 샘플

이 샘플은 머티리얼 디자인 연구인 Owl입니다. 샘플 앱을 사용해 보려면 Android 스튜디오 4.2의 최신 Canary 버전을 사용해야 합니다. 이 저장소를 클론하거나 다음 단계에 따라 Android 스튜디오에서 프로젝트를 가져올 수 있습니다. 이 샘플은 다음을 보여 줍니다. <li>머티리얼 테마 설정 &amp; 밝은 테마/어두운 테마</li> <li>맞춤 레이아웃</li> <li>애니메이션</li>

Kotlin

Rally 샘플

이 샘플은 머티리얼 디자인 연구인 Rally입니다. 샘플 앱을 사용해 보려면 Android 스튜디오 4.2의 최신 Canary 버전을 사용해야 합니다. 이 저장소를 클론하거나 다음 단계에 따라 Android 스튜디오에서 프로젝트를 가져올 수 있습니다. 이 샘플은 다음을 보여 줍니다. <li>머티리얼 테마 설정</li> <li>맞춤 레이아웃 및 재사용 가능한 요소</li> <li>차트 및 표</li> <li>애니메이션</li> <img src="screenshots/rally.gif" /> 상태: 🚧 진행 중 이 샘플은 여전히 개발 단계에 있으며 일부 기능은 아직 구현되지 않았습니다.

자바

BluetoothChat

이 샘플은 기본적인 Bluetooth API 기능을 모두 사용하여 두 Android 기기 간에 블루투스를 통한 양방향 문자 채팅을 구현하는 방법을 보여 줍니다.

자바

NetworkConnect

이 샘플은 HttpsURLConnection을 사용하여 네트워크에 연결하고 원시 HTML을 사용하는 방법을 보여줍니다. AsyncTask는 백그라운드 스레드에서 가져오기를 실행하는 데 사용됩니다.

자바

WifiRttScan

이 샘플은 Android에서 WifiRTT API 사용에 관한 권장사항을 보여 줍니다. 또한 Wifi-RTT 지원 휴대전화와 액세스 포인트를 테스트하고 예상 거리가 둘 사이의 실제 거리에 가까운지 확인하는 데도 유용한 애플리케이션입니다.

Kotlin

데이터 결합 기본

이 샘플은 데이터 결합 라이브러리의 다음 기능을 보여 줍니다. <li>레이아웃 변수 및 표현식</li> <li>식별 가능한 필드, LiveData, 식별 가능한 클래스를 통한 식별 가능성</li> <li>결합 어댑터, 결합 메서드 및 결합 변환기</li> <li>ViewModel과의 원활한 통합</li> 두 가지 화면으로 일반적인 잘못된 사례와 그 해결 방법을 보여 줍니다.

Kotlin

데이터 결합 고급

이 샘플은 운동 타이머를 보여 주는 앱과 함께 데이터 결합 라이브러리의 다음 기능을 보여 줍니다. <li>양방향 데이터 결합</li> <li>양방향 데이터 결합의 대안</li> <li>여러 매개변수가 있는 결합 어댑터</li> <li>결합 어댑터가 있는 애니메이션</li> <li>결합 변환기 및 역변환기</li> <li>ViewModel 및 Kotlin을 사용한 데이터 결합</li> <li>활동에 UI 프레임워크 호출이 없음</li> <li>테스트</li>

자바

AppRestrictionEnforcer

이 샘플은 프로필 소유자로서 다른 앱에 제한을 설정하는 방법을 보여줍니다. 제한을 설정하려면 AppRestrictionSchema 샘플을 사용하세요.

자바

AppRestrictionSchema

기기 관리자가 Android 기기 관리 API를 사용하여 사용자 활동을 제한할 수 있는 방법을 보여주는 기본적인 앱입니다. 앱에서는 UI 컨트롤을 사용 설정 또는 사용 중지하는 맞춤 정책을 내보냅니다. 기기 관리 애플리케이션에서는 엔터프라이즈 관리자의 지시에 따라 이 정책에 특정한 값을 적용할 수 있습니다.

자바

AppRestrictions

다중 사용자 지원 기능이 있는 기기에서 앱 제한 기능을 사용하는 방법을 보여 주는 샘플입니다.

자바

BasicManagedProfile

이 샘플은 Android 5.0 Lollipop에 도입된 Managed Profile API의 기본 기능을 보여줍니다. 이 앱을 프로필 소유자로 설정하고 이 앱을 사용하여 새로 만든 관리 프로필에서 앱을 사용 설정/중지할 수 있습니다. 일부 앱에 제한을 설정하고 프로필 간 인텐트 전달을 사용 설정/중지하고 프로필과 연결된 모든 데이터를 완전히 삭제할 수도 있습니다.

자바

DeviceOwner

이 샘플은 몇 가지 기기 소유자 기능을 사용하는 방법을 보여줍니다. 기기 소유자는 자동 시간과 시간대 등 전체 설정을 구성할 수 있습니다. 원하는 인텐트 핸들러별로 특정 런처를 지정할 수 있습니다.

자바

NfcProvisioning

이 샘플은 NFC를 사용하여 기기 소유자로 새로운 기기를 프로비저닝하는 방법을 보여줍니다. 기기 소유자는 기기 보안 및 구성을 제어할 수 있는 특수한 유형의 기기 관리자입니다. 이 샘플 자체는 기기 소유자는 아니지만 프로비저닝되지 않은 피어 기기에 NFC 메시지를 보내고 지정된 기기 소유자 앱을 설정하도록 알리는 프로그래밍 앱입니다.

자바

DisplayingBitmaps

기본 UI 스레드에서 큰 비트맵을 효율적으로 로드하고 비트맵을 캐시하여(메모리와 디스크에서 모두) 비트맵 메모리를 관리하고 ViewPager 및 ListView/GridView와 같은 UI 요소에 비트맵을 표시하는 방법을 보여 주는 샘플입니다.

자바

DrawableTinting

프로그래매틱 방식과 XML의 드로어블 리소스로 드로어블에 색조 조정 및 색상 필터를 적용하는 방법을 보여 주는 샘플입니다. 색조 조정은 &quot;tint&quot 및 &quot;tintMode&quot; 매개변수를 통해 나인 패치 드로어블에 설정됩니다. 색상 상태 목록은 뷰의 여러 상태(예: 사용 중지됨/사용 설정됨, 포커스 설정됨, 누름, 선택됨) 색상을 정의하는 색조 색상으로 참조됩니다. 프로그래매틱 방식의 경우 색조 조정은 색상 및 PorterDuff 혼합 모드를 참조하여 &quot;setColorFilter&quot; 메서드를 통해 드로어블에 적용됩니다. UI에서 색상과 혼합 모드를 변경하여 여러 옵션의 효과를 확인할 수 있습니다.

자바

MediaEffects

이 샘플은 Android 4.0에 도입된 Media Effects API를 사용하는 방법을 보여 줍니다.

자바

PdfRendererBasic

이 샘플은 Android 5.0 Lollipop에 도입된 PdfRenderer를 사용하여 화면에 PDF 문서를 표시하는 방법을 보여 줍니다.

Kotlin

PdfRendererBasic(Kotlin)

이 샘플은 Android 5.0 Lollipop에 도입된 PdfRenderer를 사용하여 화면에 PDF 문서를 표시하는 방법을 보여 줍니다.

자바

Account Transfer API 앱

새 기기를 설정하는 동안 AccountTransferApi를 사용하여 계정을 전송하는 방법을 보여 주는 샘플 앱입니다.

자바

credentials-quickstart

자바

Credentials API + Google Sign In API 빠른 시작

이 샘플은 동일한 애플리케이션에서 Credentials API(비밀번호용 SmartLock)와 Google Sign In API를 모두 사용하는 방법을 보여 줍니다. 자세한 내용은 다음 페이지를 참고하세요. https://developers.google.com/identity/

자바

SMS 인증 앱

이 샘플은 Play 서비스의 SMS 인증 API를 사용하여 전체 SMS 검색 권한(SMS_READ) 없이도 특수 태그가 지정된 문자 메시지(태그는 메시지를 APK와 연결함)에 액세스할 수 있는 방법을 보여 줍니다.

Kotlin

경고: 이 샘플은 오래되었으므로 대신 자바 버전을 참조해야 합니다.

Android AutofillFramework 샘플(Kotlin) 이 샘플은 자동 완성 프레임워크 사용 방법을 보여 줍니다. 샘플에는 자동 완성되어야 하는 뷰가 있는 클라이언트 활동의 구현 및 클라이언트 활동에 자동 완성 데이터를 제공할 수 있는 서비스가 포함되어 있습니다.

자바

BasicGestureDetect

이 샘플은 보기에서 동작을 감지하여 기록합니다. 이 샘플을 사용하려면 텍스트를 드래그하거나 탭해 보세요.

자바

BasicMultitouch

이 샘플은 MotionEvent 속성을 사용하여 여러 터치 이벤트에서 개별 터치를 추적하는 방법을 보여 줍니다.

자바

사용자의 현재 활동 인식

ActivityRecognitionApi를 사용하여 걷기, 운전 또는 정지 상태와 같은 사용자의 현재 활동을 인식하는 방법을 보여 줍니다. 소개 ActivityRecognitionApi를 사용하여 걷기, 운전, 정지 상태와 같은 사용자의 현재 활동을 인식하는 방법을 보여 줍니다. 사용자는 &quot;업데이트 요청&quot; 버튼을 눌러 활동 업데이트를 요청하고 &quot;업데이트 삭제&quot; 버튼을 사용하여 업데이트 수신을 중지할 수 있습니다. 샘플에서는 <code>IntentService</code>를 사용하여 감지된 활동 변경사항을 처리하며 이 변경사항은 DetectedActivity 유형 목록의 DetectedActivity 클래스를 사용하여 전송됩니다. 각 <code>DetectedActivity</code>는 0과 100 사이의 int인 신뢰 수준과 연결됩니다. 샘플을 실행하려면 <strong>위치를 사용 설정해야 합니다</strong>.

자바

기본 위치(자바)

Google Play 서비스 Location API를 사용하여 마지막으로 알려진 기기 위치를 검색하는 방법을 보여 줍니다. 소개 이 샘플은 일반적으로 기기의 현재 위치인 마지막으로 알려진 기기 위치를 가져오는 간단한 방법을 보여 줍니다. 반환된 위치의 정확도는 요청한 위치 정보 액세스 권한과 기기에 현재 활성화되어 있는 위치 센서에 기반합니다. 샘플을 실행하려면 <strong>위치를 사용 설정해야 합니다</strong>. 이 샘플에서는 FusedLocationProviderClient를 사용합니다. 이 샘플의 Kotlin 버전도 참고하세요.

Kotlin

기본 위치(Kotlin)

Google Play 서비스 Location API를 사용하여 마지막으로 알려진 기기 위치를 검색하는 방법을 보여 줍니다. 소개 이 샘플은 일반적으로 기기의 현재 위치인 마지막으로 알려진 기기 위치를 가져오는 간단한 방법을 보여 줍니다. 반환된 위치의 정확도는 요청한 위치 정보 액세스 권한과 기기에 현재 활성화되어 있는 위치 센서에 기반합니다. 샘플을 실행하려면 <strong>위치를 사용 설정해야 합니다</strong>. 이 샘플에서는 FusedLocationProviderClient를 사용합니다.

자바

지오펜싱 만들기 및 모니터링

GeofencingApi를 사용하여 지오펜싱을 만들고 삭제하는 방법을 보여 줍니다. 지오펜싱 전환을 모니터링하고 기기가 지오펜싱에 들어오거나 나갈 때마다 알림을 만듭니다. 소개 지오펜싱은 현재 위치에 관한 사용자의 인식과 관심 위치에 관한 사용자의 근접성으로 정의되는 근처 지형지물 인식을 결합합니다. 관심 위치를 표시하려면 위도와 경도를 지정합니다. 위치 근접성을 조정하려면 반경을 추가합니다. 위도와 경도, 반경은 지오펜싱을 정의합니다. 한 번에 여러 활성 지오펜싱이 있을 수 있습니다. 위치 서비스는 지오펜싱을 점 및 근접성보다는 영역으로 간주합니다. 따라서 사용자가 지오펜싱에 들어가거나 나올 때를 감지할 수 있습니다. 각 지오펜싱에서 위치 서비스에 방문 이벤트나 이탈 이벤트 또는 둘 다 전송하도록 요청할 수 있습니다. 만료 시간을 밀리초로 지정하여 지오펜싱 시간을 제한할 수도 있습니다. 지오펜싱이 만료되면 위치 서비스에서 자동으로 삭제됩니다. 샘플을 실행하려면 <strong>위치를 사용 설정해야 합니다</strong>.

자바

위치 업데이트(자바)

Geocode API와 역 지오코딩을 사용하여 기기 위치를 주소로 표시하는 방법을 보여 줍니다. 소개 이 샘플은 이 저장소에 포함된 BasicLocationSample과 LocationUdpates 샘플에 기반합니다. 이러한 샘플은 위도 및 경도 값에만 작동합니다. 위도와 경도는 거리를 계산하거나 지도 위치를 표시하는 데 유용하지만 위치의 주소가 더 유용한 경우가 대부분입니다. Android 프레임워크 Location API는 Geocode API를 제공하며 이 API에는 주어진 위도와 경도에 상응하는 예상 상세 주소를 반환하는 [getFromLocation()](http://developer.android.com/reference/android/location/Geocoder.html#getFromLocation(double, double, int)) 메서드가 포함되어 있습니다. 이 샘플은 <code>getFromLocation()</code> 메서드를 사용하여 위치 주소 조회를 실행하고 IntentService를 사용하여 위치 주소를 가져오며 ResultReceiver를 사용하여 IntentService에서 전송한 결과를 처리합니다. 샘플을 실행하려면 <strong>위치를 사용 설정해야 합니다</strong>.

Kotlin

위치 업데이트(Kotlin)

Geocode API와 역 지오코딩을 사용하여 기기 위치를 주소로 표시하는 방법을 보여 줍니다. 소개 이 샘플은 이 저장소에 포함된 BasicLocationSample과 LocationUdpates 샘플에 기반합니다. 이러한 샘플은 위도 및 경도 값에만 작동합니다. 위도와 경도는 거리를 계산하거나 지도 위치를 표시하는 데 유용하지만 위치의 주소가 더 유용한 경우가 대부분입니다. Android 프레임워크 Location API는 Geocode API를 제공하며 이 API에는 주어진 위도와 경도에 상응하는 예상 상세 주소를 반환하는 [getFromLocation()](http://developer.android.com/reference/android/location/Geocoder.html#getFromLocation(double, double, int)) 메서드가 포함되어 있습니다. 이 샘플은 <code>getFromLocation()</code> 메서드를 사용하여 위치 주소 조회를 실행하고 IntentService를 사용하여 위치 주소를 가져오며 ResultReceiver를 사용하여 IntentService에서 전송한 결과를 처리합니다. 샘플을 실행하려면 <strong>위치를 사용 설정해야 합니다</strong>.

자바

위치 업데이트

Fused Location Provider API를 사용하여 기기 위치 업데이트를 가져오는 방법을 보여 줍니다. 통합 위치 정보 제공자는 Google Play 서비스 Location API의 일부입니다. 소개 이 샘플은 이 저장소에 포함된 BasicLocationSample 샘플에 기반하며 사용자의 주기적 위치 업데이트 요청을 허용합니다. 이를 위해 API는 정기적으로 Wi-Fi 및 GPS(위성 위치 확인 시스템)와 같은 현재 사용 가능한 위치 정보 제공자를 기반으로 앱을 가장 근접한 위치로 업데이트합니다. 위치 정확도는 요청한 위치 정보 액세스 권한(여기서는 ACCESS_FINE_LOCATION을 사용함)과 위치 요청에서 설정한 옵션에 따라 결정됩니다. 이 샘플은 FusedLocationProviderClient를 사용합니다. 샘플을 실행하려면 <strong>위치를 사용 설정해야 합니다</strong>.

자바

BasicMediaDecoder

이 샘플은 MediaCoder를 사용하여 동영상을 디코딩하고 TimeAnimator를 사용하여 렌더링 명령어를 시스템 표시 프레임 렌더링과 동기화하며 마지막으로 TextureView에 렌더링하는 방법을 보여 줍니다.

자바

BasicMediaRouter

이 샘플은 MediaRouter API를 사용하여 보조 디스플레이에 콘텐츠를 표시하는 방법을 보여 줍니다. ActionBar에서 &quot;미디어 경로 작업 항목&quot;을 사용하여 출력 기기를 선택합니다. Miracast 무선 디스플레이를 지원하는 기기의 경우 시스템 설정에서 &quot;무선 디스플레이&quot; 기능을 사용 설정해야 할 수 있습니다. &quot;개발자 옵션&quot;에서 보조 화면 시뮬레이션을 사용 설정할 수도 있습니다. 연결되면 &quot;색상 변경&quot; 버튼을 사용하여 보조 화면의 배경색을 변경하세요.

자바

MediaRecorder

이 샘플은 카메라/캠코더를 MediaRecorder API의 A/V 소스로 사용합니다. TextureView가 코드를 API 14 이상으로 제한하는 카메라 미리보기로 사용됩니다. 이전 기기에서 실행하기 위해 SurfaceView로 쉽게 대체할 수 있습니다.

자바

MediaRouter

맞춤 미디어 경로 제공자를 만드는 방법을 보여 줍니다.

자바

MidiScope

MIDI API를 사용하여 연결된 기기에서 들어오는 MIDI 신호를 수신하고 처리하는 방법을 보여 주는 샘플입니다.

자바

MidiSynth

MIDI API를 사용하여 연결된 입력 기기(MIDI 키보드)에서 들어오는 MIDI 메시지를 수신하고 재생하는 방법을 보여 주는 샘플입니다.

자바

ScreenCapture

이 샘플은 Media Projection API를 사용하여 기기 화면을 실시간으로 캡처하고 SurfaceView에 표시하는 방법을 보여 줍니다.

kotlin exoplayer

동영상 플레이어

이 샘플은 로컬 저장소(APK에 있는 애셋 폴더) 또는 HTTP(S)를 통해 원격 소스에서 동영상을 재생할 수 있는 미디어 앱을 구현하는 방법을 보여 줍니다. 1. 재생목록을 지원하므로 여러 동영상을 연결하여 번갈아 재생하거나 건너뛸 수 있습니다. 2 <code>MediaSession</code>을 지원하므로 외부 블루투스 헤드폰이 미디어를 제어하고(재생, 일시중지, 다음으로 건너뛰기 등) 현재 재생 중인 미디어(예: 차량의 블루투스 헤드 유닛)를 확인할 수 있습니다. 3. 오디오 포커스를 지원하므로 Android의 오디오 포커스 시스템을 존중하고 다른 부분이 재생 중이면 재생을 일시중지할 수 있습니다. 4. PIP 모드를 지원하므로 사용자가 다른 앱에 있는 동안 앱의 동영상 재생이 최소화된 창에서 계속될 수 있습니다. <code>ExoPlayer</code>, <code>MediaSession</code>, 오디오 포커스, PIP에 관한 자세한 내용은 이러한 API를 자세히 설명하는 Medium에 관한 이 도움말 시리즈를 참고하세요.

C++, 자바 NDK

오디오-에코

이 샘플은 OpenSL ES를 사용하여 Android 빠른 오디오 경로에서 플레이어와 레코더를 만들고 루프백 오디오에 연결하는 방법을 보여줍니다. 대부분의 Android 기기에는 대기 시간을 단축하기 위해 미세 조정된 최적화된 오디오 경로가 있습니다. 이 샘플에서는 고도로 최적화된 경로(네이티브 오디오 경로, 짧은 지연 시간 경로 또는 빠른 오디오 경로라고도 함)에서 작동하는 플레이어/레코더를 만듭니다. 애플리케이션은 다음 구성을 기반으로 검사됩니다. * Android L AndroidOne * Android M Nexus 5, Nexus 9 이 샘플은 CMake 지원이 포함된 새로운 Android 스튜디오를 사용하고 공유 stl lib를 Android 스튜디오 버전 2.2.0과 함께 사용하는 방법을 보여 줍니다. 자세한 내용은 CMakeLists.txt를 참고하세요. <strong><em>대신 OpenSL ES는 Oboe 라이브러리입니다.</em></strong>

C++, 자바 NDK

비트맵 플라즈마

비트맵 플라즈마는 JNI를 사용하여 C 코드에서 Android 비트맵에 플라즈마 효과를 렌더링하는 Android 샘플입니다. 이 샘플에서는 C++를 지원하는 새로운 Android 스튜디오 CMake 플러그인을 사용합니다.

C++ NDK

Endless Tunnel

Endless Tunnel은 다음 방법을 보여주는 샘플 게임입니다. - Android 스튜디오 C++ 지원 기능을 사용하는 방법 - Android Native Glue를 사용하여 게임을 구현하는 방법 - 비 터치스크린용 강력한 DPAD 탐색 등 조이스틱 지원 기능을 구현하는 방법 게임 로직을 작성하고 리소스를 로드하는 최적의 방법을 보여주는 것이 이 샘플의 목적이 아닙니다. 게임 자체는 Android 스튜디오 C++ 통합에 초점을 맞추기 위해 의도적으로 기초적인 수준을 유지했습니다. 예를 들어, 이 게임에는 이 게임과 같이 작은 데모 게임의 경우 작동하지만 실제 게임으로 잘 확장되지 않는 코드로 하드 코딩된 텍스처와 도형이 포함되어 있습니다. 이 샘플에서는 C++를 지원하는 새로운 Android 스튜디오 CMake 플러그인을 사용합니다.

C++, 자바 NDK

gles3jni

gles3jni는 JNI/네이티브 코드에서 OpenGL ES 3.0을 사용하는 방법을 보여주는 Android C++ 샘플입니다. OpenGL ES 3.0 렌더링 경로는 OpenGL ES 2.0 경로와 비교하여 다음과 같은 몇 가지 새로운 기능을 사용합니다. - 그리기 호출 및 동일 변경사항의 수를 줄이기 위한 인스턴스 렌더링 및 정점 속성 제수 - 각 프레임에서 정점 속성 상태를 설정하는 데 필요한 호출 수를 줄이기 위한 정점 배열 객체 - 속성 위치의 명시적 할당으로 할당을 쿼리할 필요 제거 이 샘플에서는 C++를 지원하는 새로운 Android 스튜디오 CMake 플러그인을 사용합니다.

C++, 자바 NDK

Hello GL2

Hello GL2는 GLES 2.0 API를 사용하여 삼각형을 그리는 Android C++ 샘플입니다. JNI를 사용하여 일반 Android 자바 활동에서 만든 GLSurfaceView 위에 C++로 렌더링합니다. 이 샘플에서는 C++를 지원하는 새로운 Android 스튜디오 CMake 플러그인을 사용합니다.

C++, 자바 NDK

Hello JNI

Hello JNI는 JNI를 사용하여 Android 자바 활동에서 C 코드를 호출하는 Android 샘플입니다. 이 샘플에서는 새로운 Hello-CMake Codelab을 사용합니다.

C++, 자바 NDK

Hello JNI 콜백

이 샘플은 Hello JNI 샘플의 추가 샘플로서, C 코드에서 자바로 콜백하고 C 코드에서 자바 클래스 인스턴스를 생성하고 자바 클래스 정적 및 비정적 멤버 함수를 호출하는 방법을 보여 줍니다. 이 샘플에서는 C++를 지원하는 새로운 Android 스튜디오 CMake 플러그인을 사용합니다.

C++, 자바 NDK

hello-libs

hello-libs는 Android 스튜디오를 사용하여 타사 C/C++ 라이브러리를 관리하는 방법을 보여 주는 샘플입니다.

C++ NDK

Hello Oboe

Hello Oboe는 Oboe 라이브러리를 사용하여 오디오를 기본적으로 재생하는 Android 샘플입니다. Oboe는 개발자가 여러 Android 버전의 성능에 민감한 컨텍스트에서 오디오를 재생하고 녹음할 수 있도록 AAudio와 OpenSLES를 모두 래핑합니다. Oboe 저장소에는 Oboe API를 최대한 활용하는 방법에 관한 자세한 내용뿐 아니라 상세한 예 및 문서가 있습니다. 이 샘플에서는 스튜디오 Prefab 기능을 사용하여 Google Maven에서 미리 빌드된 Oboe 라이브러리를 다운로드합니다. 언제든지 gradle.properties - app/build.gradle - app/src/main/cpp/CMakeLists.txt에서 Prefab 단계를 확인하세요. Oboe 라이브러리 소스 코드로 앱을 빌드하려면 Oboe 저장소의 예를 참고하세요.

C++ NDK

네이티브 활동

Native Activity는 네이티브 액티비티를 사용하여 GLES 2.0 컨텍스트를 초기화하고 C 코드에서 가속도계 데이터를 읽는 Android 샘플입니다. 이 샘플에서는 C++를 지원하는 새로운 Android 스튜디오 CMake 플러그인을 사용합니다.

C++, 자바 NDK

네이티브 오디오

네이티브 오디오는 JNI를 사용하여 C++ OpenSLES API로 사운드를 재생하고 녹음하는 Android 샘플입니다. 만들어진 녹음기/플레이어는 빠른 오디오 경로에 있지 않습니다. 이 샘플에서는 C++를 지원하는 새로운 Android 스튜디오 CMake 플러그인을 사용합니다. <strong><em>대신 OpenSL ES는 Oboe 라이브러리입니다.</em></strong>

C++ NDK

네이티브 플라즈마

네이티브 플라즈마는 네이티브 액티비티를 사용하여 C 코드에서 Android 비트맵에 플라즈마 효과를 렌더링하는 Android 샘플입니다. 이 샘플에서는 C++를 지원하는 새로운 Android 스튜디오 CMake 플러그인을 사용합니다.

C++, 자바 NDK

San Angeles

San Angeles는 GLES C/API를 사용하여 절차 화면을 렌더링하는 Android 포트입니다. 원래 GLES 포트에 대한 자세한 내용은 원래 README를 참조하세요. 샘플 데모: - ABI APK 분할

C++, 자바 NDK

센서-그래프

센서 그래프는 현재 가속도계 값을 읽고 OpenGL을 사용하여 그리는 C++ Android 샘플입니다. 다음과 같은 네이티브 C++ API의 사용법을 보여줍니다. - 애셋 이 샘플에서는 C++를 지원하는 새로운 Android 스튜디오 CMake 플러그인을 사용합니다.

C++, 자바 NDK

Teapots

Teapots는 Teapot 렌더링을 사용하여 Android NDK 플랫폼 기능을 보여 주는 Android C++ 샘플의 컬렉션입니다. - classic-teapot: GLES 2.0 API 및 NativeActivity를 사용하여 기본 Teapot 메시를 렌더링합니다. - more-teapots: GLES 3.0 인스턴스 렌더링을 사용하여 기본 Teapot의 여러 인스턴스를 렌더링합니다. - Choreographer-30fps: Choreographer API 및 EGL Android 프레젠테이션 시간 연장을 사용하여 API 수준을 기반으로 여러 프레임 속도 조절 기법을 보여 줍니다. - textcoded-teapot: 기본 Teapot 및 텍스처를 렌더링합니다. - image-decoder: textured-teapot과 동일합니다. 단, Android 11(Android NDK r21b)에서 도입된 ImageDecoder API로 텍스처 디코딩이 실행되는 경우에는 예외입니다. 이 샘플은 C++를 지원하는 새로운 Android 스튜디오 CMake 플러그인을 사용합니다.

C++ NDK

WEBP

Webp는 네이티브 활동에서 webp를 사용하는 방법을 보여 주는 작은 앱이 포함된 Android 샘플입니다.<br />뷰: - 디코딩 3 webp 이미지를 회전하고 화면 버퍼에 로드합니다. 디코딩은 자체 스레드에 있습니다. 이 샘플에서는 새로운 Android 스튜디오 CMake 플러그인을 사용합니다.

자바

BasicRenderScript

이 샘플은 RenderScript를 사용하여 기본적인 이미지 조작을 수행하는 방법을 보여줍니다. 구체적으로 사용자가 슬라이더를 사용하여 이미지의 채도를 동적으로 조정할 수 있도록 허용합니다. 맞춤 RenderScript 커널이 채도 조정을 실행하여 기기의 GPU에서 계산을 실행하거나 시스템에 의해 적절하다고 간주되는 기타 컴퓨팅 하드웨어에서 계산을 실행합니다.

자바

RenderScriptIntrinsic

RenderScript 내장함수를 사용하는 방법을 보여주는 RenderScriptIntrinsic 샘플입니다. RenderScript 내장함수를 만들고 다양한 매개변수를 사용하여 필터링한 결과를 보여줍니다. StateListDrawable로 RedioButton을 확장하는 방법도 보여 줍니다.

Kotlin

BiometricAuthentication(Kotlin)

등록된 지문을 사용하여 앱에서 사용자를 인증하는 방법을 보여 주는 샘플입니다.

Kotlin

BiometricLogin(Kotlin)

Androidx 생체 인식 라이브러리 샘플

자바

FIDO2 API

FIDO2 API를 사용하여 공개 키 사용자 인증 정보를 등록하고 인증하는 방법을 보여 주는 샘플 앱입니다. FIDO2 API는 Android N(API 수준 24) 이상을 실행하는 기기에 사용됩니다.

Kotlin

파일 보관함

Jetpack 보안 라이브러리를 사용하여 간단한 메모 앱을 구현해 파일을 암호화하고 복호화하는 방법을 보여 주는 샘플입니다. <img src="screenshots/notes-list.png" height="400" alt="Screenshot showing a list of notes. The notes say 'Secret Note' and 'Encrypted Todo List'." />

자바

BatchStepSensor

걸음 감지기 및 걸음 카운터의 SensorEventListeners를 설정하는 방법을 보여 주는 샘플입니다.

Kotlin 저장소 액세스 프레임워크

ACTION_OPEN_DOCUMENT

<img src="screenshots/icon-web.png" height="256" alt="App Icon" /> 이 샘플은 Android 5.0 Lollipop에서 도입된 PdfRenderer를 사용하여 화면에 PDF 문서를 표시하는 방법을 보여 줍니다.

Kotlin 저장소 액세스 프레임워크

ACTION_OPEN_DOCUMENT_TREE

Android 5.0, API 수준 21을 활용한 개념 증명 파일 관리자

자바

ContentProviderPaging

이 샘플은 Android O에서 도입된 페이징 지원과 함께 ContentProvider를 사용하는 방법을 보여 줍니다. ContentProvider는 이제 단일 쿼리 메서드 호출로 모든 데이터를 가져오는 대신 페이징 지원을 위해 쿼리 메서드에서 오프셋과 제한에 추가 인수를 허용합니다.

자바

ContentProviderPaging(Kotlin)

이 샘플은 Android O에서 도입된 페이징 지원과 함께 ContentProvider를 사용하는 방법을 보여 줍니다. ContentProvider는 이제 단일 쿼리 메서드 호출로 모든 데이터를 가져오는 대신 페이징 지원을 위해 쿼리 메서드에서 오프셋과 제한에 추가 인수를 허용합니다.

Kotlin 미디어 저장소

미디어 저장소

<img src="screenshots/icon-web.png" height="256" alt="App Icon" /> 이 샘플은 Android의 MediaStore를 사용하여 RecyclerView에서 사용자 이미지를 찾고 표시하는 방법을 보여 줍니다.

자바

StorageClient

클라이언트 앱은 OPEN_DOCUMENT 인텐트를 사용하여 기기의 문서 제공자 목록에 액세스하고 그중 하나에서 파일을 선택할 수 있습니다.

자바

StorageProvider

이 샘플은 Android 4.4에서 사용할 수 있는 저장소 액세스 프레임워크를 사용하여 간단한 문서 제공자를 구현하는 방법을 보여 줍니다.

Kotlin

Sunflower

Android Jetpack을 사용한 Android 개발 권장사항을 보여 주는 정원 가꾸기 앱입니다. Android Sunflower는 현재 활발히 개발 중입니다. 데이터베이스 스키마 수정과 같은 일부 변경사항은 이전 버전과 호환되지 않으므로 앱이 비정상 종료될 수 있습니다. 이 경우 앱을 제거한 후 다시 설치하세요.

자바

프레임워크를 모방한 단위 테스트를 작성하는 기본 샘플

<em>Android에서 단위 테스트를 처음 실행하는 경우 이 샘플을 먼저 사용해 보세요.</em> 이 프로젝트에서는 단위 테스트를 위해 Gradle 빌드 시스템과 Android Gradle 플러그인 지원 기능을 사용합니다. Android 스튜디오와 같은 IDE 통합을 활용하거나 명령줄에서 테스트를 실행할 수 있습니다. 단위 테스트는 개발용 컴퓨터의 로컬 JVM에서 실행됩니다. Android Gradle 플러그인에서는 앱의 소스 코드를 컴파일한 후 Gradle 테스트 작업을 사용하여 실행합니다. 테스트는 모든 최종 수정자가 제거된 수정된 버전의 android.jar에 실행됩니다. 이를 통해 Mockito와 같은 흔히 사용되는 모의 라이브러리를 사용할 수 있습니다. 자세한 내용은 다음 페이지를 참고하세요. http://tools.android.com/tech-docs/unit-testing-support

Kotlin

프레임워크를 모방한 단위 테스트를 작성하는 기본 샘플(Kotlin)

<em>Android에서 단위 테스트를 처음 실행하는 경우 이 샘플을 먼저 사용해 보세요.</em> 이 프로젝트에서는 단위 테스트를 위해 Gradle 빌드 시스템과 Android Gradle 플러그인 지원 기능을 사용합니다. Android 스튜디오와 같은 IDE 통합을 활용하거나 명령줄에서 테스트를 실행할 수 있습니다. 단위 테스트는 개발용 컴퓨터의 로컬 JVM에서 실행됩니다. Android Gradle 플러그인에서는 앱의 소스 코드를 컴파일한 후 Gradle 테스트 작업을 사용하여 실행합니다. 테스트는 모든 최종 수정자가 제거된 수정된 버전의 android.jar에 실행됩니다. 이를 통해 Mockito와 같은 흔히 사용되는 모의 라이브러리를 사용할 수 있습니다. 자세한 내용은 다음 페이지를 참고하세요. http://tools.android.com/tech-docs/unit-testing-support

Kotlin

Android용 Topeka

재미있는 퀴즈를 통해 Android의 머티리얼 디자인에 대해 알아볼 수 있습니다. 소개 머티리얼 디자인은 시각적이고 상호작용하는 모션 디자인을 위한 새로운 시스템입니다. Android 버전 Topeka에서는 브랜딩과 머티리얼 디자인 원칙을 사용하여 전체 플랫폼에 일관적인 경험을 창조할 수 있다는 것을 보여줍니다. Topeka 웹 앱은 처음에 머티리얼 디자인의 오픈소스 예로 출시되었습니다. 현재 Topeka 버전은 중요한 역할을 하는 디자인 지원 라이브러리라고도 하는 API 수준 14의 사용자까지 사용할 수 있습니다. Topeka에는 <code>connectedAndroidTest</code> Gradle 작업을 통해 실행할 수 있는 Espresso 테스트 세트도 포함됩니다. 프로젝트에 관한 자세한 내용은 Android 개발자 블로그를 참고하세요. 스크린샷 <img src="screenshots/categories.png" width="30%" /> <img src="screenshots/category_history.png" width="30%" /> <img src="screenshots/quiz_shakespeare.png" width="30%" /> 시작하기 이 저장소를 클론하고 최상위 수준 디렉터리를 입력한 후 <code>./gradlew tasks</code>를 실행하여 이 프로젝트에 사용 가능한 모든 작업의 개요를 확인합니다. 일부 중요한 작업은 다음과 같습니다. <code> bundleDebug - Assembles all Debug builds. installDebug - Installs the Debug build. connectedAndroidTest - Installs and runs the tests for Debug build on connected devices. test - Run all unit tests. </code> 지원 <li>Stack Overflow: http://stackoverflow.com/questions/tagged/android</li> 이 샘플에서 오류를 발견하면 문제를 신고해 주세요. https://github.com/googlesamples/android-topeka/issues 패치가 권장되며 패치는 이 프로젝트를 포크하고 GitHub를 통해 pull 요청을 제출하여 제출될 수 있습니다. 라이선스 ``` Copyright 2015 Google LLC 하나 이상의 제공자 라이선스 계약에 따라 Apache Software Foundation(ASF)에 사용이 허가되었습니다. 저작권 소유와 관련된 자세한 내용은 이 저작물과 함께 배포된 '참고' 파일을 참조하세요. ASF는 Apache 라이선스, 버전 2.0(&quot;라이선스&quot;)에 따라 이 파일의 사용을 허가합니다. 라이선스를 준수하지 않는 경우 이 파일을 사용할 수 없습니다. http://www.apache.org/licenses/LICENSE-2.0에서 라이선스의 사본을 확인할 수 있습니다. 관련 법규에 따라 요구되거나 서면으로 동의한 경우를 제외하고, 본 라이선스에 따라 배포된 소프트웨어는 어떠한 종류의 명시적 또는 묵시적 보증 또는 조건 없이 &quot;있는 그대로&quot; 배포됩니다. 라이선스의 허가 및 제한 사항에 관한 구체적인 문구는 라이선스를 참고하시기 바랍니다. ```

자바

AdvancedImmersiveMode

Android 4.4에서 추가된 몰입형 모드는 사용자가 바를 안쪽과 바깥쪽으로 스와이프할 수 있어 &quot;전체 화면 숨기기&quot; 및 &quot;탐색 메뉴 숨기기&quot; 모드를 개선합니다. 이 샘플을 사용하여 사용자는 전체 화면 앱과 관련된 다른 UI 플래그와 상호작용하는 방식을 보고 몰입형 모드를 실험할 수 있습니다.

자바

BasicImmersiveMode

몰입형 모드를 사용하여 전체 화면 애플리케이션에서 시스템과 탐색 메뉴를 숨기는 방법을 보여 주는 샘플입니다.

자바

ClippingBasic

뷰에서 윤곽선을 만드는 ViewOutlineProvider 인터페이스를 사용하여 그림자 및 클리핑에 사용되는 뷰를 자르는 방법을 보여 주는 기본적인 앱입니다.

자바

DarkTheme

Android에서 어두운 모드를 지원하는 다양한 방법을 보여 주는 샘플입니다. 머티리얼 디자인 구성요소 라이브러리를 사용합니다.

자바

DragAndDropAcrossApps-new

이 샘플에는 DragSource와 DropTarget이라는 별도의 Android 애플리케이션 두 개가 포함되어 있습니다. DragSource에는 DropTarget 앱에 드롭할 수 있는 이미지와 텍스트가 포함되어 있습니다. 사용하려면 수신 앱이 먼저 권한을 요청해야 URI를 통해 두 앱 간에 이미지가 공유됩니다. v13 지원 라이브러리에서 DragStartHelper를 사용하여 드래그 앤 드롭 이벤트를 쉽게 처리하는 방법도 보여 줍니다.

자바

ElevationBasic

이 샘플은 <code>setTranslationZ()</code>를 사용하여 z-축에서 뷰를 이동하는 방법을 보여 줍니다. 이 메서드는 API 수준 21('Lollipop')에서 도입되었습니다.

자바

ElevationDrag

이 샘플은 여러 모양에서 드래그 앤 드롭 작업을 보여줍니다. 고도와 z 변환은 그림자를 렌더링하는 데 사용되며 뷰는 여러 윤곽선을 사용하여 잘립니다.

자바

ImmersiveMode

KitKat에 도입된 기능 중 하나가 &quot;몰입형 모드&quot;입니다. 몰입형 모드에서는 사용자가 스와이프하여 상태 표시줄과 탐색 메뉴를 표시하거나 숨길 수 있습니다. 몰입형 모드를 사용하려면 &quot;몰입형 모드 전환&quot; 버튼을 클릭하고 바를 안쪽과 바깥쪽으로 스와이프해 보세요.

자바

TextLinkify

이 샘플은 TextView에 링크를 추가하는 방법을 보여 줍니다. &quot;자동 링크&quot; 속성을 설정하여 자동으로 실행하거나 명시적으로 실행할 수 있습니다.

자바

텍스트에 둥근 모서리 배경 그리기

이 샘플은 텍스트에 <strong>둥근</strong> 모서리 배경을 그리는 방법을 보여 줍니다. 다음과 같은 경우 지원됩니다. <li><strong>한 줄</strong> 텍스트에 배경 설정</li> <img src="../TextRoundedBackgroundKotlin/screenshots/single.png" width="30%" /> <li><strong>두 줄 또는 여러 줄</strong>에서 텍스트에 배경 설정</li> <img src="../TextRoundedBackgroundKotlin/screenshots/multi.png" width="30%" /> <li><strong>오른쪽에서 왼쪽 방향</strong> 텍스트에 배경 설정</li> <img src="../TextRoundedBackgroundKotlin/screenshots/rtl.png" width="30%" />

자바

텍스트 스타일 지정

이 샘플은 자바에서 스팬을 사용하여 Android에서 텍스트의 스타일을 지정하는 방법을 보여 줍니다.

자바

텍스트 스타일 지정

이 샘플은 Android KTX를 사용하여 Kotlin으로 스팬을 사용해 Android에서 텍스트의 스타일을 지정하는 방법을 보여 줍니다.

자바

보간기 플레이그라운드

이 애플리케이션은 플랫폼에서 다양한 보간기 구현이 작동하는 방식을 보여 줍니다. 애니메이션의 지속 시간 및 모든 변수 보간기의 생성자 매개변수를 변경할 수 있으며 UI의 값을 사용하여 보간기를 사용하는 코드를 작성하는 방법을 알 수 있습니다. 애니메이션 매개변수 변경사항은 파란색 곡선에 동적으로 반영되고 애니메이션을 실행하면 애니메이션이 작동하는 모습이 표시됩니다(곡선의 빨간색 원과 하단의 열린 영역). 사용법: * 상단의 드롭다운 목록에서 기본으로 제공되는 보간기 중 하나를 선택합니다. * 슬라이더를 사용하여 애니메이션 지속 시간 및 선택한 보간기의 변수 매개변수를 변경합니다. * 2차 및 3차 경로 보간기의 경우 녹색 핸들을 드래그하여 곡선의 제어점을 배치합니다. * '실행' 버튼을 클릭하여 애니메이션이 작동하는 모습을 확인합니다. * 애니메이션 코드에 사용할 지속 시간 및 기타 매개변수의 값을 기록합니다. <img src="screenshot.png" alt="InterolatorPlayground screenshot" "="" />

자바

MotionLayout / 제약 조건 레이아웃

이 저장소에는 MotionLayout의 다양한 기능과 사용법을 보여 주는 레이아웃 목록이 포함되어 있습니다.

자바

MultiWindowPlayground

이 샘플은 Android N에서 사용할 수 있는 멀티 윈도우 API의 사용법을 보여 줍니다. 새로운 인텐트 플래그와 AndroidManifest 속성을 사용하여 멀티 윈도우 동작을 정의하는 방법도 보여줍니다. 앱의 수명 주기와 동작에 미치는 영향을 확인하려면 샘플 앱을 멀티 윈도우 모드로 전환하세요.

자바

MultiWindowPlayground(Kotlin)

이 샘플은 Android N에서 사용할 수 있는 멀티 윈도우 API의 사용법을 보여 줍니다. 새로운 인텐트 플래그와 AndroidManifest 속성을 사용하여 멀티 윈도우 동작을 정의하는 방법도 보여줍니다. 앱의 수명 주기와 동작에 미치는 영향을 확인하려면 샘플 앱을 멀티 윈도우 모드로 전환하세요.

자바

전환

이 애플리케이션은 Android 지원 라이브러리에서 Transitions API를 사용하는 방법을 보여 줍니다. KitKat 출시(API 수준 19) 이후로 플랫폼에서 전환이 작동했지만 이전에는 이전 버전을 실행하는 기기에서 전환을 사용할 방법이 없었습니다. 이제 Support Library API를 대신 사용하여 Android 버전을 Ice Cream Sandwich(API 수준 14)로 다시 실행할 수 있습니다. Support Library API에는 Framework API의 전환과 비교해 다음과 같은 제한사항이 있습니다. <li>Support Library API는 특히 KitKat에서 제공하는 것과 동일한 뷰 전환에 관한 것입니다. 활동 전환과 같은 최신 기능은 이전 출시에서 지원할 수 없는 플랫폼 기능에 의존합니다.</li> <li>KitKat 전환은 XML 리소스 파일을 사용하여 전환, 장면, 전환 그래프를 정의하는 기능을 제공합니다. 반면 지원 라이브러리 전환은 코드에서 전환 설정만 허용합니다. 지원 라이브러리에는 이러한 리소스 파일이 없습니다.</li> 전환 데모 애플리케이션을 사용하려면: <li>버튼 중 하나를 클릭하여 전체 버튼 그룹을 버튼 텍스트에서 지정된 위치로 이동합니다. TransitionManager.beginDelayedTransition()을 한 번만 호출하여 버튼이 어떻게 제자리로 애니메이션되는지 확인합니다.</li> <li> &quot;흔들거림&quot; 체크박스를 선택하여 전환이 시차를 두는 방식으로 차례로 실행되어야 하는지 나타냅니다. 이 경우 버튼은 다양한 타겟 뷰와 startDelays가 있는 하위 전환의 맞춤 TransitionSet을 만들어 한 번에 하나씩 시작됩니다.</li> <img src="TransitionsOnJbEmulator.png" alt="Transitions screenshot" "="" /> 전환에 관한 자세한 내용은 다음 리소스를 참고하세요. <li>지원 라이브러리 버전(전환 API에는 버전 24.2.0+ 사용)</li> <li> >android.support.transitions 참조 문서</li> <li>전환 시 개발자 교육</li>

자바

SwipeRefreshLayoutBasic

SwipeRefreshLayout을 사용하여 '스와이프하여 새로고침' 동작을 뷰에 추가하는 방법을 보여주는 기본 샘플입니다. 이 방법을 사용하면 뷰에서 아래로 스와이프하여 새로고침을 트리거할 수 있습니다. 이 샘플에서 새로고침할 수 있는 뷰는 ListView입니다.

자바

SwipeRefreshMultipleViews

SwipeRefreshLayout을 사용하여 '스와이프하여 새로고침' 동작을 하위 요소가 여러 개인 레이아웃에 추가하는 방법을 보여주는 기본 샘플입니다. 이 방법을 사용하면 표시된 뷰에서 아래로 스와이프하여 새로고침을 트리거할 수 있습니다. 이 샘플에서 SwipeRefreshLayout에는 스크롤 가능한 GridView가 빈 TextView 뷰와 함께 포함됩니다.

Kotlin

ViewPager2 샘플

이 샘플은 뷰 또는 프래그먼트가 있는 ViewPager2를 페이지로 사용하는 방법, 페이지 변환을 실행하는 방법, ViewPager2를 TabLayout에 연결하는 방법, 기본 페이지 어댑터 컬렉션의 수정을 처리하는 방법을 보여 줍니다. ViewPager2는 ViewPager를 대체하며 오른쪽에서 왼쪽 방향 레이아웃 지원, 세로 방향 및 수정 가능한 프래그먼트 컬렉션을 비롯하여 ViewPager의 문제점을 대부분 해결합니다. 샘플 <li>뷰가 있는 ViewPager2 - 뷰가 있는 ViewPager2를 페이지로 설정하는 방법을 보여 줍니다.</li> <li>프래그먼트가 있는 ViewPager2 - 프래그먼트가 있는 ViewPager2를 페이지로 설정하는 방법을 보여 줍니다.</li> 변경 가능한 컬렉션(뷰)이 있는 ViewPager2 - 뷰가 있는 ViewPager2를 페이지로 사용하는 방법과 페이지 어댑터에서의 변형을 보여 줍니다.</li> <li>변경 가능한 컬렉션(프래그먼트)이 있는 ViewPager2 - 프래그먼트가 있는 ViewPager2를 페이지로 사용하는 방법과 페이지 어댑터에서의 변형을 보여 줍니다.</li> <li>TabLayout(뷰)이 있는 ViewPager2 - 뷰가 있는 ViewPager2를 페이지로 설정하고 TabLayout에 연결하는 방법을 보여 줍니다.</li>

자바

AlwaysOn

네이티브 Wear 앱의 대기 모드를 지원하는 방법을 보여 주는 기본적인 샘플입니다.

자바

DataLayer

이 샘플은 WearableListenerService를 통해 DataEvents를 만들고 사용하며 DataLayer를 효과적으로 사용하는 방법을 보여 줍니다.

자바

WearAccessibilityApp

이 샘플은 웨어러블 앱 접근성 지원을 포함하는 방법을 보여 줍니다.

자바

WearComplicationProvidersTestSuite

정보 표시 테스트 세트는 더미 데이터를 제공하는 정보 표시 제공자 세트이며 시계 모드에서 다양한 유형의 정보 표시가 렌더링되는 방식을 테스트하는 데 사용할 수 있습니다.

자바

Wear OAuth

자바

WearSpeakerSample

웨어러블 기기에 내장된 스피커가 있는 경우 웨어러블에서 마이크를 사용하여 음성을 녹음하고 녹음된 음성 또는 mp3 파일을 재생하는 방법을 보여 주는 샘플입니다. 이 샘플에는 연결된 스마트폰 앱이 없으므로 &quot;adb&quot;를 사용하여 시계에 직접 설치해야 합니다.

자바

Wear Google 로그인

자바

WearVerifyRemoteApp

이 샘플은 연결된 휴대기기에 Wear 2 이상의 독립형 앱에서 앱이 설치되었는지 또는 다른 방법으로 앱이 설치되었는지 확인하는 권장사항을 보여 줍니다.

자바 Android Things

클라우드 초인종

Android Things Doorbell 샘플은 '스마트' 초인종을 만드는 방법을 보여줍니다. 이 샘플은 사용자의 버튼 누르기를 캡처하고 카메라 주변기기를 통해 이미지를 얻은 다음 Google의 Cloud Vision API를 사용하여 이미지 데이터를 처리하고 이미지, Cloud Vision 주석 및 메타데이터를 Firebase 데이터베이스에 업로드하여 호환 앱에서 볼 수 있도록 합니다.

자바 Android Things

주변기기 드라이버

Android Things 주변기기에 관한 샘플은 contrib-drivers 저장소에 있습니다.

자바 Android Things

블루투스 오디오

이 샘플은 Android Things 앱의 오디오에 Android Bluetooth API를 사용하는 방법을 보여 줍니다.

자바 Android Things

블루투스 GATT 서버(자바)

이 애플리케이션은 Android Things 애플리케이션 내에서 <code>BluetoothGattServer</code> Android API에 액세스하는 방법을 보여 줍니다. 샘플 애플리케이션에서는 시간 프로필을 알립니다.

Kotlin Android Things

블루투스 GATT 서버(Kotlin)

이 애플리케이션은 Android Things 애플리케이션 내에서 <code>BluetoothGattServer</code> Android API에 액세스하는 방법을 보여 줍니다. 샘플 애플리케이션에서는 시간 프로필을 알립니다.

자바 Android Things

버튼 및 LED(자바)

이 Android Things 샘플은 버튼 입력 UserDriver를 사용하여 GPIO 핀 변경사항을 수신 대기하고 주요 이벤트를 생성 및 수신 대기하며 LED의 상태를 적절히 변경하는 방법을 보여 줍니다. 주변기기 I/O Codelab에서 비슷한 샘플을 빌드하는 방법을 단계별로 알아보세요.

Kotlin Android Things

버튼 및 LED(Kotlin)

이 Android Things 샘플은 버튼 입력 UserDriver를 사용하여 GPIO 핀 변경사항을 수신 대기하고 주요 이벤트를 생성 및 수신 대기하며 LED의 상태를 적절히 변경하는 방법을 보여 줍니다.

자바 Android Things

기기용 Google 어시스턴트 SDK - Things

이 샘플은 Android Things에서 gRPC를 사용하여 Google 어시스턴트 서비스에 전화를 거는 방법을 보여 줍니다. 연결된 마이크에서 음성 요청을 녹음하여 Google Assistant API로 전송하고 어시스턴트의 음성 응답을 연결된 스피커로 재생합니다.

자바 Android Things

Things LoWPAN

이 샘플은 LoWPAN을 사용하여 같은 네트워크에서 여러 개의 Android Things 기기를 연결하여 무선으로 데이터를 전송하는 방법을 보여줍니다. 이 샘플에는 네트워크를 스캔하고, 데이터를 전송 및 수신하는 방법을 보여 주는 3가지 모듈이 포함되어 있습니다. LoWPAN 네트워크에 관한 자세한 내용은 LoWPAN API 가이드를 참고하세요.

C++ Android Things

네이티브 주변기기 I/O

이 Android Things 앱은 C++에서 Native PIO API를 실행하는 기본 코드를 실행합니다. 각 샘플은 독립적으로 실행할 수 있는 Android 모듈입니다.

자바 Android Things

단순 주변기기 I/O(자바)

이 Android Things 앱은 Peripheral I/O API를 실행하는 기본 코드를 실행합니다. 각 샘플은 독립적으로 실행할 수 있는 Android 모듈입니다.

Kotlin Android Things

단순 주변기기 I/O(Kotlin)

이 Android Things 앱은 Peripheral I/O API를 실행하는 기본 코드를 실행합니다. 각 샘플은 독립적으로 실행할 수 있는 Android 모듈입니다.

자바 Android Things

단순 주변기기 UI(자바)

이 유틸리티는 그래픽 UI에서 Android Things 기기의 GPIO를 스위치 위젯으로 노출합니다. 입력 상태를 검토하고 스위치를 클릭하여 출력 상태를 제어합니다.

Kotlin Android Things

단순 주변기기 UI(Kotlin)

이 유틸리티는 그래픽 UI에서 Android Things 기기의 GPIO를 스위치 위젯으로 노출합니다. 입력 상태를 검토하고 스위치를 클릭하여 출력 상태를 제어합니다.

자바 Android Things

TensorFlow Lite IoT 이미지 분류기

이 샘플은 Android Things에서 텐서플로우 Lite 추론을 실행하는 방법을 보여줍니다. 버튼을 눌러서 카메라로 이미지를 캡처하면 텐서플로우 Lite에서 무엇인지 알려줍니다. 이미지 분류기 Codelab 단계별 안내를 따라 비슷한 샘플을 빌드하는 방법을 알아보세요.

자바 Android Things

UART 루프백(자바)

이 샘플은 UART를 통한 기본 데이터 읽기 및 쓰기 작업을 보여 줍니다. 애플리케이션에서는 수신(RX) 버퍼에서 송신(TX) 버퍼로 읽은 모든 데이터를 즉시 에코하는 루프백 인터페이스를 만듭니다.

Kotlin Android Things

UART 루프백(Kotlin)

이 샘플은 UART를 통한 기본 데이터 읽기 및 쓰기 작업을 보여 줍니다. 애플리케이션에서는 수신(RX) 버퍼에서 송신(TX) 버퍼로 읽은 모든 데이터를 즉시 에코하는 루프백 인터페이스를 만듭니다.

자바 Android Things

Things 기기 업데이트

이 애플리케이션은 <code>UpdateManager</code> API를 통해 Android Things의 기기 업데이트 서비스와 상호작용하는 방법을 보여 줍니다. 이 시스템은 기본적으로 몇 시간마다 새로운 OTA 업데이트를 확인하여 자동으로 적용합니다 이 예를 통해 앱이 업데이트 및 모니터링 프로세스를 더욱 세밀하게 조정하도록 업데이트 정책을 구성하는 방법을 알아볼 수 있습니다.

자바 Android Things

USB 열거자(자바)

이 애플리케이션은 Android Things 애플리케이션 내에서 <code>UsbManager</code> Android API에 액세스하는 방법을 보여 줍니다. 이 샘플 애플리케이션은 호스트가 발견한 모든 USB 기기에서 반복되고 인터페이스와 엔드포인트를 출력합니다.

Kotlin Android Things

USB 열거자(Kotlin)

이 애플리케이션은 Android Things 애플리케이션 내에서 <code>UsbManager</code> Android API에 액세스하는 방법을 보여 줍니다. 이 샘플 애플리케이션은 호스트가 발견한 모든 USB 기기에서 반복되고 인터페이스와 엔드포인트를 출력합니다.

자바 Android Things

Cloud IoT Core 센서 허브

이 샘플은 Android Things에서 연결된 센서로부터 센서 데이터를 수집하여 Google Cloud IoT Core에 게시하는 센서 허브를 구현하는 방법을 보여 줍니다.

자바 Android Things

기상 관측소

이 샘플은 여러 Android Things 주변기기 드라이버를 통합하여 연결된 기상 관측소를 구축합니다.

자바

ActivityInstrumentation

이 샘플은 지원 중단되었거나 보관처리되었습니다. 즉, 읽기 전용이며 더 이상 적극적으로 유지되지 않습니다. 보관처리에 관한 자세한 내용은 여기에서 확인할 수 있습니다. 다른 관련 샘플은 새로운 github.com/android/testing-samples 저장소를 확인하세요. 감사합니다.