찾다

 >  Q&A  >  본문

Android版本更新添加了新的api,我们使用这个api在低版本中的手机中会不会报错?如报错如何使用新的api

Android N中添加了新的api 如何使用这个新的API

高洛峰高洛峰2772일 전482

모든 응답(6)나는 대답할 것이다

  • 高洛峰

    高洛峰2017-04-17 17:31:54

    하위 버전의 API에서 실행할 경우 메소드를 찾을 수 없거나 클래스를 찾을 수 없다는 오류가 보고됩니다.

    다음과 같은 두 가지 해결 방법이 있습니다.

    첫 번째는 @Celery가 현재 API 버전을 파악한 다음 버전에 따라 다른 메서드를 실행하라고 말한 것입니다. 그러나 대체 방법을 작성하기가 쉽지 않거나 앱이 새 API만 사용해야 하는 경우 두 번째 방법이 필요한 경우가 많습니다.

    두 번째는 최소 API 버전을 선언하는 것입니다. build.gradle에서 minSdkVersion num을 선언하고 이를 고려하여 하위 버전의 휴대폰을 지원하지 않는 것을 고려해야 합니다. 이런 식으로 낮은 버전의 휴대폰에서는 APK를 설치할 때 이를 직접 거부합니다.

    회신하다
    0
  • 阿神

    阿神2017-04-17 17:31:54

    으아아아

    또는

    으아아아

    저는 주로 이렇게 씁니다.

    회신하다
    0
  • 迷茫

    迷茫2017-04-17 17:31:54

    일반적으로 Google이 새로운 API를 출시할 때 해당 하위 버전의 휴대폰에 해당하는 호환성 패키지가 있을 것입니다. 호환성 패키지가 없는 경우에는 코드에서 SDK 버전을 판단하고 선택적으로 코드를 실행해야 합니다.

    회신하다
    0
  • PHP中文网

    PHP中文网2017-04-17 17:31:54

    일반적으로 지원 패키지가 있으면 오류가 보고되지 않습니다. 그렇지 않은 경우 버전을 판단한 후 코드를 작성해야 합니다

    회신하다
    0
  • 大家讲道理

    大家讲道理2017-04-17 17:31:54

    새로운 기능과 호환성은 절충이 어렵습니다. Android는 Ui API와 비UI API에 대해 서로 다른 접근 방식을 사용합니다.

    UI API의 경우, 다양한 Android 버전이 최대한 일관된 UI 경험을 얻을 수 있도록 Google에서는 공통 support-v4, Cardview-v7, 등, 일부 Ui 구성 요소가 공식 호환성 패키지에 추가되지 않았더라도 여전히 github에서 오픈 소스 프로젝트를 찾을 수 있습니다.

    UI가 아닌 API의 경우 호환되는 라이브러리를 찾기 어려운 경우가 많습니다. 이 API의 일반적인 방법은 사용할 새 API가 메서드의 핵심에 속하는지 여부를 판단하는 것입니다. 이 메소드는 다음과 같은 @TargetApi 형식으로 주석을 제공합니다.

    으아악

    새 API가 필요하지 않거나 기존 대안이 있는 경우 Build.VERSION.SDK_INT를 사용하여 다음과 같은 판단을 내릴 수 있습니다.

    으아악

    회신하다
    0
  • 迷茫

    迷茫2017-04-17 17:31:54

    눈물이 전부입니다! 젠장, 동료가 새 API를 사용했는데 기존 시스템에서 직접 충돌이 발생하여 온라인 충돌 발생률이 치솟았습니다.

    회신하다
    0
  • 취소회신하다