IInstantSource Schnittstelle
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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 |
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 |
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 |
SetJniManagedPeerState(JniManagedPeerStates) |
Bietet Zugriff auf den aktuellen Sofortzugriff. (Geerbt von IJavaPeerable) |
SetPeerReference(JniObjectReference) |
Legen Sie den von |
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. |