Emoji2

현재 및 이전 기기에 이모티콘을 표시합니다.
최근 업데이트 현재 안정화 버전 다음 버전 후보 베타 버전 알파 버전
2021년 6월 30일 - - - 1.0.0-alpha03

종속 항목 선언

Emoji2의 종속 항목을 추가하려면 프로젝트에 Google Maven 저장소를 추가해야 합니다. 자세한 내용은 Google Maven 저장소를 읽어보세요.

다음과 같이 앱 또는 모듈의 build.gradle 파일에 필요한 아티팩트의 종속 항목을 추가합니다.

Groovy

dependencies {
    def emoji2_version = "1.0.0-alpha03"

    implementation "androidx.emoji2:emoji2:$emoji2_version"
    implementation "androidx.emoji2:emoji2-views:$emoji2_version"
    implementation "androidx.emoji2:emoji2-views-helper:$emoji2_version"
}

Kotlin

dependencies {
    val emoji2_version = "1.0.0-alpha03"

    implementation("androidx.emoji2:emoji2:$emoji2_version")
    implementation("androidx.emoji2:emoji2-views:$emoji2_version")
    implementation("androidx.emoji2:emoji2-views-helper:$emoji2_version")
}

종속 항목에 관한 자세한 내용은 빌드 종속 항목 추가를 참고하세요.

의견

제출하신 의견은 Jetpack을 개선하는 데 도움이 됩니다. 새로운 문제를 발견하거나 라이브러리 개선을 위한 아이디어가 있다면 Google에 알려 주세요. 새 의견을 제출하기 전에 이 라이브러리의 기존 문제를 살펴보시기 바랍니다. 별표 버튼을 클릭하여 기존 문제에 투표할 수 있습니다.

새로운 문제 제출하기

자세한 내용은 Issue Tracker 문서를 참고하세요.

1.0.0

버전 1.0.0-alpha03

2021년 6월 30일

androidx.emoji2:emoji2-*:1.0.0-alpha03이 출시되었습니다. 버전 1.0.0-alpha03에 포함된 커밋을 확인하세요.

새로운 기능

이 버전은 버그 수정 및 안정화 버전입니다.

  1. 이제 EmojiEditTextHelper가 null을 KeyListener로 전달하도록 허용합니다. 이를 통해 EditText 구현을 지원하는 그림 이모티콘에 null이 적용되도록 허용하는 플랫폼 동작이 가능합니다.
  2. EmojiCompatInitializer를 사용할 때 초기 시작 지연이 첫 번째 활동이 재개된 후 트리거되도록 개선되었습니다. 이를 통해 앱 시작이 경합 없이 발생할 수 있고 UI가 표시되지 않는 앱 시작용 글꼴 로드를 방지합니다. 짧은 지연 후 EmojiCompat은 그림 이모티콘 글꼴을 로드하는 스레드를 만듭니다.
  • androidx.emoji2:emoji2에서 androidx.lifecycle:lifecycle-process의 새 종속 항목을 추가하여 지연을 구현합니다. 이미 수명 주기가 포함된 앱(예: appcompat이 있는 앱)의 경우 APK 크기에 거의 영향을 미치지 않습니다.

API 변경사항

  • AppCompatEditText에서 null KeyListener를 허용합니다. 이렇게 하면 1.4.0-alpha01에서 AppCompatEditText에 추가된 null이 아닌 주석이 되돌려지고 null을 전달하면 이전 동작이 복원됩니다. (I21482, b/189559345)

버그 수정

  • 첫 번째 Activity.onResume 이후 500ms까지 글꼴 로드가 지연되도록 EmojiCompatInitializer를 변경했했습니다. 이를 통해 활동이 경합 없이 Application.onCreateActivity.onCreate를 실행할 수 있고 앱 시작 직후 그림 이모티콘 글꼴이 로드되도록 합니다. (I4bff7)

버전 1.0.0-alpha02

2021년 6월 2일

androidx.emoji2:emoji2:1.0.0-alpha02, androidx.emoji2:emoji2-views:1.0.0-alpha02androidx.emoji2:emoji2-views-helper:1.0.0-alpha02가 출시되었습니다. 버전 1.0.0-alpha02에 포함된 커밋을 확인하세요.

