Freigeben über


IInstantSource Schnittstelle

Definition

Bietet Zugriff auf den aktuellen Sofortzugriff.

[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
Abgeleitet
Attribute
Implementiert

Hinweise

Bietet Zugriff auf den aktuellen Sofortzugriff.

Instanzen dieser Schnittstelle werden verwendet, um auf eine austauschbare Darstellung des aktuellen Instant zuzugreifen. InstantSource kann beispielsweise anstelle von System#currentTimeMillis() verwendet werden.

Der Hauptzweck dieser Abstraktion besteht darin, alternative Sofortquellen bei Bedarf eingesteckt zu lassen. Anwendungen verwenden ein Objekt, um die aktuelle Uhrzeit anstelle einer statischen Methode abzurufen. Dies kann das Testen vereinfachen.

Daher garantiert diese Schnittstelle nicht, dass das Ergebnis tatsächlich den aktuellen Moment in der Zeitlinie darstellt. Stattdessen kann die Anwendung eine kontrollierte Ansicht für den aktuellen Moment bereitstellen.

Bewährte Methode für Anwendungen besteht darin, eine InstantSource Beliebige Methode zu übergeben, die den aktuellen Sofortigen erfordert. Ein Abhängigkeitsinjektionsframework ist eine Möglichkeit, dies zu erreichen:

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

Dieser Ansatz ermöglicht eine alternative Quelle, z #fixed(Instant) fixed . B. die #offset(InstantSource, Duration) offset Verwendung während des Tests.

Die system Factorymethode stellt eine Quelle basierend auf der besten verfügbaren Systemuhr bereit. Dies kann eine Uhr mit höherer Auflösung verwenden System#currentTimeMillis(), wenn eine verfügbar ist.

Hinzugefügt in 17.

Java-Dokumentation für java.time.InstantSource.

Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die vom Android Open Source-Projekt erstellt und freigegeben werden und gemäß den in der Creative Commons 2.5 Attribution License beschriebenen Begriffen verwendet werden.

Eigenschaften

Handle

Ruft den JNI-Wert des zugrunde liegenden Android-Objekts ab.

(Geerbt von IJavaObject)
JniIdentityHashCode

Gibt den Wert java.lang.System.identityHashCode() für die umbrochene Instanz zurück.

(Geerbt von IJavaPeerable)
JniManagedPeerState

Status des verwalteten Peers.

(Geerbt von IJavaPeerable)
JniPeerMembers

Mitgliedszugriff und Aufrufunterstützung.

(Geerbt von IJavaPeerable)
PeerReference

Gibt eine JniObjectReference der umbrochenen Java-Objektinstanz zurück.

(Geerbt von IJavaPeerable)

Methoden

Disposed()

Wird aufgerufen, wenn die Instanz verworfen wurde.

(Geerbt von IJavaPeerable)
DisposeUnlessReferenced()

Wenn keine offenen Verweise auf diese Instanz vorhanden sind, wird nichts aufgerufen Dispose(). Andernfalls wird nichts ausgeführt.

(Geerbt von IJavaPeerable)
Finalized()

Wird aufgerufen, wenn die Instanz abgeschlossen wurde.

(Geerbt von IJavaPeerable)
Fixed(Instant)

Ruft eine Quelle ab, die immer denselben Sofortigen zurückgibt.

Instant()

Ruft den aktuellen Instant der Quelle ab.

Millis()

Ruft den aktuellen Millisekunden-Instant der Quelle ab.

Offset(IInstantSource, Duration)

Ruft eine Quelle ab, die Instants aus der angegebenen Quelle zurückgibt, wobei die angegebene Dauer hinzugefügt wurde.

SetJniIdentityHashCode(Int32)

Legen Sie den von JniIdentityHashCode.

(Geerbt von IJavaPeerable)
SetJniManagedPeerState(JniManagedPeerStates)

Bietet Zugriff auf den aktuellen Sofortzugriff.

(Geerbt von IJavaPeerable)
SetPeerReference(JniObjectReference)

Legen Sie den von PeerReference.

(Geerbt von IJavaPeerable)
System()

Ruft eine Quelle ab, die den aktuellen Moment mithilfe der besten verfügbaren Systemuhr zurückgibt.

Tick(IInstantSource, Duration)

Ruft eine Quelle ab, die Instants aus der angegebenen Quelle zurückgibt, die auf das nächste Vorkommen der angegebenen Dauer abgeschnitten wird.

UnregisterFromRuntime()

Heben Sie die Registrierung dieser Instanz auf, damit die Laufzeit sie nicht aus zukünftigen Java.Interop.JniRuntime+JniValueManager.PeekValue Aufrufen zurückgibt.

(Geerbt von IJavaPeerable)
WithZone(ZoneId)

Gibt eine Uhr mit der angegebenen Zeitzone zurück.

Erweiterungsmethoden

JavaCast<TResult>(IJavaObject)

Führt eine android-laufzeitgecheckte Typkonvertierung aus.

JavaCast<TResult>(IJavaObject)

Bietet Zugriff auf den aktuellen Sofortzugriff.

GetJniTypeName(IJavaPeerable)

Bietet Zugriff auf den aktuellen Sofortzugriff.

Gilt für: