实例介绍
这个仓库包含了一系列快速入门示例,演示在Android和iOS上使用ML Kit API。注意:由于这个仓库的工作方式,我们不再直接接受Pull Request。相反,我们会在内部进行补丁修复,然后将它们同步出去。
【实例截图】
【核心代码】
文件清单
└── mlkit-bc243262d40eba8eeac12556fe756450b692019a
├── android
│ ├── android-snippets
│ │ ├── app
│ │ │ ├── build.gradle
│ │ │ ├── proguard-rules.pro
│ │ │ └── src
│ │ │ └── main
│ │ │ ├── AndroidManifest.xml
│ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ └── example
│ │ │ │ └── mlkit
│ │ │ │ ├── BarcodeScanningActivity.java
│ │ │ │ ├── FaceDetectionActivity.java
│ │ │ │ ├── ImageLabelingActivity.java
│ │ │ │ ├── kotlin
│ │ │ │ │ ├── BarcodeScanningActivity.kt
│ │ │ │ │ ├── FaceDetectionActivity.kt
│ │ │ │ │ ├── ImageLabelingActivity.kt
│ │ │ │ │ ├── LanguageIdentificationActivity.kt
│ │ │ │ │ ├── MainActivity.kt
│ │ │ │ │ ├── MLKitVisionImage.kt
│ │ │ │ │ ├── ObjectDetectionActivity.kt
│ │ │ │ │ └── TextRecognitionActivity.kt
│ │ │ │ ├── LanguageIdentificationActivity.java
│ │ │ │ ├── MainActivity.java
│ │ │ │ ├── MLKitVisionImage.java
│ │ │ │ ├── ObjectDetectionActivity.java
│ │ │ │ └── TextRecognitionActivity.java
│ │ │ └── res
│ │ │ ├── layout
│ │ │ │ └── activity_main.xml
│ │ │ ├── mipmap-hdpi
│ │ │ │ └── ic_launcher.png
│ │ │ ├── mipmap-mdpi
│ │ │ │ └── ic_launcher.png
│ │ │ ├── mipmap-xhdpi
│ │ │ │ └── ic_launcher.png
│ │ │ ├── mipmap-xxhdpi
│ │ │ │ └── ic_launcher.png
│ │ │ ├── mipmap-xxxhdpi
│ │ │ │ └── ic_launcher.png
│ │ │ ├── values
│ │ │ │ ├── colors.xml
│ │ │ │ ├── dimens.xml
│ │ │ │ ├── strings.xml
│ │ │ │ └── styles.xml
│ │ │ └── values-w820dp
│ │ │ └── dimens.xml
│ │ ├── build.gradle
│ │ ├── gradle
│ │ │ └── wrapper
│ │ │ ├── gradle-wrapper.jar
│ │ │ └── gradle-wrapper.properties
│ │ ├── gradle.properties
│ │ ├── gradlew
│ │ ├── gradlew.bat
│ │ ├── README.md
│ │ └── settings.gradle
│ ├── automl
│ │ ├── app
│ │ │ ├── build.gradle
│ │ │ ├── proguard-rules.pro
│ │ │ └── src
│ │ │ └── main
│ │ │ ├── AndroidManifest.xml
│ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ └── mlkit
│ │ │ │ └── vision
│ │ │ │ └── automl
│ │ │ │ └── demo
│ │ │ │ ├── automl
│ │ │ │ │ ├── AutoMLImageLabelerProcessor.java
│ │ │ │ │ └── LabelGraphic.java
│ │ │ │ ├── BitmapUtils.java
│ │ │ │ ├── CameraImageGraphic.java
│ │ │ │ ├── CameraSource.java
│ │ │ │ ├── CameraSourcePreview.java
│ │ │ │ ├── CameraXLivePreviewActivity.java
│ │ │ │ ├── CameraXViewModel.java
│ │ │ │ ├── ChooserActivity.java
│ │ │ │ ├── FrameMetadata.java
│ │ │ │ ├── GraphicOverlay.java
│ │ │ │ ├── InferenceInfoGraphic.java
│ │ │ │ ├── LivePreviewActivity.java
│ │ │ │ ├── object
│ │ │ │ │ ├── ObjectDetectorProcessor.java
│ │ │ │ │ └── ObjectGraphic.java
│ │ │ │ ├── preference
│ │ │ │ │ ├── CameraXLivePreviewPreferenceFragment.java
│ │ │ │ │ ├── LivePreviewPreferenceFragment.java
│ │ │ │ │ ├── PreferenceUtils.java
│ │ │ │ │ ├── SettingsActivity.java
│ │ │ │ │ └── StillImagePreferenceFragment.java
│ │ │ │ ├── ScopedExecutor.java
│ │ │ │ ├── StillImageActivity.java
│ │ │ │ ├── VisionImageProcessor.java
│ │ │ │ └── VisionProcessorBase.java
│ │ │ └── res
│ │ │ ├── drawable
│ │ │ │ └── logo_mlkit.xml
│ │ │ ├── drawable-hdpi
│ │ │ │ ├── ic_settings_white_24dp.png
│ │ │ │ ├── ic_switch_camera_white_48dp_inset.png
│ │ │ │ └── ic_switch_camera_white_48dp.xml
│ │ │ ├── drawable-mdpi
│ │ │ │ ├── ic_settings_white_24dp.png
│ │ │ │ ├── ic_switch_camera_white_48dp_inset.png
│ │ │ │ └── ic_switch_camera_white_48dp.xml
│ │ │ ├── drawable-xhdpi
│ │ │ │ ├── ic_settings_white_24dp.png
│ │ │ │ ├── ic_switch_camera_white_48dp_inset.png
│ │ │ │ └── ic_switch_camera_white_48dp.xml
│ │ │ ├── drawable-xxhdpi
│ │ │ │ ├── ic_settings_white_24dp.png
│ │ │ │ ├── ic_switch_camera_white_48dp_inset.png
│ │ │ │ └── ic_switch_camera_white_48dp.xml
│ │ │ ├── drawable-xxxhdpi
│ │ │ │ ├── ic_settings_white_24dp.png
│ │ │ │ ├── ic_switch_camera_white_48dp_inset.png
│ │ │ │ └── ic_switch_camera_white_48dp.xml
│ │ │ ├── layout
│ │ │ │ ├── activity_camerax_live_preview.xml
│ │ │ │ ├── activity_chooser.xml
│ │ │ │ ├── activity_live_preview.xml
│ │ │ │ ├── activity_settings.xml
│ │ │ │ ├── activity_still_image.xml
│ │ │ │ ├── settings_style.xml
│ │ │ │ ├── spinner_style.xml
│ │ │ │ └── toggle_style.xml
│ │ │ ├── layout-land
│ │ │ │ ├── activity_camerax_live_preview.xml
│ │ │ │ └── activity_live_preview.xml
│ │ │ ├── menu
│ │ │ │ └── camera_button_menu.xml
│ │ │ ├── mipmap-hdpi
│ │ │ │ └── ic_launcher.png
│ │ │ ├── mipmap-mdpi
│ │ │ │ └── ic_launcher.png
│ │ │ ├── mipmap-xhdpi
│ │ │ │ └── ic_launcher.png
│ │ │ ├── mipmap-xxhdpi
│ │ │ │ └── ic_launcher.png
│ │ │ ├── values
│ │ │ │ ├── colors.xml
│ │ │ │ ├── dimens.xml
│ │ │ │ ├── strings.xml
│ │ │ │ └── styles.xml
│ │ │ └── xml
│ │ │ ├── preference_live_preview_automl.xml
│ │ │ └── preference_still_image.xml
│ │ ├── build.gradle
│ │ ├── gradle
│ │ │ └── wrapper
│ │ │ ├── gradle-wrapper.jar
│ │ │ └── gradle-wrapper.properties
│ │ ├── gradle.properties
│ │ ├── gradlew
│ │ ├── gradlew.bat
│ │ ├── LICENSE
│ │ ├── README.md
│ │ └── settings.gradle
│ ├── codescanner
│ │ ├── app
│ │ │ ├── build.gradle
│ │ │ └── src
│ │ │ └── main
│ │ │ ├── AndroidManifest.xml
│ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ └── mlkit
│ │ │ │ └── samples
│ │ │ │ └── codescanner
│ │ │ │ ├── EntryChoiceActivity.kt
│ │ │ │ ├── java
│ │ │ │ │ └── MainActivity.java
│ │ │ │ └── kotlin
│ │ │ │ └── MainActivity.kt
│ │ │ └── res
│ │ │ ├── drawable
│ │ │ │ └── logo_mlkit.xml
│ │ │ ├── layout
│ │ │ │ └── activity_main.xml
│ │ │ └── values
│ │ │ ├── colors.xml
│ │ │ ├── strings.xml
│ │ │ └── styles.xml
│ │ ├── build.gradle
│ │ ├── gradle
│ │ │ └── wrapper
│ │ │ ├── gradle-wrapper.jar
│ │ │ └── gradle-wrapper.properties
│ │ ├── gradle.properties
│ │ ├── gradlew
│ │ ├── gradlew.bat
│ │ ├── LICENSE
│ │ ├── README.md
│ │ └── settings.gradle
│ ├── digitalink
│ │ ├── app
│ │ │ ├── build.gradle
│ │ │ ├── proguard-rules.pro
│ │ │ └── src
│ │ │ └── main
│ │ │ ├── AndroidManifest.xml
│ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ └── mlkit
│ │ │ │ └── samples
│ │ │ │ └── vision
│ │ │ │ └── digitalink
│ │ │ │ ├── DigitalInkMainActivity.java
│ │ │ │ ├── DrawingView.java
│ │ │ │ ├── kotlin
│ │ │ │ │ ├── DigitalInkMainActivity.kt
│ │ │ │ │ ├── DrawingView.kt
│ │ │ │ │ ├── ModelManager.kt
│ │ │ │ │ ├── RecognitionTask.kt
│ │ │ │ │ ├── StatusTextView.kt
│ │ │ │ │ └── StrokeManager.kt
│ │ │ │ ├── ModelManager.java
│ │ │ │ ├── RecognitionTask.java
│ │ │ │ ├── StatusTextView.java
│ │ │ │ └── StrokeManager.java
│ │ │ └── res
│ │ │ ├── layout
│ │ │ │ ├── activity_digital_ink_main_kotlin.xml
│ │ │ │ └── activity_digital_ink_main.xml
│ │ │ ├── mipmap-hdpi
│ │ │ │ ├── ic_launcher.png
│ │ │ │ └── ic_launcher_round.png
│ │ │ ├── mipmap-mdpi
│ │ │ │ ├── ic_launcher.png
│ │ │ │ └── ic_launcher_round.png
│ │ │ ├── mipmap-xhdpi
│ │ │ │ ├── ic_launcher.png
│ │ │ │ └── ic_launcher_round.png
│ │ │ ├── mipmap-xxhdpi
│ │ │ │ ├── ic_launcher.png
│ │ │ │ └── ic_launcher_round.png
│ │ │ ├── mipmap-xxxhdpi
│ │ │ │ ├── ic_launcher.png
│ │ │ │ └── ic_launcher_round.png
│ │ │ └── values
│ │ │ ├── colors.xml
│ │ │ ├── strings.xml
│ │ │ └── styles.xml
│ │ ├── build.gradle
│ │ ├── gradle
│ │ │ └── wrapper
│ │ │ ├── gradle-wrapper.jar
│ │ │ └── gradle-wrapper.properties
│ │ ├── gradle.properties
│ │ ├── gradlew
│ │ ├── gradlew.bat
│ │ ├── LICENSE
│ │ ├── README.md
│ │ └── settings.gradle
│ ├── entityextraction
│ │ ├── app
│ │ │ ├── build.gradle
│ │ │ └── src
│ │ │ └── main
│ │ │ ├── AndroidManifest.xml
│ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ └── mlkit
│ │ │ │ └── samples
│ │ │ │ └── nl
│ │ │ │ └── entityextraction
│ │ │ │ ├── EntryChoiceActivity.kt
│ │ │ │ ├── java
│ │ │ │ │ ├── MainActivityJava.java
│ │ │ │ │ └── ModelsActivityJava.java
│ │ │ │ └── kotlin
│ │ │ │ ├── MainActivityKotlin.kt
│ │ │ │ └── ModelsActivityKotlin.kt
│ │ │ └── res
│ │ │ ├── drawable
│ │ │ │ ├── ic_baseline_delete_gray_32.xml
│ │ │ │ ├── ic_baseline_get_app_gray_32.xml
│ │ │ │ ├── ic_baseline_get_app_white_32.xml
│ │ │ │ └── logo_mlkit.xml
│ │ │ ├── layout
│ │ │ │ ├── activity_main.xml
│ │ │ │ ├── activity_models.xml
│ │ │ │ └── list_item.xml
│ │ │ ├── menu
│ │ │ │ └── menu_choose_model.xml
│ │ │ └── values
│ │ │ ├── colors.xml
│ │ │ ├── strings.xml
│ │ │ └── styles.xml
│ │ ├── build.gradle
│ │ ├── gradle
│ │ │ └── wrapper
│ │ │ ├── gradle-wrapper.jar
│ │ │ └── gradle-wrapper.properties
│ │ ├── gradle.properties
│ │ ├── gradlew
│ │ ├── gradlew.bat
│ │ ├── README.md
│ │ └── settings.gradle
│ ├── internal
│ │ ├── chooserx
│ │ │ ├── build.gradle
│ │ │ ├── proguard-rules.pro
│ │ │ └── src
│ │ │ └── main
│ │ │ ├── AndroidManifest.xml
│ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ └── mlkit
│ │ │ │ └── example
│ │ │ │ └── internal
│ │ │ │ ├── BaseEntryChoiceActivity.java
│ │ │ │ ├── ChoiceAdapter.java
│ │ │ │ └── Choice.java
│ │ │ └── res
│ │ │ └── layout
│ │ │ ├── activity_entry_choice.xml
│ │ │ └── item_choice.xml
│ │ ├── internal.iml
│ │ ├── lint
│ │ │ ├── build.gradle
│ │ │ ├── gradle
│ │ │ │ └── wrapper
│ │ │ │ ├── gradle-wrapper.jar
│ │ │ │ └── gradle-wrapper.properties
│ │ │ ├── gradlew
│ │ │ ├── gradlew.bat
│ │ │ └── src
│ │ │ ├── main
│ │ │ │ └── java
│ │ │ │ └── com
│ │ │ │ └── mlkit
│ │ │ │ └── lint
│ │ │ │ ├── HungarianNotationDetector.kt
│ │ │ │ ├── InvalidImportDetector.kt
│ │ │ │ └── QuickstartIssueRegistry.kt
│ │ │ └── test
│ │ │ └── java
│ │ │ └── com
│ │ │ └── mlkit
│ │ │ └── lint
│ │ │ └── InvalidImportDetectorTest.kt
│ │ ├── lintchecks
│ │ │ ├── build.gradle
│ │ │ ├── gradle
│ │ │ │ └── wrapper
│ │ │ │ ├── gradle-wrapper.jar
│ │ │ │ └── gradle-wrapper.properties
│ │ │ ├── gradlew
│ │ │ ├── gradlew.bat
│ │ │ ├── proguard-rules.pro
│ │ │ └── src
│ │ │ └── main
│ │ │ └── AndroidManifest.xml
│ │ └── quickstart-android-internal.iml
│ ├── langid
│ │ ├── app
│ │ │ ├── build.gradle
│ │ │ ├── proguard-rules.pro
│ │ │ └── src
│ │ │ └── main
│ │ │ ├── AndroidManifest.xml
│ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ └── mlkit
│ │ │ │ └── samples
│ │ │ │ └── nl
│ │ │ │ └── languageid
│ │ │ │ ├── EntryChoiceActivity.kt
│ │ │ │ ├── java
│ │ │ │ │ └── MainActivityJava.java
│ │ │ │ └── kotlin
│ │ │ │ └── MainActivityKotlin.kt
│ │ │ └── res
│ │ │ ├── drawable
│ │ │ │ └── logo_mlkit.xml
│ │ │ ├── layout
│ │ │ │ └── activity_main.xml
│ │ │ ├── mipmap-hdpi
│ │ │ │ ├── ic_launcher.png
│ │ │ │ └── ic_launcher_round.png
│ │ │ ├── mipmap-mdpi
│ │ │ │ ├── ic_launcher.png
│ │ │ │ └── ic_launcher_round.png
│ │ │ ├── mipmap-xhdpi
│ │ │ │ ├── ic_launcher.png
│ │ │ │ └── ic_launcher_round.png
│ │ │ ├── mipmap-xxhdpi
│ │ │ │ ├── ic_launcher.png
│ │ │ │ └── ic_launcher_round.png
│ │ │ ├── mipmap-xxxhdpi
│ │ │ │ ├── ic_launcher.png
│ │ │ │ └── ic_launcher_round.png
│ │ │ └── values
│ │ │ ├── colors.xml
│ │ │ ├── strings.xml
│ │ │ └── styles.xml
│ │ ├── build.gradle
│ │ ├── gradle
│ │ │ └── wrapper
│ │ │ ├── gradle-wrapper.jar
│ │ │ └── gradle-wrapper.properties
│ │ ├── gradle.properties
│ │ ├── gradlew
│ │ ├── gradlew.bat
│ │ ├── README.md
│ │ └── settings.gradle
│ ├── LICENSE
│ ├── material-showcase
│ │ ├── app
│ │ │ ├── assets
│ │ │ │ └── custom_models
│ │ │ │ └── bird_classifier.tflite
│ │ │ ├── build.gradle
│ │ │ ├── proguard-rules.pro
│ │ │ └── src
│ │ │ └── main
│ │ │ ├── AndroidManifest.xml
│ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ └── mlkit
│ │ │ │ └── md
│ │ │ │ ├── barcodedetection
│ │ │ │ │ ├── BarcodeConfirmingGraphic.kt
│ │ │ │ │ ├── BarcodeFieldAdapter.kt
│ │ │ │ │ ├── BarcodeField.kt
│ │ │ │ │ ├── BarcodeGraphicBase.kt
│ │ │ │ │ ├── BarcodeLoadingGraphic.kt
│ │ │ │ │ ├── BarcodeProcessor.kt
│ │ │ │ │ ├── BarcodeResultFragment.kt
│ │ │ │ │ └── BarcodeReticleGraphic.kt
│ │ │ │ ├── camera
│ │ │ │ │ ├── CameraReticleAnimator.kt
│ │ │ │ │ ├── CameraSizePair.kt
│ │ │ │ │ ├── CameraSource.kt
│ │ │ │ │ ├── CameraSourcePreview.kt
│ │ │ │ │ ├── FrameMetadata.kt
│ │ │ │ │ ├── FrameProcessorBase.kt
│ │ │ │ │ ├── FrameProcessor.kt
│ │ │ │ │ ├── GraphicOverlay.kt
│ │ │ │ │ └── WorkflowModel.kt
│ │ │ │ ├── CustomModelObjectDetectionActivity.kt
│ │ │ │ ├── InputInfo.kt
│ │ │ │ ├── LiveBarcodeScanningActivity.kt
│ │ │ │ ├── LiveObjectDetectionActivity.kt
│ │ │ │ ├── MainActivity.kt
│ │ │ │ ├── objectdetection
│ │ │ │ │ ├── DetectedObjectInfo.kt
│ │ │ │ │ ├── MultiObjectProcessor.kt
│ │ │ │ │ ├── ObjectConfirmationController.kt
│ │ │ │ │ ├── ObjectConfirmationGraphic.kt
│ │ │ │ │ ├── ObjectDotAnimator.kt
│ │ │ │ │ ├── ObjectDotGraphic.kt
│ │ │ │ │ ├── ObjectGraphicInMultiMode.kt
│ │ │ │ │ ├── ObjectGraphicInProminentMode.kt
│ │ │ │ │ ├── ObjectReticleGraphic.kt
│ │ │ │ │ ├── ProminentObjectProcessor.kt
│ │ │ │ │ └── StaticObjectDotView.kt
│ │ │ │ ├── productsearch
│ │ │ │ │ ├── BottomSheetScrimView.kt
│ │ │ │ │ ├── ImageDownloadTask.kt
│ │ │ │ │ ├── PreviewCardAdapter.kt
│ │ │ │ │ ├── ProductAdapter.kt
│ │ │ │ │ ├── Product.kt
│ │ │ │ │ ├── SearchedObject.kt
│ │ │ │ │ └── SearchEngine.kt
│ │ │ │ ├── ScopedExecutor.kt
│ │ │ │ ├── settings
│ │ │ │ │ ├── PreferenceUtils.kt
│ │ │ │ │ ├── SettingsActivity.kt
│ │ │ │ │ └── SettingsFragment.kt
│ │ │ │ ├── StaticObjectDetectionActivity.kt
│ │ │ │ ├── TaskExt.kt
│ │ │ │ └── Utils.kt
│ │ │ └── res
│ │ │ ├── animator
│ │ │ │ ├── bottom_prompt_chip_enter.xml
│ │ │ │ ├── search_button_enter.xml
│ │ │ │ └── static_image_dot_enter.xml
│ │ │ ├── drawable
│ │ │ │ ├── barcode_field_box.xml
│ │ │ │ ├── camera_flash.xml
│ │ │ │ ├── ic_close_vd_white_24.xml
│ │ │ │ ├── ic_flash_off_vd_white_24.xml
│ │ │ │ ├── ic_flash_on_vd_white_24.xml
│ │ │ │ ├── ic_image_search_vd_black_24.xml
│ │ │ │ ├── ic_launcher_background.xml
│ │ │ │ ├── ic_photo_library_vd_white_24.xml
│ │ │ │ ├── ic_settings_vd_white_24.xml
│ │ │ │ ├── logo_google_cloud.png
│ │ │ │ ├── logo_mlkit.xml
│ │ │ │ └── top_action_bar_scrim.xml
│ │ │ ├── layout
│ │ │ │ ├── activity_live_barcode.xml
│ │ │ │ ├── activity_live_object.xml
│ │ │ │ ├── activity_main.xml
│ │ │ │ ├── activity_settings.xml
│ │ │ │ ├── activity_static_object.xml
│ │ │ │ ├── barcode_bottom_sheet.xml
│ │ │ │ ├── barcode_field.xml
│ │ │ │ ├── camera_preview_overlay.xml
│ │ │ │ ├── detection_mode_item.xml
│ │ │ │ ├── product_bottom_sheet.xml
│ │ │ │ ├── product_item.xml
│ │ │ │ ├── products_preview_card.xml
│ │ │ │ ├── top_action_bar_in_live_camera.xml
│ │ │ │ └── top_action_bar_in_static_image.xml
│ │ │ ├── values
│ │ │ │ ├── colors.xml
│ │ │ │ ├── dimens.xml
│ │ │ │ ├── strings.xml
│ │ │ │ └── styles.xml
│ │ │ ├── values-v21
│ │ │ │ └── styles.xml
│ │ │ └── xml
│ │ │ └── preferences.xml
│ │ ├── build.gradle
│ │ ├── gradle
│ │ │ └── wrapper
│ │ │ ├── gradle-wrapper.jar
│ │ │ └── gradle-wrapper.properties
│ │ ├── gradle.properties
│ │ ├── gradlew
│ │ ├── gradlew.bat
│ │ ├── README.md
│ │ ├── screenshots
│ │ │ ├── live_barcode.gif
│ │ │ ├── live_odt.gif
│ │ │ └── static_odt.gif
│ │ └── settings.gradle
│ ├── README.md
│ ├── screenshots
│ │ ├── automl-quickstart.png
│ │ ├── langid-quickstart.png
│ │ ├── quickstart-image-labeling.png
│ │ ├── quickstart-object-detection.png
│ │ ├── quickstart-picker.png
│ │ ├── quickstart-pose-detection.png
│ │ └── translate-quickstart.png
│ ├── smartreply
│ │ ├── app
│ │ │ ├── build.gradle
│ │ │ ├── proguard-rules.pro
│ │ │ └── src
│ │ │ └── main
│ │ │ ├── AndroidManifest.xml
│ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ └── mlkit
│ │ │ │ └── samples
│ │ │ │ └── nl
│ │ │ │ └── smartreply
│ │ │ │ ├── EntryChoiceActivity.kt
│ │ │ │ ├── java
│ │ │ │ │ ├── chat
│ │ │ │ │ │ ├── ChatFragment.java
│ │ │ │ │ │ ├── ChatViewModel.java
│ │ │ │ │ │ ├── MessageListAdapter.java
│ │ │ │ │ │ └── ReplyChipAdapter.java
│ │ │ │ │ ├── MainActivityJava.java
│ │ │ │ │ └── model
│ │ │ │ │ └── Message.java
│ │ │ │ └── kotlin
│ │ │ │ ├── chat
│ │ │ │ │ ├── ChatFragment.kt
│ │ │ │ │ ├── ChatViewModel.kt
│ │ │ │ │ ├── MessageListAdapter.kt
│ │ │ │ │ └── ReplyChipAdapter.kt
│ │ │ │ ├── MainActivityKotlin.kt
│ │ │ │ └── model
│ │ │ │ └── Message.kt
│ │ │ └── res
│ │ │ ├── drawable
│ │ │ │ ├── ic_camera_front_black_24dp.xml
│ │ │ │ ├── ic_launcher_background.xml
│ │ │ │ ├── ic_tag_faces_black_24dp.xml
│ │ │ │ ├── logo_mlkit.xml
│ │ │ │ ├── rounded_rectangle_blue.xml
│ │ │ │ ├── rounded_rectangle_gray.xml
│ │ │ │ └── rounded_rectangle_light_gray.xml
│ │ │ ├── drawable-v24
│ │ │ │ └── ic_launcher_foreground.xml
│ │ │ ├── layout
│ │ │ │ ├── chat_fragment.xml
│ │ │ │ ├── item_message_local.xml
│ │ │ │ ├── item_message_remote.xml
│ │ │ │ ├── main_smartreply_activity.xml
│ │ │ │ └── smart_reply_chip.xml
│ │ │ ├── menu
│ │ │ │ └── chat_fragment_actions.xml
│ │ │ └── values
│ │ │ ├── colors.xml
│ │ │ ├── dimens.xml
│ │ │ ├── strings.xml
│ │ │ └── styles.xml
│ │ ├── build.gradle
│ │ ├── gradle
│ │ │ └── wrapper
│ │ │ ├── gradle-wrapper.jar
│ │ │ └── gradle-wrapper.properties
│ │ ├── gradle.properties
│ │ ├── gradlew
│ │ ├── gradlew.bat
│ │ ├── LICENSE
│ │ ├── README.md
│ │ └── settings.gradle
│ ├── translate
│ │ ├── app
│ │ │ ├── build.gradle
│ │ │ ├── proguard-rules.pro
│ │ │ └── src
│ │ │ └── main
│ │ │ ├── AndroidManifest.xml
│ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ └── mlkit
│ │ │ │ └── samples
│ │ │ │ └── nl
│ │ │ │ └── translate
│ │ │ │ ├── EntryChoiceActivity.kt
│ │ │ │ ├── java
│ │ │ │ │ ├── MainActivity.java
│ │ │ │ │ ├── TranslateFragment.java
│ │ │ │ │ └── TranslateViewModel.java
│ │ │ │ └── kotlin
│ │ │ │ ├── MainActivity.kt
│ │ │ │ ├── TranslateFragment.kt
│ │ │ │ └── TranslateViewModel.kt
│ │ │ └── res
│ │ │ ├── drawable
│ │ │ │ ├── ic_baseline_delete_24.xml
│ │ │ │ ├── ic_baseline_translate_32.xml
│ │ │ │ ├── ic_compare_arrows_black_24dp.xml
│ │ │ │ ├── ic_file_download_white_24dp.xml
│ │ │ │ └── logo_mlkit.xml
│ │ │ ├── layout
│ │ │ │ ├── activity_translate_main.xml
│ │ │ │ └── translate_fragment.xml
│ │ │ └── values
│ │ │ ├── colors.xml
│ │ │ ├── dimens.xml
│ │ │ ├── strings.xml
│ │ │ └── styles.xml
│ │ ├── build.gradle
│ │ ├── gradle
│ │ │ └── wrapper
│ │ │ ├── gradle-wrapper.jar
│ │ │ └── gradle-wrapper.properties
│ │ ├── gradle.properties
│ │ ├── gradlew
│ │ ├── gradlew.bat
│ │ ├── LICENSE
│ │ ├── README.md
│ │ └── settings.gradle
│ ├── translate-showcase
│ │ ├── app
│ │ │ ├── build.gradle
│ │ │ ├── proguard-rules.pro
│ │ │ └── src
│ │ │ └── main
│ │ │ ├── AndroidManifest.xml
│ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ └── mlkit
│ │ │ │ └── showcase
│ │ │ │ └── translate
│ │ │ │ ├── analyzer
│ │ │ │ │ └── TextAnalyzer.kt
│ │ │ │ ├── main
│ │ │ │ │ ├── MainFragment.kt
│ │ │ │ │ └── MainViewModel.kt
│ │ │ │ ├── MainActivity.kt
│ │ │ │ └── util
│ │ │ │ ├── ImageUtils.kt
│ │ │ │ ├── Language.kt
│ │ │ │ ├── ResultOrError.kt
│ │ │ │ ├── ScopedExecutor.kt
│ │ │ │ └── SmoothedMutableLiveData.kt
│ │ │ └── res
│ │ │ ├── drawable
│ │ │ │ ├── greyscale_regular_3x.png
│ │ │ │ └── logo_mlkit.xml
│ │ │ ├── font
│ │ │ │ └── pt_sans.ttf
│ │ │ ├── layout
│ │ │ │ ├── main_fragment.xml
│ │ │ │ └── main_translateshowcase_activity.xml
│ │ │ └── values
│ │ │ ├── colors.xml
│ │ │ ├── strings.xml
│ │ │ └── styles.xml
│ │ ├── build.gradle
│ │ ├── demo.gif
│ │ ├── gradle
│ │ │ └── wrapper
│ │ │ ├── gradle-wrapper.jar
│ │ │ └── gradle-wrapper.properties
│ │ ├── gradle.properties
│ │ ├── gradlew
│ │ ├── gradlew.bat
│ │ ├── README.md
│ │ └── settings.gradle
│ └── vision-quickstart
│ ├── app
│ │ ├── build.gradle
│ │ └── src
│ │ └── main
│ │ ├── AndroidManifest.xml
│ │ ├── assets
│ │ │ ├── automl
│ │ │ │ ├── dict.txt
│ │ │ │ ├── manifest.json
│ │ │ │ └── model.tflite
│ │ │ ├── custom_models
│ │ │ │ ├── bird_classifier.tflite
│ │ │ │ └── object_labeler.tflite
│ │ │ └── pose
│ │ │ └── fitness_pose_samples.csv
│ │ ├── java
│ │ │ └── com
│ │ │ └── mlkit
│ │ │ └── vision
│ │ │ └── demo
│ │ │ ├── BitmapUtils.java
│ │ │ ├── CameraImageGraphic.java
│ │ │ ├── CameraSource.java
│ │ │ ├── CameraSourcePreview.java
│ │ │ ├── CameraXViewModel.java
│ │ │ ├── EntryChoiceActivity.kt
│ │ │ ├── FrameMetadata.java
│ │ │ ├── GraphicOverlay.java
│ │ │ ├── InferenceInfoGraphic.java
│ │ │ ├── java
│ │ │ │ ├── barcodescanner
│ │ │ │ │ ├── BarcodeGraphic.java
│ │ │ │ │ └── BarcodeScannerProcessor.java
│ │ │ │ ├── CameraXLivePreviewActivity.java
│ │ │ │ ├── CameraXSourceDemoActivity.java
│ │ │ │ ├── ChooserActivity.java
│ │ │ │ ├── facedetector
│ │ │ │ │ ├── FaceDetectorProcessor.java
│ │ │ │ │ └── FaceGraphic.java
│ │ │ │ ├── facemeshdetector
│ │ │ │ │ ├── FaceMeshDetectorProcessor.java
│ │ │ │ │ └── FaceMeshGraphic.java
│ │ │ │ ├── labeldetector
│ │ │ │ │ ├── LabelDetectorProcessor.java
│ │ │ │ │ └── LabelGraphic.java
│ │ │ │ ├── LivePreviewActivity.java
│ │ │ │ ├── objectdetector
│ │ │ │ │ ├── ObjectDetectorProcessor.java
│ │ │ │ │ └── ObjectGraphic.java
│ │ │ │ ├── posedetector
│ │ │ │ │ ├── classification
│ │ │ │ │ │ ├── ClassificationResult.java
│ │ │ │ │ │ ├── EMASmoothing.java
│ │ │ │ │ │ ├── PoseClassifier.java
│ │ │ │ │ │ ├── PoseClassifierProcessor.java
│ │ │ │ │ │ ├── PoseEmbedding.java
│ │ │ │ │ │ ├── PoseSample.java
│ │ │ │ │ │ ├── RepetitionCounter.java
│ │ │ │ │ │ └── Utils.java
│ │ │ │ │ ├── PoseDetectorProcessor.java
│ │ │ │ │ └── PoseGraphic.java
│ │ │ │ ├── segmenter
│ │ │ │ │ ├── SegmentationGraphic.java
│ │ │ │ │ └── SegmenterProcessor.java
│ │ │ │ ├── StillImageActivity.java
│ │ │ │ ├── subjectsegmenter
│ │ │ │ │ ├── SubjectSegmentationGraphic.java
│ │ │ │ │ └── SubjectSegmenterProcessor.java
│ │ │ │ ├── textdetector
│ │ │ │ │ ├── TextGraphic.java
│ │ │ │ │ └── TextRecognitionProcessor.java
│ │ │ │ └── VisionProcessorBase.java
│ │ │ ├── kotlin
│ │ │ │ ├── barcodescanner
│ │ │ │ │ ├── BarcodeGraphic.kt
│ │ │ │ │ └── BarcodeScannerProcessor.kt
│ │ │ │ ├── CameraXLivePreviewActivity.kt
│ │ │ │ ├── CameraXSourceDemoActivity.kt
│ │ │ │ ├── ChooserActivity.kt
│ │ │ │ ├── facedetector
│ │ │ │ │ ├── FaceDetectorProcessor.kt
│ │ │ │ │ └── FaceGraphic.kt
│ │ │ │ ├── facemeshdetector
│ │ │ │ │ ├── FaceMeshDetectorProcessor.kt
│ │ │ │ │ └── FaceMeshGraphic.kt
│ │ │ │ ├── labeldetector
│ │ │ │ │ ├── LabelDetectorProcessor.kt
│ │ │ │ │ └── LabelGraphic.kt
│ │ │ │ ├── LivePreviewActivity.kt
│ │ │ │ ├── objectdetector
│ │ │ │ │ ├── ObjectDetectorProcessor.kt
│ │ │ │ │ └── ObjectGraphic.kt
│ │ │ │ ├── posedetector
│ │ │ │ │ ├── PoseDetectorProcessor.kt
│ │ │ │ │ └── PoseGraphic.kt
│ │ │ │ ├── segmenter
│ │ │ │ │ ├── SegmentationGraphic.kt
│ │ │ │ │ └── SegmenterProcessor.kt
│ │ │ │ ├── StillImageActivity.kt
│ │ │ │ ├── subjectsegmenter
│ │ │ │ │ ├── SubjectSegmentationGraphic.kt
│ │ │ │ │ └── SubjectSegmenterProcessor.kt
│ │ │ │ ├── TaskExt.kt
│ │ │ │ ├── textdetector
│ │ │ │ │ ├── TextGraphic.kt
│ │ │ │ │ └── TextRecognitionProcessor.kt
│ │ │ │ └── VisionProcessorBase.kt
│ │ │ ├── preference
│ │ │ │ ├── CameraXLivePreviewPreferenceFragment.java
│ │ │ │ ├── CameraXSourceDemoPreferenceFragment.java
│ │ │ │ ├── LivePreviewPreferenceFragment.java
│ │ │ │ ├── PreferenceUtils.java
│ │ │ │ ├── SettingsActivity.java
│ │ │ │ └── StillImagePreferenceFragment.java
│ │ │ ├── ScopedExecutor.java
│ │ │ ├── TemperatureMonitor.java
│ │ │ └── VisionImageProcessor.java
│ │ └── res
│ │ ├── drawable
│ │ │ ├── list_item_background.xml
│ │ │ └── logo_mlkit.xml
│ │ ├── drawable-hdpi
│ │ │ ├── ic_settings_white_24dp.png
│ │ │ ├── ic_switch_camera_white_48dp_inset.png
│ │ │ └── ic_switch_camera_white_48dp.xml
│ │ ├── drawable-mdpi
│ │ │ ├── ic_settings_white_24dp.png
│ │ │ ├── ic_switch_camera_white_48dp_inset.png
│ │ │ └── ic_switch_camera_white_48dp.xml
│ │ ├── drawable-xhdpi
│ │ │ ├── ic_settings_white_24dp.png
│ │ │ ├── ic_switch_camera_white_48dp_inset.png
│ │ │ └── ic_switch_camera_white_48dp.xml
│ │ ├── drawable-xxhdpi
│ │ │ ├── ic_settings_white_24dp.png
│ │ │ ├── ic_switch_camera_white_48dp_inset.png
│ │ │ └── ic_switch_camera_white_48dp.xml
│ │ ├── drawable-xxxhdpi
│ │ │ ├── ic_settings_white_24dp.png
│ │ │ ├── ic_switch_camera_white_48dp_inset.png
│ │ │ └── ic_switch_camera_white_48dp.xml
│ │ ├── layout
│ │ │ ├── activity_chooser.xml
│ │ │ ├── activity_settings.xml
│ │ │ ├── activity_still_image.xml
│ │ │ ├── activity_vision_camerax_live_preview.xml
│ │ │ ├── activity_vision_cameraxsource_demo.xml
│ │ │ ├── activity_vision_entry_choice.xml
│ │ │ ├── activity_vision_live_preview.xml
│ │ │ ├── settings_style.xml
│ │ │ ├── spinner_style.xml
│ │ │ └── toggle_style.xml
│ │ ├── layout-land
│ │ │ ├── activity_vision_camerax_live_preview.xml
│ │ │ ├── activity_vision_cameraxsource_demo.xml
│ │ │ └── activity_vision_live_preview.xml
│ │ ├── menu
│ │ │ └── camera_button_menu.xml
│ │ ├── mipmap-hdpi
│ │ │ └── ic_launcher.png
│ │ ├── mipmap-mdpi
│ │ │ └── ic_launcher.png
│ │ ├── mipmap-xhdpi
│ │ │ └── ic_launcher.png
│ │ ├── mipmap-xxhdpi
│ │ │ └── ic_launcher.png
│ │ ├── values
│ │ │ ├── arrays.xml
│ │ │ ├── colors.xml
│ │ │ ├── dimens.xml
│ │ │ ├── strings.xml
│ │ │ └── styles.xml
│ │ └── xml
│ │ ├── preference_live_preview_quickstart.xml
│ │ └── preference_still_image.xml
│ ├── build.gradle
│ ├── gradle
│ │ └── wrapper
│ │ ├── gradle-wrapper.jar
│ │ └── gradle-wrapper.properties
│ ├── gradle.properties
│ ├── gradlew
│ ├── gradlew.bat
│ ├── LICENSE
│ ├── README.md
│ └── settings.gradle
├── ios
│ ├── ios-snippets
│ │ ├── mlkit-snippets.xcodeproj
│ │ │ ├── project.pbxproj
│ │ │ ├── project.xcworkspace
│ │ │ │ ├── contents.xcworkspacedata
│ │ │ │ └── xcshareddata
│ │ │ │ └── IDEWorkspaceChecks.plist
│ │ │ └── xcuserdata
│ │ │ └── dfurlong.xcuserdatad
│ │ │ └── xcschemes
│ │ │ └── xcschememanagement.plist
│ │ ├── mlkit-snippets.xcworkspace
│ │ │ ├── contents.xcworkspacedata
│ │ │ ├── xcshareddata
│ │ │ │ └── IDEWorkspaceChecks.plist
│ │ │ └── xcuserdata
│ │ │ └── dfurlong.xcuserdatad
│ │ │ └── xcdebugger
│ │ │ └── Breakpoints_v2.xcbkptlist
│ │ ├── objc-snippets
│ │ │ ├── AppDelegate.h
│ │ │ ├── AppDelegate.m
│ │ │ ├── Assets.xcassets
│ │ │ │ ├── AppIcon.appiconset
│ │ │ │ │ └── Contents.json
│ │ │ │ └── Contents.json
│ │ │ ├── AutoMLVision.m
│ │ │ ├── Base.lproj
│ │ │ │ ├── LaunchScreen.storyboard
│ │ │ │ └── Main.storyboard
│ │ │ ├── ImagePreparation.m
│ │ │ ├── Info.plist
│ │ │ ├── main.m
│ │ │ ├── ModelManagement.m
│ │ │ ├── ViewController.h
│ │ │ └── ViewController.m
│ │ ├── Podfile
│ │ └── swift-snippets
│ │ ├── AppDelegate.swift
│ │ ├── Assets.xcassets
│ │ │ ├── AppIcon.appiconset
│ │ │ │ └── Contents.json
│ │ │ └── Contents.json
│ │ ├── AutoMLVision.swift
│ │ ├── Base.lproj
│ │ │ ├── LaunchScreen.storyboard
│ │ │ └── Main.storyboard
│ │ ├── ImagePreparation.swift
│ │ ├── Info.plist
│ │ ├── ModelManagement.swift
│ │ └── ViewController.swift
│ ├── quickstarts
│ │ ├── automl
│ │ │ ├── Assets.xcassets
│ │ │ │ ├── AppIcon.appiconset
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── cloud_download.imageset
│ │ │ │ │ ├── cloud_download_2x.png
│ │ │ │ │ ├── cloud_download_3x.png
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── Contents.json
│ │ │ │ ├── delete.imageset
│ │ │ │ │ ├── baseline_delete_black_36pt_1x.png
│ │ │ │ │ ├── baseline_delete_black_36pt_2x.png
│ │ │ │ │ ├── baseline_delete_black_36pt_3x.png
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── photo_camera.imageset
│ │ │ │ │ ├── Contents.json
│ │ │ │ │ ├── photo_camera_2x.png
│ │ │ │ │ └── photo_camera_3x.png
│ │ │ │ ├── photo_library.imageset
│ │ │ │ │ ├── Contents.json
│ │ │ │ │ ├── photo_library_2x.png
│ │ │ │ │ └── photo_library_3x.png
│ │ │ │ ├── switch_camera.imageset
│ │ │ │ │ ├── Contents.json
│ │ │ │ │ ├── switch_camera_2x.png
│ │ │ │ │ └── switch_camera_3x.png
│ │ │ │ └── video_camera.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ ├── video_camera_2x.png
│ │ │ │ └── video_camera_3x.png
│ │ │ ├── AutoMLExample
│ │ │ │ ├── AppDelegate.swift
│ │ │ │ ├── Base.lproj
│ │ │ │ │ ├── LaunchScreen.storyboard
│ │ │ │ │ └── Main.storyboard
│ │ │ │ ├── CameraViewController.swift
│ │ │ │ ├── Info.plist
│ │ │ │ ├── MLKitExtensions.swift
│ │ │ │ ├── UIUtilities.swift
│ │ │ │ └── ViewController.swift
│ │ │ ├── AutoMLExampleObjC
│ │ │ │ ├── AppDelegate.h
│ │ │ │ ├── AppDelegate.m
│ │ │ │ ├── CameraViewController.h
│ │ │ │ ├── CameraViewController.m
│ │ │ │ ├── main.m
│ │ │ │ ├── UIImage VisionDetection.h
│ │ │ │ ├── UIImage VisionDetection.m
│ │ │ │ ├── UIUtilities.h
│ │ │ │ ├── UIUtilities.m
│ │ │ │ ├── ViewController.h
│ │ │ │ └── ViewController.m
│ │ │ ├── AutoMLExample.xcodeproj
│ │ │ │ └── project.pbxproj
│ │ │ ├── Podfile
│ │ │ ├── README.md
│ │ │ └── Resources
│ │ │ ├── automl_labeler_labels.txt
│ │ │ ├── automl_labeler_manifest.json
│ │ │ ├── automl_labeler_model.tflite
│ │ │ ├── daisy.jpeg
│ │ │ ├── dandelion.jpg
│ │ │ ├── roses.jpeg
│ │ │ ├── sunflower.jpg
│ │ │ └── tulips.jpeg
│ │ ├── digitalinkrecognition
│ │ │ ├── DigitalInkRecognitionExample
│ │ │ │ ├── AppDelegate.swift
│ │ │ │ ├── Info.plist
│ │ │ │ ├── RecognizedInk.swift
│ │ │ │ ├── SceneDelegate.swift
│ │ │ │ ├── StrokeManager.swift
│ │ │ │ └── ViewController.swift
│ │ │ ├── DigitalInkRecognitionExampleObjC
│ │ │ │ ├── AppDelegate.h
│ │ │ │ ├── AppDelegate.m
│ │ │ │ ├── Assets.xcassets
│ │ │ │ │ ├── AppIcon.appiconset
│ │ │ │ │ │ └── Contents.json
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── Base.lproj
│ │ │ │ │ ├── LaunchScreen.storyboard
│ │ │ │ │ └── Main.storyboard
│ │ │ │ ├── main.m
│ │ │ │ ├── RecognizedInk.h
│ │ │ │ ├── RecognizedInk.m
│ │ │ │ ├── SceneDelegate.h
│ │ │ │ ├── SceneDelegate.m
│ │ │ │ ├── StrokeManager.h
│ │ │ │ ├── StrokeManager.m
│ │ │ │ ├── ViewController.h
│ │ │ │ └── ViewController.m
│ │ │ ├── DigitalInkRecognitionExample.xcodeproj
│ │ │ │ └── project.pbxproj
│ │ │ ├── Podfile
│ │ │ └── README.md
│ │ ├── entityextraction
│ │ │ ├── Assets.xcassets
│ │ │ │ ├── AppIcon.appiconset
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── cloud_download_24pt.imageset
│ │ │ │ │ ├── cloud_download_24pt_1x.png
│ │ │ │ │ ├── cloud_download_24pt_2x.png
│ │ │ │ │ ├── cloud_download_24pt_3x.png
│ │ │ │ │ └── Contents.json
│ │ │ │ └── delete_24pt.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ ├── delete_24pt_1x.png
│ │ │ │ ├── delete_24pt_2x.png
│ │ │ │ └── delete_24pt_3x.png
│ │ │ ├── EntityExtractionExample
│ │ │ │ ├── AppDelegate.swift
│ │ │ │ ├── Base.lproj
│ │ │ │ │ ├── LaunchScreen.storyboard
│ │ │ │ │ └── Main.storyboard
│ │ │ │ ├── EntityExtractionModelIdentifierExtensions.swift
│ │ │ │ ├── EntityViewController.swift
│ │ │ │ ├── Info.plist
│ │ │ │ └── ModelManagementViewController.swift
│ │ │ ├── EntityExtractionExampleObjC
│ │ │ │ ├── AppDelegate.h
│ │ │ │ ├── AppDelegate.m
│ │ │ │ ├── EntityViewController.h
│ │ │ │ ├── EntityViewController.m
│ │ │ │ ├── main.m
│ │ │ │ ├── MLKEntityExtractionModelIdentifier Extensions.h
│ │ │ │ ├── MLKEntityExtractionModelIdentifier Extensions.m
│ │ │ │ ├── ModelManagementViewController.h
│ │ │ │ └── ModelManagementViewController.m
│ │ │ ├── EntityExtractionExample.xcodeproj
│ │ │ │ └── project.pbxproj
│ │ │ ├── Podfile
│ │ │ └── README.md
│ │ ├── languageid
│ │ │ ├── LanguageIDExample
│ │ │ │ ├── AppDelegate.swift
│ │ │ │ ├── Assets.xcassets
│ │ │ │ │ ├── AppIcon.appiconset
│ │ │ │ │ │ └── Contents.json
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── Base.lproj
│ │ │ │ │ ├── LaunchScreen.storyboard
│ │ │ │ │ └── Main.storyboard
│ │ │ │ ├── Info.plist
│ │ │ │ └── ViewController.swift
│ │ │ ├── LanguageIDExampleObjC
│ │ │ │ ├── AppDelegate.h
│ │ │ │ ├── AppDelegate.m
│ │ │ │ ├── main.m
│ │ │ │ ├── ViewController.h
│ │ │ │ └── ViewController.m
│ │ │ ├── LanguageIDExample.xcodeproj
│ │ │ │ └── project.pbxproj
│ │ │ ├── Podfile
│ │ │ └── README.md
│ │ ├── smartreply
│ │ │ ├── Podfile
│ │ │ ├── README.md
│ │ │ ├── SmartReplyExample
│ │ │ │ ├── AppDelegate.swift
│ │ │ │ ├── DateExtension.swift
│ │ │ │ ├── MainViewController.swift
│ │ │ │ └── UITextViewPlaceholder.swift
│ │ │ ├── SmartReplyExampleObjC
│ │ │ │ ├── AppDelegate.h
│ │ │ │ ├── AppDelegate.m
│ │ │ │ ├── Assets.xcassets
│ │ │ │ │ ├── AppIcon.appiconset
│ │ │ │ │ │ └── Contents.json
│ │ │ │ │ ├── ic_account_circle_36pt.imageset
│ │ │ │ │ │ ├── Contents.json
│ │ │ │ │ │ ├── ic_account_circle_36pt_2x.png
│ │ │ │ │ │ ├── ic_account_circle_36pt_3x.png
│ │ │ │ │ │ └── ic_account_circle_36pt.png
│ │ │ │ │ ├── ic_more_vert_white.imageset
│ │ │ │ │ │ ├── Contents.json
│ │ │ │ │ │ ├── ic_more_vert_white_2x.png
│ │ │ │ │ │ ├── ic_more_vert_white_3x.png
│ │ │ │ │ │ └── ic_more_vert_white.png
│ │ │ │ │ ├── ic_send.imageset
│ │ │ │ │ │ ├── Contents.json
│ │ │ │ │ │ ├── ic_send_2x.png
│ │ │ │ │ │ ├── ic_send_3x.png
│ │ │ │ │ │ └── ic_send.png
│ │ │ │ │ └── LaunchImage.launchimage
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── Base.lproj
│ │ │ │ │ └── Main.storyboard
│ │ │ │ ├── Info.plist
│ │ │ │ ├── LaunchScreen.xib
│ │ │ │ ├── main.m
│ │ │ │ ├── MainViewController.h
│ │ │ │ ├── MainViewController.m
│ │ │ │ ├── NSDate Format.h
│ │ │ │ ├── NSDate Format.m
│ │ │ │ ├── UITextView Placeholder.h
│ │ │ │ └── UITextView Placeholder.m
│ │ │ └── SmartReplyExample.xcodeproj
│ │ │ └── project.pbxproj
│ │ ├── translate
│ │ │ ├── Podfile
│ │ │ ├── README.md
│ │ │ ├── TranslateExample
│ │ │ │ ├── AppDelegate.swift
│ │ │ │ ├── Assets.xcassets
│ │ │ │ │ ├── AppIcon.appiconset
│ │ │ │ │ │ └── Contents.json
│ │ │ │ │ ├── baseline_swap_horiz_black_48pt.imageset
│ │ │ │ │ │ ├── baseline_swap_horiz_black_48pt_1x.png
│ │ │ │ │ │ ├── baseline_swap_horiz_black_48pt_2x.png
│ │ │ │ │ │ ├── baseline_swap_horiz_black_48pt_3x.png
│ │ │ │ │ │ └── Contents.json
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── Base.lproj
│ │ │ │ │ ├── LaunchScreen.storyboard
│ │ │ │ │ └── Main.storyboard
│ │ │ │ ├── Info.plist
│ │ │ │ └── ViewController.swift
│ │ │ ├── TranslateExampleObjC
│ │ │ │ ├── AppDelegate.h
│ │ │ │ ├── AppDelegate.m
│ │ │ │ ├── main.m
│ │ │ │ ├── ViewController.h
│ │ │ │ └── ViewController.m
│ │ │ └── TranslateExample.xcodeproj
│ │ │ └── project.pbxproj
│ │ └── vision
│ │ ├── Assets.xcassets
│ │ │ ├── AppIcon.appiconset
│ │ │ │ └── Contents.json
│ │ │ ├── Contents.json
│ │ │ ├── photo_camera.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ ├── photo_camera_2x.png
│ │ │ │ └── photo_camera_3x.png
│ │ │ ├── photo_library.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ ├── photo_library_2x.png
│ │ │ │ └── photo_library_3x.png
│ │ │ ├── switch_camera.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ ├── switch_camera_2x.png
│ │ │ │ └── switch_camera_3x.png
│ │ │ └── video_camera.imageset
│ │ │ ├── Contents.json
│ │ │ ├── video_camera_2x.png
│ │ │ └── video_camera_3x.png
│ │ ├── liberty.jpg
│ │ ├── Podfile
│ │ ├── README.md
│ │ ├── Resources
│ │ │ ├── barcode_128.png
│ │ │ ├── beach.jpg
│ │ │ ├── bird.jpg
│ │ │ ├── bird.tflite
│ │ │ ├── chinese.png
│ │ │ ├── chinese_sparse.png
│ │ │ ├── devanagari.png
│ │ │ ├── devanagari_sparse.png
│ │ │ ├── grace_hopper.jpg
│ │ │ ├── image_has_text.jpg
│ │ │ ├── japanese.png
│ │ │ ├── japanese_sparse.png
│ │ │ ├── korean.png
│ │ │ ├── korean_sparse.png
│ │ │ ├── liberty.jpg
│ │ │ └── qr_code.jpg
│ │ ├── VisionExample
│ │ │ ├── AppDelegate.swift
│ │ │ ├── Base.lproj
│ │ │ │ ├── LaunchScreen.storyboard
│ │ │ │ └── Main.storyboard
│ │ │ ├── CameraViewController.swift
│ │ │ ├── Info.plist
│ │ │ ├── MLKitExtensions.swift
│ │ │ ├── UIUtilities.swift
│ │ │ └── ViewController.swift
│ │ ├── VisionExampleObjC
│ │ │ ├── AppDelegate.h
│ │ │ ├── AppDelegate.m
│ │ │ ├── CameraViewController.h
│ │ │ ├── CameraViewController.m
│ │ │ ├── main.m
│ │ │ ├── UIImage VisionDetection.h
│ │ │ ├── UIImage VisionDetection.m
│ │ │ ├── UIUtilities.h
│ │ │ ├── UIUtilities.m
│ │ │ ├── ViewController.h
│ │ │ └── ViewController.m
│ │ └── VisionExample.xcodeproj
│ │ └── project.pbxproj
│ ├── screenshots
│ │ ├── auto_ml_1.jpeg
│ │ ├── auto_ml_2.jpeg
│ │ ├── langid.jpg
│ │ ├── smart_reply.jpg
│ │ ├── translate.jpg
│ │ ├── vision_quickstart_1.jpg
│ │ ├── vision_quickstart_2.jpg
│ │ └── vision_quickstart_3.jpg
│ └── showcase
│ ├── translate-showcase
│ │ ├── Assets.xcassets
│ │ │ ├── AppIcon.appiconset
│ │ │ │ └── Contents.json
│ │ │ ├── baseline_check_black_24pt.imageset
│ │ │ │ ├── baseline_check_black_24pt_1x.png
│ │ │ │ ├── baseline_check_black_24pt_2x.png
│ │ │ │ ├── baseline_check_black_24pt_3x.png
│ │ │ │ └── Contents.json
│ │ │ ├── Contents.json
│ │ │ ├── ic_arrow_back.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ ├── ic_arrow_back_2x.png
│ │ │ │ ├── ic_arrow_back_3x.png
│ │ │ │ └── ic_arrow_back.png
│ │ │ ├── ic_close.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ ├── ic_close_2x.png
│ │ │ │ ├── ic_close_3x.png
│ │ │ │ └── ic_close.png
│ │ │ └── Image.imageset
│ │ │ ├── Contents.json
│ │ │ ├── greyscale-regular@2x.png
│ │ │ ├── greyscale-regular@3x.png
│ │ │ └── greyscale-regular.png
│ │ ├── Podfile
│ │ ├── README.md
│ │ ├── TranslateDemo
│ │ │ ├── AppDelegate.swift
│ │ │ ├── Base.lproj
│ │ │ │ └── Main.storyboard
│ │ │ ├── CameraOverlayview.swift
│ │ │ ├── CameraViewController.swift
│ │ │ ├── CVPixelBuffer Helpers.swift
│ │ │ ├── Info.plist
│ │ │ ├── MLKitExtensions.swift
│ │ │ ├── SearchViewController.swift
│ │ │ ├── TranslateLanguage Helpers.swift
│ │ │ └── UIUtilities.swift
│ │ ├── TranslateDemoTests
│ │ │ ├── Info.plist
│ │ │ └── TranslateDemoTests.swift
│ │ ├── TranslateDemo.xcodeproj
│ │ │ └── project.pbxproj
│ │ └── translate.gif
│ └── vision-showcase
│ ├── Podfile
│ ├── README.md
│ ├── screenshots
│ │ └── live_odt.gif
│ ├── ShowcaseApp
│ │ ├── AppDelegate.h
│ │ ├── AppDelegate.m
│ │ ├── Base.lproj
│ │ │ └── LaunchScreen.xib
│ │ ├── bird.tflite
│ │ ├── Common
│ │ │ ├── MLKImageUtilities.h
│ │ │ ├── MLKImageUtilities.m
│ │ │ ├── MLKUIUtilities.h
│ │ │ ├── MLKUIUtilities.m
│ │ │ ├── UIImage MLKShowcase.h
│ │ │ └── UIImage MLKShowcase.m
│ │ ├── Controllers
│ │ │ ├── MLKLiveObjectDetectionViewController.h
│ │ │ ├── MLKLiveObjectDetectionViewController.m
│ │ │ ├── MLKResultListViewController.h
│ │ │ ├── MLKResultListViewController.m
│ │ │ ├── MLKStartPageViewController.h
│ │ │ └── MLKStartPageViewController.m
│ │ ├── Images.xcassets
│ │ │ ├── AppIcon.appiconset
│ │ │ │ ├── Contents.json
│ │ │ │ ├── icon_120.png
│ │ │ │ └── logo_180.png
│ │ │ └── ic_arrow_back_ios.imageset
│ │ │ ├── Contents.json
│ │ │ ├── ic_arrow_back_ios_2x.png
│ │ │ ├── ic_arrow_back_ios_3x.png
│ │ │ └── ic_arrow_back_ios.png
│ │ ├── Info.plist
│ │ ├── main.m
│ │ ├── Models
│ │ │ ├── MLKODTStatus.h
│ │ │ ├── MLKProductSearchRequest.h
│ │ │ ├── MLKProductSearchRequest.m
│ │ │ ├── MLKResult.h
│ │ │ └── MLKResult.m
│ │ └── Views
│ │ ├── MLKCameraReticle.h
│ │ ├── MLKCameraReticle.m
│ │ ├── MLKConfirmationSpinner.h
│ │ ├── MLKConfirmationSpinner.m
│ │ ├── MLKDetectionOverlayView.h
│ │ ├── MLKDetectionOverlayView.m
│ │ ├── MLKResultCell.h
│ │ ├── MLKResultCell.m
│ │ ├── MLKResultListHeaderView.h
│ │ ├── MLKResultListHeaderView.m
│ │ ├── MLKStartPageCell.h
│ │ ├── MLKStartPageCell.m
│ │ ├── MLKStartPageHeaderView.h
│ │ └── MLKStartPageHeaderView.m
│ └── ShowcaseApp.xcodeproj
│ └── project.pbxproj
├── LICENSE
├── README.md
└── tutorials
├── mlkit_image_labeling_model_maker.ipynb
└── README.md
430 directories, 940 files
标签:
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论