Реализация ломтиков в Android

Я пытаюсь реализовать слайс в Android из руководства, приведенного здесь. Однако реализацию здесь можно увидеть только через приложение Slice Viewer. В приложении нет изменений, когда я его запускаю. Я думаю, что мне не хватает чего-то, что должно быть добавлено в файл макета, в котором я хочу, чтобы мой срез был просмотрен. Но это только предположение.

Я также не могу понять, как реализовать SliceViewApi для просмотра моего слайса.

Любая помощь будет оценена!

3 ответа

На момент написания Срезы нигде не отображались ни в системе Android, ни в приложениях Google согласно документам:

Ломтики скоро появятся для пользователей, но вы можете начать сборку уже сегодня.

Как вы заметили, фактическая реализация для рендеринга / отображения слайса называется SliceView, уже доступен, однако ни одно приложение еще не реализовало это (по крайней мере, насколько мне известно). Вы можете реализовать это самостоятельно, но в этом нет особого смысла, если вы намереваетесь отображать только свои собственные слайсы (тогда вы можете просто использовать обычные представления). Основной вариант использования для реализации SliceView если бы вы были приложением типа запуска и хотели показывать фрагменты из других приложений.

Приложение Slice Viewer демонстрирует реализацию SliceView но его главная цель на данный момент - позволить вам создавать и тестировать свои слайсы при подготовке к реализации других приложений. SliceView,

На Google I/O 2018, во время сеанса Slices, было объявлено, что первой системной областью, которая будет отображать Slices, будет Google Search для улучшения прогнозов приложений. На сессии было объявлено, что это будет запущено некоторое время в 2018 году.

У меня также были некоторые проблемы с руководством по слайсам и SliceViewer, и в итоге я обнаружил некоторые ошибки в SliceViewer. Я исправил их в сделанной мной развилке ( https://github.com/roadmaptravel/android-SliceViewer). Если вы клонируете / скачиваете этот форк и запускаете его в Android Studio 3.2 Canary 16, вы можете добавить демонстрационные слайсы, введя следующие URI в SliceViewer:

Также в руководстве по слайсам неясно, что если вы хотите увидеть свой собственный слайс в SliceViewer, вы можете использовать только одну из этих трех схем: content, http или же https, Например:

<provider
    android:name=".provider.SampleSliceProvider"
    android:authorities="com.example.android.sliceviewer"
    android:exported="true">
    <intent-filter>
        <action android:name="android.intent.action.VIEW" />

        <category android:name="android.app.slice.category.SLICE" />

        <data
            android:host="sliceviewer.android.example.com"
            android:pathPrefix="/"
            android:scheme="https" />
    </intent-filter>
</provider>

Пожалуйста, дайте мне знать, если это поможет вам, и если у вас есть какие-либо вопросы о ломтиках, не стесняйтесь их задавать.

Обновление: мои изменения объединены в исходном репозитории SliceViewer ( https://github.com/googlesamples/android-SliceViewer), поэтому я рекомендую использовать его (снова).

Просмотрщик слайсов может быть создан с использованием виджета SliceView, SliceViewManager и SliceLiveData.

Вот шаги, чтобы создать основной просмотрщик слайсов или презентатор слайсов.

  • Сначала добавьте SliceView в макет.

  • Затем привяжите слайс к SliceView, используя SliceViewManager и uri слайса.

  • Чтобы отобразить изменения срезов в средстве просмотра срезов, используйте SliceLiveData для наблюдения за изменениями срезов.

Для полного примера просмотра слайса вы можете проверить http://www.zoftino.com/android-slices-with-examples

Другие вопросы по тегам