javamono
Mono es una secuencia asincrónica que contiene 0 o 1 elementos. La secuencia también puede contener los mismos tres tipos de notificación de mensajes que Flux, y se puede convertir entre Flux y Mono para realizar operaciones de conteo en la secuencia Flux para generar Mono
¿Cómo crearlo a través de métodos estáticos Mono?
1. vacío(): Crea una secuencia que no contiene ningún elemento y solo publica el mensaje final.
2. just(): Puede especificar todos los elementos contenidos en la secuencia. Después de publicar estos elementos, la secuencia Mono creada finalizará automáticamente.
3. justOrEmpty(): Crea un Mono a partir de un objeto opcional o posiblemente vacío. Las secuencias mono generan elementos correspondientes solo si el objeto opcional contiene un valor o si el objeto no está vacío.
4. error (error arrojable): crea una secuencia que contiene solo información de error.
5. never(): Crea una secuencia que no contiene ninguna notificación de mensaje.
6. fromCallable(), fromCompletionStage(), fromFuture(), fromRunnable() y fromSupplier(): de Callable, CompletionStage, CompletableFuture, Runnable y Supplier respectivamente.
7. retraso (duración) y retrasoMillis (larga duración): crea una secuencia de Mono que, después del retraso especificado, produce el número 0 como valor único.
La operación real y el código de muestra son los siguientes: usando?System; usando?System.Collections.Generic; usando?System.Text; .Contenido; usando?Android.Content; usando?Android.OS; usando?Android.Runtime; usando?Android.Widget; usando?Java.Util; AndroidHotelServiceTest { [Actividad(Etiqueta?=? " ¿Mi? Actividad")] public?DatePickerDialog(this, new.DDialogLisetener(this), 2013, 11, 11); } return.base.OnCreateDialog(0); } protected.override.void.OnCreate(Bundle.bundle) { base. OnCreate(bundle); //.Create.your.application.here SetContentView(Resource.Layout.CalendarView); Button.button.=?FindViewById(Resource.Id.btClose); ?} público ?clase?DDialogLisetener?:?DatePickerDialog.IOnDateSetListener { privado?Context?_ contexto; público?DDialogLisetener(Context?context) { _context?=?context } público?void?OnDateSet(DatePicker?view,?int? año,? int?mesOfYear,?int?dayOfMonth) { String?sDayOfWeek?=?getDayOfWeek(año,?monthOfYear,?dayOfMonth); //Toast.makeText(CreateParty.this,?" sdf",?Toast.LENGTH_LONG) .show( ); int?m_nYear?=?año; int?m_nMonth?=?monthOfYear?+?1; int?m_nDay?=?dayOfMonth(_context,??" ddd",?ToastLength.Long) .Show( ); Toast.MakeText(_context,?m_nAño?+?"?Año"?+?m_nMes?+?" Mes"?Mes"?+?m_nDía?+?"?Día"? ToastLength.Long).Show(); } cadena privada getDayOfWeek(int?tmpYear,?int?tmpMonth,?int?tmpDay) { String?myWeek?=?null; String?sYear?=?tmpYear.ToString(); /?Obtener los dos últimos dígitos del año String?sYearTwo?=?sYear.Substring(sYear.Length?-?2);
nt?y?=?tmpYear; int?m?=?tmpMonth?+?1; int?c?=?20; int?d?=?tmpDay; /?4)?+?(c?/?4)?-(y?/?4)?+?(26?*?(m?+?1)?/(26?*?(m?+? 1)?(26?*?(m?+?1)?/?10)?%? 7; cambiar?(w) { case?日"; desconectar; case?1:myWeek?=?"日" ; descanso; caso?1: miSemana?=?二"; descanso; caso?3: miSemana?=?三"; descanso; caso?4: miSemana?=?四"; descanso; caso?5: miSemana?=? cinco "; descanso; caso?6: miSemana?descanso; predeterminado: descanso; } retorno?miSemana; } public?void?Dispose() { this.Dispose(); } public?IntPtr?Handle { get? }}}< / p>