API 변경사항

  • emoji2-views-helper의 패키지 이름이 androidx.emoji2.viewsintegration으로 바뀌었습니다. 이는 AppCompat 1.4.0-alpha01의 브레이킹 체인지이며 앱은 새로운 emoji2 버전을 사용하도록 AppCompat 종속 항목이 업데이트되었는지 확인해야 합니다. (Ie8397)

버전 1.0.0-alpha01

2021년 5월 18일

androidx.emoji2:emoji2:1.0.0-alpha01, androidx.emoji2:emoji2-views:1.0.0-alpha01androidx.emoji2:emoji2-views-helper:1.0.0-alpha01이 출시되었습니다. 버전 1.0.0-alpha01에 포함된 커밋을 확인하세요.

이번 최초 출시의 기능

모든 앱에서 API19의 최신 이모티콘을 지원하도록 emojicompat를 통합하는 것이 좋습니다. 앱의 모든 사용자 제작 콘텐츠에는 🎉이 포함되어 있습니다.

이제 alpha01에서는 EmojiCompat가 androidx.emoji 아티팩트에서 새로운 androidx.emoji2로 이동했습니다. 새 아티팩트가 이전 버전을 대체합니다.

emoji2AppCompat 1.4.0-alpha01부터 AppCompat에 종속 항목으로 추가되며 AppCompat 뷰에 기본적으로 사용 설정됩니다.

emoji2 아티팩트에는 androidx.startup 라이브러리를 사용하는 새로운 자동 구성이 도입되었습니다. 이제 🐻‍❄️을 표시하기 위해 👨🏽‍💻 코드를 작성하지 않아도 됩니다.

이모티콘에서 emoji2의 변경사항

  • androidx.startup을 사용하는 새로운 자동 구성 EmojiCompatInitializer를 추가했습니다.
  • 서비스 위치를 사용하여 DefaultEmojiCompatConfiguration에서 다운로드 가능한 글꼴 제공자를 찾는 새로운 기본 구성을 추가했습니다.
  • 클래스가 androidx.emoji 패키지에서 androidx.emoji2로 이동했습니다.
  • EmojiTextView와 관련 뷰를 별도의 아티팩트 emoji2-views로 분할했습니다. 이는 앱에서 appcompat를 사용하지 않는 경우에만 사용해야 합니다.
  • emojicompat를 맞춤 뷰로 통합하기 위한 도우미를 별도의 아티팩트 emoji2-views-helper로 추출했습니다.
  • null 허용 여부 주석이 추가되었습니다.
  • EmojiCompat가 초기화되지 않은 경우에도 이제 emoji2-views-helper의 도우미를 사용할 수 있습니다(이전에는 예외가 발생함).

어떤 종속 항목을 추가해야 하나요?

  • AppCompat를 사용하는 앱은 appcompat 버전 AppCompat 1.4.0-alpha01 이상으로 업그레이드해야 합니다.
  • AppCompat를 사용하지 않고 플랫폼에서 TextView/EditText를 사용하는 앱은 EmojiTextViewemoji2-views의 관련 클래스를 사용해야 합니다.

맞춤 뷰에서 지원하는 방법

  • AppCompat를 사용하는 앱은 플랫폼 TextView 등이 아닌 AppCompatTextView, AppCompatButton 등을 확장해야 합니다.
  • AppCompat를 사용하지 않는 앱은 androidx.emoji2:emoji2-views-helper 종속 항목을 추가하고 도우미를 사용하여 맞춤 TextView 또는 EditText 서브클래스와 통합해야 합니다.

자동 초기화 구성

  • 앱에서는 다음을 매니페스트에 추가하여 자동 초기화를 중지할 수 있습니다.

     <provider
         android:name="androidx.startup.InitializationProvider"
         android:authorities="${applicationId}.androidx-startup"
         android:exported="false"
         tools:node="merge">
         <meta-data android:name="androidx.emoji2.text.EmojiCompatInitializer"
                   tools:node="remove" />
     </provider>
    
  • 그러면 자동 구성이 중지되기 때문에 맞춤 구성을 EmojiCompat.init에 전달할 수 있습니다. 시스템의 기본 구성은 EmojiCompat.init로 전달하기 전에 DefaultEmojiCompatConfig.create(context)에서 가져와 추가로 구성할 수 있습니다.