Поделиться через


IInstantSource Интерфейс

Определение

Предоставляет доступ к текущему моменту.

[Android.Runtime.Register("java/time/InstantSource", "", "Java.Time.IInstantSourceInvoker", ApiSince=34)]
public interface IInstantSource : Android.Runtime.IJavaObject, IDisposable, Java.Interop.IJavaPeerable
[<Android.Runtime.Register("java/time/InstantSource", "", "Java.Time.IInstantSourceInvoker", ApiSince=34)>]
type IInstantSource = interface
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
Производный
Атрибуты
Реализации

Комментарии

Предоставляет доступ к текущему моменту.

Экземпляры этого интерфейса используются для доступа к подключаемому представлению текущего экземпляра. Например, можно использовать InstantSource вместо System#currentTimeMillis().

Основная цель этой абстракции заключается в том, чтобы альтернативные мгновенные источники подключались как и при необходимости. Приложения используют объект для получения текущего времени, а не статического метода. Это может упростить тестирование.

Таким образом, этот интерфейс не гарантирует, что результат фактически представляет текущий момент в временной строке. Вместо этого приложение позволяет приложению предоставлять управляемое представление о том, что такое текущий момент.

Рекомендуется передать приложения в любой InstantSource метод, требующий текущего экземпляра. Платформа внедрения зависимостей является одним из способов достижения этого:

public class MyBean {
               private InstantSource source;  // dependency inject
               ...
               public void process(Instant endInstant) {
                 if (source.instant().isAfter(endInstant) {
                   ...
                 }
               }
             }

Такой подход позволяет использовать альтернативный источник, например #fixed(Instant) fixed во #offset(InstantSource, Duration) offset время тестирования.

Метод system фабрики предоставляет источник на основе лучших доступных системных часов. Это может использовать System#currentTimeMillis()или более высокие часы разрешения, если он доступен.

Добавлено в 17.

Документация по Java для java.time.InstantSource.

Части этой страницы — это изменения на основе работы, созданной и общей проектом с открытым исходным кодом Android и используемой в соответствии с условиями, описанными в лицензии Creative Commons 2.5 Attribution.

Свойства

Handle

Возвращает значение JNI базового объекта Android.

(Унаследовано от IJavaObject)
JniIdentityHashCode

Возвращает значение java.lang.System.identityHashCode() для упаковаемого экземпляра.

(Унаследовано от IJavaPeerable)
JniManagedPeerState

Состояние управляемого однорангового узла.

(Унаследовано от IJavaPeerable)
JniPeerMembers

Поддержка доступа к членам и вызовов.

(Унаследовано от IJavaPeerable)
PeerReference

JniObjectReference Возвращает экземпляр объекта Java в оболочке.

(Унаследовано от IJavaPeerable)

Методы

Disposed()

Вызывается при удалении экземпляра.

(Унаследовано от IJavaPeerable)
DisposeUnlessReferenced()

Если нет невыполненных ссылок на этот экземпляр, то вызывается Dispose(); в противном случае ничего не делает.

(Унаследовано от IJavaPeerable)
Finalized()

Вызывается при завершении экземпляра.

(Унаследовано от IJavaPeerable)
Fixed(Instant)

Получает источник, который всегда возвращает один и тот же момент.

Instant()

Возвращает текущий момент источника.

Millis()

Возвращает текущий миллисекунд источника.

Offset(IInstantSource, Duration)

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

SetJniIdentityHashCode(Int32)

Задайте значение, возвращаемое JniIdentityHashCode.

(Унаследовано от IJavaPeerable)
SetJniManagedPeerState(JniManagedPeerStates)

Предоставляет доступ к текущему моменту.

(Унаследовано от IJavaPeerable)
SetPeerReference(JniObjectReference)

Задайте значение, возвращаемое PeerReference.

(Унаследовано от IJavaPeerable)
System()

Получает источник, возвращающий текущий момент, используя лучшие системные часы.

Tick(IInstantSource, Duration)

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

UnregisterFromRuntime()

Отмените регистрацию этого экземпляра, чтобы среда выполнения не возвращала ее из будущих Java.Interop.JniRuntime+JniValueManager.PeekValue вызовов.

(Унаследовано от IJavaPeerable)
WithZone(ZoneId)

Возвращает часы с указанным часовым поясом.

Методы расширения

JavaCast<TResult>(IJavaObject)

Выполняет преобразование типа, проверяемого средой выполнения Android.

JavaCast<TResult>(IJavaObject)

Предоставляет доступ к текущему моменту.

GetJniTypeName(IJavaPeerable)

Предоставляет доступ к текущему моменту.

Применяется к