사용자 레이아웃 생성


웨어러블의 레이아웃 생성은 화면 크기와 한눈에 보기 위한 디자인을 해야하는 것을 제외하면 휴대용 장치와 같다. 기능적으로나 휴대용 장치로부터의 UI를 복사하지 말고 훌륭한 경험을 기대하라. 당신이 필요할 때에만 사용자 레이아웃을 만들어야한다. 웨어러블 앱의 훌륭한 디자인 방법의 정보를 위해 design guidelines를 참조하라.

사용자 알림 생성


일반적으로, 당신은 휴대용 장치에 알림을 생성하고 웨어러블에 자동적으로 동기화가 되도록 해야한다. 이는 당신이 한 번 알림을 설정하고 다른 폼 팩터를 위해 그것들을 디자인 할 필요없이 다양한 종류의 장치(웨어러블이지만, 결국엔 Auto나 TV)에 보이게 할 수 있다.

만약 표준 알림 스타일이 작동하지 않는다면(가령 NotificationCompat.BigTextStyle 혹은 NotificationCompat.InboxStyle), 당신은 사용자 레이아웃으로 액티비티를 표시할 수 있다. 당신은 웨어러블상의 사용자 알림을 만들고 발생시킬수 있고, 시스템은 휴대용 장치에 그러한 알림들을 동기화하지 않는다.

메모: 웨어러블에서 사용자 알림을 만들 때, 당신은 지원 라이브러리 대신 표준 알림 API(API Level 20)를 사용할 수 있다.

사용자 알림을 만들기 위해:

  1. 레이아웃을 생성하고 당신이 보여주길 원하는 액티비티에 내용 뷰로 설정하라.

    public void onCreate(Bundle bundle){
       
    ...
        setContentView
    (R.layout.notification_activity);
    }
  2. 웨어러블의 context stream process 내의 보여지는 액티비티의 허용을 위한 Android manifest 내 액티비티를 위한 필수 속성들을 정의하라. 당신은 액티비티를 export 가능, 내장 가능, 그리고 빈 작업 친화성이 있도록 선언해야 한다. 또한 우리는 Theme.DeviceDefault.Light 테마 설정을 추천한다. 예를들면:
  3. <activity android:name="com.example.MyDisplayActivity"
         
    android:exported="true"
         
    android:allowEmbedded="true"
         
    android:taskAffinity=""
         
    android:theme="@android:style/Theme.DeviceDefault.Light" />
  4. 보여주길 원하는 액티비티를 위한 PendingIntent를 생성하라. 예를들면:
    Intent notificationIntent = new Intent(this, NotificationActivity.class);
    PendingIntent notificationPendingIntent = PendingIntent.getActivity(this, 0, notificationIntent,
           
    PendingIntent.FLAG_UPDATE_CURRENT);
  5. Notification을 생성하고 PendingIntent를 제공하는 setDisplayIntent()를 호출하라. 시스템은 사용자들이 당신의 알림을 볼 때 액티비티의 실행을 위해 이 PendingIntent를 사용한다.
  6. notify() 메소드를 사용하여 알림을 발생시켜라.

    메모: 홈 화면에 알림이 살짝 보일때, 시스템은 알림의 의미적 데이터로부터 그것을 생성하는 표준 템플릿을 표시한다. 이 템플릿은 모든 watchfaces에서 잘 작동한다. 사용자가 알림을 위로 스와이프 할 때, 알림을 위한 사용자 액티비티를 볼 수 있을 것이다.

웨어러블 UI 라이브러리를 이용한 레이아웃 생성


Android Studio 프로젝트 마법사를 이용하여 당신의 웨어러블 앱을 만들 때 비공식 UI 라이브러리는 자동적으로 포함된다. 또한 당신은 다음 종속 선언으로 build.gradle 파일에 라이브러리를 추가할 수 있다:

dependencies {
    compile fileTree
(dir: 'libs', include: ['*.jar'])
   
compile 'com.google.android.support:wearable:+'
    compile
'com.google.android.gms:play-services-wearable:+'
}

이 라이브러리는 당신에게 웨어러블을 위한 디자인된 UI를 만드는데 도움을 줄 것이다. 여기 주요 클래스들이 몇가지 있다:

  • BoxInsetLayout - 화면 모양을 인식하고 둥근 화면의 사각형 중앙에 자식들을 감쌀수 있는 FrameLayout이다.
  • CardFragment - 확장가능한 내용을 제공 및 수직 스크롤이 가능한 카드의 fragment이다.
  • CircledImageView - 원형으로 둘러쌓인 이미지뷰이다.
  • ConfirmationActivity - 사용자가 액션을 완료한 후 확인 애니메이션이 보이는 액티비티이다.
  • DismissOverlayView - 롱-프레스-무시를 구현하기 위한 뷰이다.
  • GridViewPager - 데이터 페이지들의 수직, 수평 두 가지 모두를 허용하는 레이아웃 관리자이다. 당신은 뷰가 보이는 페이지들의 생성을 위한 GridPageAdapter의 구현을 공급한다.
  • GridPagerAdapter - GridViewPager에 페이지들을 공급하는 어댑터이다.
  • FragmentGridPagerAdapter - fragment로 각 페이지들이 표현하는 GridPageAdapter의 구현이다.
  • WatchViewStub - 특정 레이아웃을 부풀릴 수 있고, 장치 화면의 모양에 종속하는 클래스이다.
  • WearableListView - 작은 웨어러블 장치에서 쉽게 사용하기 위해 최적화된 ListView의 대안 버전이다. 이것은 아이템 목록을 수직으로 스크롤 가능하고, 사용자가 스크롤링을 멈췄을 때 자동으로 가장 가까운 아이템에 멈춘다.

Download the full API reference documentation 을 통해 위 클래스들을 다운로드 하라. 문서는 각 UI 위젯을 사용하는 방법이 나와있다.


'Android - Building Apps for Wearables > Creating Wearable Apps' 카테고리의 다른 글

Debugging over Bluetooth  (0) 2014.09.10
Packaging Wearable Apps  (0) 2014.09.10
Adding Voice Capabilities  (0) 2014.09.10
Creating and Running a Wearable App  (0) 2014.09.10
Creating Wearable Apps  (0) 2014.08.21
Posted by 레미파
,