Bagikan melalui


IInstantSource Antarmuka

Definisi

Menyediakan akses ke instan saat ini.

[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
Turunan
Atribut
Penerapan

Keterangan

Menyediakan akses ke instan saat ini.

Instans antarmuka ini digunakan untuk mengakses representasi instan saat ini yang dapat dicolokkan. Misalnya, InstantSource dapat digunakan alih-alih System#currentTimeMillis().

Tujuan utama abstraksi ini adalah untuk memungkinkan sumber instan alternatif dicolokkan sebagai dan jika diperlukan. Aplikasi menggunakan objek untuk mendapatkan waktu saat ini daripada metode statis. Ini dapat menyederhanakan pengujian.

Dengan demikian, antarmuka ini tidak menjamin hasilnya benar-benar mewakili instan saat ini pada garis waktu. Sebaliknya, ini memungkinkan aplikasi untuk memberikan tampilan terkontrol seperti apa instan saat ini.

Praktik terbaik untuk aplikasi adalah meneruskan InstantSource ke metode apa pun yang memerlukan instan saat ini. Kerangka kerja injeksi dependensi adalah salah satu cara untuk mencapai hal ini:

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

Pendekatan ini memungkinkan sumber alternatif, seperti #fixed(Instant) fixed atau #offset(InstantSource, Duration) offset digunakan selama pengujian.

Metode system pabrik menyediakan sumber berdasarkan jam sistem terbaik yang tersedia. Ini dapat menggunakan System#currentTimeMillis(), atau jam resolusi yang lebih tinggi jika tersedia.

Ditambahkan dalam 17.

Dokumentasi Java untuk java.time.InstantSource.

Bagian halaman ini adalah modifikasi berdasarkan pekerjaan yang dibuat dan dibagikan oleh Proyek Sumber Terbuka Android dan digunakan sesuai dengan istilah yang dijelaskan dalam Lisensi Atribusi Creative Commons 2.5.

Properti

Handle

Mendapatkan nilai JNI dari objek Android yang mendasar.

(Diperoleh dari IJavaObject)
JniIdentityHashCode

Mengembalikan nilai java.lang.System.identityHashCode() untuk instans yang dibungkus.

(Diperoleh dari IJavaPeerable)
JniManagedPeerState

Status serekan terkelola.

(Diperoleh dari IJavaPeerable)
JniPeerMembers

Akses anggota dan dukungan pemanggilan.

(Diperoleh dari IJavaPeerable)
PeerReference

Mengembalikan instans objek Java yang dibungkus JniObjectReference .

(Diperoleh dari IJavaPeerable)

Metode

Disposed()

Dipanggil ketika instans telah dibuang.

(Diperoleh dari IJavaPeerable)
DisposeUnlessReferenced()

Jika tidak ada referensi yang luar biasa untuk instans ini, maka panggilan Dispose(); jika tidak, tidak melakukan apa pun.

(Diperoleh dari IJavaPeerable)
Finalized()

Dipanggil ketika instans telah diselesaikan.

(Diperoleh dari IJavaPeerable)
Fixed(Instant)

Mendapatkan sumber yang selalu mengembalikan instans yang sama.

Instant()

Mendapatkan instan sumber saat ini.

Millis()

Mendapatkan instans milidetik sumber saat ini.

Offset(IInstantSource, Duration)

Mendapatkan sumber yang mengembalikan instans dari sumber yang ditentukan dengan durasi yang ditentukan ditambahkan.

SetJniIdentityHashCode(Int32)

Atur nilai yang dikembalikan oleh JniIdentityHashCode.

(Diperoleh dari IJavaPeerable)
SetJniManagedPeerState(JniManagedPeerStates)

Menyediakan akses ke instan saat ini.

(Diperoleh dari IJavaPeerable)
SetPeerReference(JniObjectReference)

Atur nilai yang dikembalikan oleh PeerReference.

(Diperoleh dari IJavaPeerable)
System()

Mendapatkan sumber yang mengembalikan instan saat ini menggunakan jam sistem terbaik yang tersedia.

Tick(IInstantSource, Duration)

Mendapatkan sumber yang mengembalikan instans dari sumber yang ditentukan yang dipotong ke kemunculan terdekat dari durasi yang ditentukan.

UnregisterFromRuntime()

Batalkan pendaftaran instans ini sehingga runtime tidak akan mengembalikannya dari pemanggilan di masa mendatang Java.Interop.JniRuntime+JniValueManager.PeekValue .

(Diperoleh dari IJavaPeerable)
WithZone(ZoneId)

Mengembalikan jam dengan zona waktu yang ditentukan.

Metode Ekstensi

JavaCast<TResult>(IJavaObject)

Melakukan konversi jenis yang diperiksa runtime Bahasa Umum Android.

JavaCast<TResult>(IJavaObject)

Menyediakan akses ke instan saat ini.

GetJniTypeName(IJavaPeerable)

Menyediakan akses ke instan saat ini.

Berlaku untuk