2025년 3월 27일부터 AOSP를 빌드하고 기여하려면 aosp-main
대신 android-latest-release
를 사용하는 것이 좋습니다. 자세한 내용은 AOSP 변경사항을 참고하세요.
하드웨어 평가
컬렉션을 사용해 정리하기
내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.
하드웨어 평가에는 효과 1, 2 및 3으로 지정된 세 가지 햅틱 효과 정의가 포함됩니다.
효과 1: 사전 정의된 짧은 햅틱 상수
VibrationEffect.EFFECT_CLICK
상수는 HAL과 API 간의 상수 매핑에 제공된 HAL-API 매핑의 기준 효과 또는 공통분모입니다. 가장 많이 사용되는 효과인 HapticFeedbackConstants.KEYBOARD_PRESS
로 매핑됩니다. 이 효과를 평가하면 명확한 햅틱을 위한 대상 기기의 준비 상태를 판단하는 데 도움이 됩니다.
효과 2: 짧은 맞춤 햅틱 효과
VibrationEffect.createOneShot(20,255)
상수는 맞춤 햅틱 효과를 위한 것입니다. 짧은 단일 맞춤 임펄스의 경우 지속 시간을 정의하는 데 권장되는 최대 기준점은 20ms입니다. 20ms보다 긴 단일 임펄스는 윙윙거리는 진동으로 감지되기 때문에 권장되지 않습니다.
그림 19. 짧은 맞춤 햅틱 효과
효과 3: 진폭 변화가 있는 긴 맞춤 햅틱 효과
VibrationEffect.createWaveform(timings[], amplitudes[], int
repeat)
상수는 진폭 변화가 있는 긴 맞춤 효과를 위한 것입니다. 맞춤 햅틱 효과를 위해 다양한 진폭을 생성하는 기능은 기기의 풍부한 햅틱 기능을 평가하는 지표 중 하나입니다. 권장되는 timings []
및 amplitudes []
는 각각 {500, 500}
및 {128, 255}
이며 진폭이 500ms 샘플링 레이트로 50% 에서 100%로 증가하는 추세를 나타냅니다.
그림 20. 진폭 변화가 있는 긴 맞춤 햅틱 효과
효과 3의 진폭 제어에 관한 하드웨어 기능을 확인하려면 Vibrator.hasAmplitudeControl()
메서드를 사용합니다. 의도대로 다양한 진폭을 사용하여 VibrationEffect.createWaveform
을 실행하려면 결과가 true
여야 합니다.
그림 21. 햅틱 효과 1, 2, 3의 주관적 평가
주관적 평가 실행
빠른 일관성 확인을 위해 먼저 주관적 평가를 실행합니다. 주관적 평가의 목표는 햅틱 효과의 진폭을 관찰하여 기기가 사람이 감지할 수 있는 진폭으로 햅틱을 생성할 수 있는지 확인하는 것입니다.
이 개념을 중심으로 구성된 구체적인 질문은 다음과 같습니다. 즉, 기기가 예상대로 사용자가 감지할 수 있는 햅틱 효과를 생성할 수 있나요? 이 질문에 답하면 사용자가 느낄 수 없으며 감지할 수 없는 햅틱 또는 개발자의 의도대로 파형이 패턴을 생성하지 않는 의도치 않은 햅틱을 포함하여 햅틱 실패를 방지하는 데 도움이 됩니다.
고급 품질 평가를 실행하는 것이 좋습니다. 고급 품질 평가에서는 우수한 햅틱을 구현하기 위해 햅틱 효과의 정량화 가능한 속성을 특성화합니다. 이 평가를 완료하면 기기 제조업체는 현재 햅틱 상태를 진단할 수 있어야 합니다. 즉, 전반적인 품질 향상을 위한 목표를 설정할 수 있어야 합니다. 하드웨어 평가를 참고하세요.
이 페이지에 나와 있는 콘텐츠와 코드 샘플에는 콘텐츠 라이선스에서 설명하는 라이선스가 적용됩니다. 자바 및 OpenJDK는 Oracle 및 Oracle 계열사의 상표 또는 등록 상표입니다.
최종 업데이트: 2025-07-27(UTC)
[[["이해하기 쉬움","easyToUnderstand","thumb-up"],["문제가 해결됨","solvedMyProblem","thumb-up"],["기타","otherUp","thumb-up"]],[["필요한 정보가 없음","missingTheInformationINeed","thumb-down"],["너무 복잡함/단계 수가 너무 많음","tooComplicatedTooManySteps","thumb-down"],["오래됨","outOfDate","thumb-down"],["번역 문제","translationIssue","thumb-down"],["샘플/코드 문제","samplesCodeIssue","thumb-down"],["기타","otherDown","thumb-down"]],["최종 업데이트: 2025-07-27(UTC)"],[],[],null,["# Assess the hardware\n\nHardware assessment involves defining three haptic effects, labeled Effects 1,\n2, and 3 for this specific assessment.\n\nEffect 1: Predefined short haptic constants\n-------------------------------------------\n\nThe\n[`VibrationEffect.EFFECT_CLICK`](https://developer.android.com/reference/android/os/VibrationEffect.html#EFFECT_CLICK)\nconstant is the baseline effect or common denominator in the HAL-API mapping\nprovided in [Map constants between HAL and API](/docs/core/interaction/haptics/haptics-map-constants)\n. It's mapped with the most used effect, [`HapticFeedbackConstants.KEYBOARD_PRESS`](https://developer.android.com/reference/android/view/HapticFeedbackConstants#KEYBOARD_PRESS)\n. Assessing this effect helps determine the readiness of your target device for\n[*clear haptics*](/docs/core/interaction/haptics/haptics-ux-foundation#clear-haptics).\n\nEffect 2: Short custom haptic effect\n------------------------------------\n\nThe\n[`VibrationEffect.createOneShot(20,255)`](https://developer.android.com/reference/android/os/VibrationEffect#createOneShot(long,%20int))\nconstant is for custom haptic effects. For short, single custom impulses,\n20 ms is the recommended maximum threshold to define duration. A single\nimpulse longer than 20 ms isn't recommended because it's perceived as a\n[*buzzy\nvibration*](/docs/core/interaction/haptics/haptics-ux-foundation#buzzy-vibration).\n\n**Figure 19.** Short custom haptic effect\n\nEffect 3: Long custom haptic effect with amplitude variation\n------------------------------------------------------------\n\nThe [`VibrationEffect.createWaveform(timings[], amplitudes[], int\nrepeat)`](https://developer.android.com/reference/android/os/VibrationEffect#createWaveform(long%5B%5D,%20int%5B%5D,%20int))\nconstant is for long custom effects with amplitude variation. The ability to\nproduce varying amplitudes for custom haptic effects is one of the indicators to\nevaluate the device's capabilities for [*rich\nhaptics*](/docs/core/interaction/haptics/haptics-ux-foundation#ease-in). The\nrecommended `timings []` and `amplitudes []` are `{500, 500}` and `{128, 255}`,\nrespectively, which presents an increasing trend of amplitude from 50% to 100%,\nwith a 500 ms sampling rate.\n\n**Figure 20.** Long custom haptic effect with amplitude variation\n\nTo check the hardware capabilities of amplitude control for Effect 3, use the\n[`Vibrator.hasAmplitudeControl()`](https://developer.android.com/reference/android/os/Vibrator#hasAmplitudeControl())\nmethod. The result has to be `true` to execute\n[`VibrationEffect.createWaveform`](https://developer.android.com/reference/android/os/VibrationEffect#createWaveform(long%5B%5D,%20int%5B%5D,%20int))\nwith varying amplitude as intended.\n\n**Figure 21.** Subject assessment of haptic effect 1, 2, and 3\n\n### Perform a subjective assessment\n\nFor a quick coherence check, perform a subjective assessment first. The goal of\nthe subjective assessment is to observe the amplitude of the haptic effects to\ndetermine whether the device can generate haptics with human-perceptible\namplitudes.\n\nA specific question structured around this notion looks like this: *Can the\ndevice produce perceptible haptic effects to the users as expected?* Answering\nthis question helps you avoid *failed haptics*, including imperceptible haptics\nthat users can't feel, or unintended haptics where waveforms don't produce\npatterns as intended.\n\n### Perform an advanced assessment\n\nPerforming advanced quality assessments is highly recommended. Advanced quality\nassessments characterize quantifiable attributes of haptic effects to implement\n*quality haptics* . When finished, device manufacturers should be able to\ndiagnose the current haptic status, which means they can set goals to improve\nthe overall quality. See [Hardware\nassessment](/docs/core/interaction/haptics/hardware)."]]