Consulta del cliente de Azure Mobile Service que no devuelve el control a Xamarin Form android client app
Estoy utilizando el servicio móvil de Azure con la aplicación Xamarin Form Android para la mayoría de los datos de consulta del almacenamiento de la tabla azul.
El problema actual a lo que me enfrento es que el cliente de servicio móvil azure no está devolviendo el control de nuevo justo después de la llamada de la API del cliente de servicio móvil (Esto ha sido el caso sólo con la biblioteca de clases portátil y el proyecto de la aplicación android, pero la misma llamada devuelve resultado En la biblioteca normal de .net como he utilizado el proyecto de prueba para verificar la API).
- Xamarin.IOS Error - No se puede resolver la referencia: C: / Archivos de programa (x86) /../ Xamarin.iOS / v1.0 / Facades / System.Private.CoreLib.InteropServices.dll
- ¿Existe algún tipo de solución para desarrollar Blackberry Apps en C # como Mono para Android o Monotouch?
- Android Toast equivalente en iOS
- Sugerencias para entrar en el desarrollo móvil - iPhone SDK puro, Android SDK, Mono Touch o Titanium?
- Cómo hacer la plataforma cruzada MonoTouch
El código fuente que he usado como sigue:
Azure Mobile Código de servicio:
public class VerticalFarmController : TableController<VerticalFarm> { protected override void Initialize(HttpControllerContext controllerContext) { base.Initialize(controllerContext); MobileServiceContext context = new MobileServiceContext(); string connectionString = "My_StorageConnectionString"; DomainManager = new StorageDomainManager<VerticalFarm>(connectionString, "VerticalFarm", Request, Services); } public Task<IEnumerable<VerticalFarm>> GetAllVerticalFarm(ODataQueryOptions queryOptions) { return base.QueryAsync(queryOptions); } }
Xamarin Forma Código de la aplicación de Android:
public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsApplicationActivity { private const string ApiUrl = "[Mobile service Url]"; private const string AppKey = "[Application key]"; protected override void OnCreate(Bundle bundle) { base.OnCreate(bundle); global::Xamarin.Forms.Forms.Init(this, bundle); IMobileServiceClient mobileServiceClient = new MobileServiceClient(ApiUrl, AppKey); try { var table = mobileServiceClient.GetTable("verticalfarm"); var result = table.ReadAsync("$top=10", null, wrapResult: true).Result; } catch (Exception ex) { System.Diagnostics.Debug.WriteLine(ex.ToString()); } LoadApplication(new App()); } }
No devuelve el resultado ni una excepción justo después de la ejecución de la siguiente línea de código:
var result = table.ReadAsync("$top=10", null, wrapResult: true).Result;
Sería estupendo saber si alguien tenía un problema similar y fueron capaces de resolverlo.
- Comunicación entre 2 aplicaciones en el mismo dispositivo iOS / Android con Xamarin
- No puedo ejecutar la aplicación después de actualizar Xamarin.Forms
- HttpClient falta del subconjunto portátil .Net al crear PCL en Xamarin
- Mono para iOS / Android ¿Abierto o cerrado? ¿Pago o gratis?
- Cómo probar todo en Xamarin
- Cómo utilizar Android KitKat EvaluateJavascript en Xamarin.Android/Monodroid y recuperar el resultado?
- Pasando variables de ViewModel a otro View (MVVMCross)
- Problema al instalar el paquete NuGet Xamarin
Llamar. Resultado como el siguiente causará un bloqueo
var result = table.ReadAsync("$top=10", null, wrapResult: true).Result;
Tuve el mismo problema con MobileServicesClient.InvokeApiAsync () llamada
En su lugar debe esperar como: –
async Task ReadTable() { var result = await table.ReadAsync("$top=10", null, wrapResult: true); // do something with result }
O en mi caso
async Task CallApi() { var response = await App.client.InvokeApiAsync ("/api/call", System.Net.Http.HttpMethod.Get, null); // do something with response }
El comportamiento que está experimentando es normal ya que ReadAsync es un método asíncrono. Para "esperar" que la llamada se complete, debe utilizar la palabra clave await.
Var result = wait table.ReadAsync ("$ top = 10", null, wrapResult: true) .Resultado;
Puede leer más sobre soporte asíncrono en Xamarin leyendo esta documentación de Xamarin: http://developer.xamarin.com/guides/cross-platform/advanced/async_support_overview/
- Android app admob haciendo clic en sus propios anuncios violaciones descargadas de playstore
- Android OBD-II ¿Cómo borrar la distancia recorrida (PID0131)?