//Android3.0 以后已经不允许在主线程访问网络,报错android.os.NetworkOnMainThreadException //获取网页内容 public async System.Threading.Tasks.Task <string> Get(string url) { //连接超时5秒 //写入数据超时5秒 //读取数据超时5秒 client = new OkHttpClient.Builder() .ConnectTimeout(5, TimeUnit.Seconds) .WriteTimeout(5, TimeUnit.Seconds) .ReadTimeout(5, TimeUnit.Seconds) .Build(); Request request = new Request.Builder().Url(url).Build(); Response response = await client.NewCall(request).ExecuteAsync(); if (response.Code() == 200) { //Toast.MakeText(this, "response.Code() == 200", ToastLength.Short).Show(); var content = response.Body().String(); return(content); } else { return("null"); } }
FileUploadResponse MakeRequest(string url, string tag, MultipartBuilder requestBodyBuilder, IDictionary <string, string> headers = null) { //RequestBody requestBody = requestBodyBuilder.Build(); CountingRequestBody requestBody = new CountingRequestBody(requestBodyBuilder.Build(), tag, this); var requestBuilder = new Request.Builder(); if (headers != null) { foreach (string key in headers.Keys) { if (!string.IsNullOrEmpty(headers[key])) { requestBuilder = requestBuilder.AddHeader(key, headers[key]); } } } Request request = requestBuilder .Url(url) .Post(requestBody) .Build(); OkHttpClient client = new OkHttpClient(); client.SetConnectTimeout(ConnectUploadTimeout, UploadTimeoutUnit); // connect timeout client.SetReadTimeout(SocketUploadTimeout, UploadTimeoutUnit); // socket timeout Response response = client.NewCall(request).Execute(); var responseString = response.Body().String(); var code = response.Code(); IDictionary <string, string> responseHeaders = new Dictionary <string, string>(); var rHeaders = response.Headers(); if (rHeaders != null) { var names = rHeaders.Names(); foreach (string name in names) { if (!string.IsNullOrEmpty(rHeaders.Get(name))) { responseHeaders.Add(name, rHeaders.Get(name)); } } } FileUploadResponse fileUploadResponse = new FileUploadResponse(responseString, code, tag, new ReadOnlyDictionary <string, string>(responseHeaders)); if (response.IsSuccessful) { FileUploadCompleted(this, fileUploadResponse); } else { FileUploadError(this, fileUploadResponse); } return(fileUploadResponse); }
string LoadAWOkHttpClientAsync(string urlText) { Response response = null; try { OkHttpClient clientOrg = new OkHttpClient(); OkHttpClient client = AWOkHttpClient.CopyWithDefaults(clientOrg, new AllowAllTrustManager()); Request request = new Request.Builder() .Url(urlText) .Build(); response = client.NewCall(request).Execute(); string responseCode = "Response Code: " + response.Code(); return(responseCode); } catch (IOException e) { return("IO Exception during network request"); } finally { if (response != null) { response.Body().Close(); } } }
protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); SetContentView(Resource.Layout.Login); // Create your application here handler = new Handler(Looper.MainLooper); settings = UserSettings.GetInstanceForApp(this); btLogin = FindViewById <Button>(Resource.Id.button_login); etLogin = FindViewById <EditText>(Resource.Id.editText_login); etPassword = FindViewById <EditText>(Resource.Id.editText_password); chbxShowPassword = FindViewById <CheckBox>(Resource.Id.checkBox_showPassword); client = new OkHttpClient(); btLogin.Click += (s, e) => { Login(); }; chbxShowPassword.CheckedChange += (s, e) => { if (e.IsChecked) { RunOnUiThread(() => etPassword.TransformationMethod = HideReturnsTransformationMethod.Instance); } else { RunOnUiThread(() => etPassword.TransformationMethod = PasswordTransformationMethod.Instance); } }; }
protected override void OnCreate(Bundle bundle) { base.OnCreate(bundle); // Set our view from the "main" layout resource SetContentView(Resource.Layout.Main); Button startTest = FindViewById<Button>(Resource.Id.startTest); ListView listView = FindViewById<ListView>(Resource.Id.listView); startTest.Click += delegate { ArrayAdapter<string> adapter = new ArrayAdapter<string>( this, Android.Resource.Layout.SimpleListItem1, Android.Resource.Id.Text1); listView.Adapter = adapter; OkHttpClient client = new OkHttpClient(); // Create request for remote resource. Request request = new Request.Builder() .Url(Endpoint) .Build(); // Execute the request and retrieve the response. WebSocketCall call = WebSocketCall.Create(client, request); WebSocketListener listener = call.Enqueue(); // attach handlers to the various events listener.Close += (sender, e) => { RunOnUiThread(() => adapter.Add(string.Format("{0}: {1}", e.Code, e.Reason))); }; listener.Failure += (sender, e) => { if (e.Exception != null) RunOnUiThread(() => adapter.Add(e.Exception.Message)); else RunOnUiThread(() => adapter.Add("Unknown Error!")); }; listener.Message += (sender, e) => { string payload = e.Payload.String(); e.Payload.Close(); RunOnUiThread(() => adapter.Add(string.Format("{0}\n{1}", payload, e.Payload.ContentType()))); }; listener.Open += (sender, e) => { RunOnUiThread(() => adapter.Add("Opened Web Socket.")); StartMessages(e.WebSocket); }; listener.Pong += (sender, e) => { string payload = e.Payload.ReadString(Charset.DefaultCharset()); e.Payload.Close(); RunOnUiThread(() => adapter.Add(payload)); }; }; }
public async Task <string> GetRequest(string url) { string result = null; var client = new OkHttpClient(); try { var request = new Request.Builder() .Url(url) .Build(); var response = await client.NewCall(request).ExecuteAsync(); var body = response.Body().String(); result = body; } catch (Exception ex) { _logService.LogException(ex); } return(result); }
private void getWeather(double latitude, double longitude) { string apiKey = "32b0b275eea19d641b0069e91c91b50a"; string apiUrl = "https://api.forecast.io/forecast/" + apiKey + "/" + latitude + "," + longitude; if (isNetworkAvailable()) { RunOnUiThread(() => toggleRefresh()); OkHttpClient client = new OkHttpClient(); Request request = new Request.Builder().Url(apiUrl).Build(); Call call = client.NewCall(request); call.Enqueue(response => { RunOnUiThread(() => toggleRefresh()); var jsonData = JObject.Parse(response.Body().String()); mCurrentWeather = getCurrentDetails(jsonData); RunOnUiThread(() => updateDisplay()); }, (req, exception) => { ShowError(); }); } else { Toast.MakeText(this, "Network unavailable", ToastLength.Long).Show(); } }
public static void sendOkHttpRequests(string address, Okhttp3.ICallback callbck) { var client = new OkHttpClient(); Okhttp3.Request requests = new Request.Builder().Url(address).Build(); requests.Url(); client.NewCall(requests).Enqueue(callbck); }
public OkHttpClientUtil() { httpClient = new OkHttpClient.Builder() .ConnectTimeout(5, TimeUnit.Seconds) //连接超时5秒 .WriteTimeout(5, TimeUnit.Seconds) //写入数据超时5秒 .ReadTimeout(5, TimeUnit.Seconds) //读取数据超时5秒 .Build(); }
public OkHttpUtils() { okHttpClient = new OkHttpClient(); okHttpClient.SetConnectTimeout(10, TimeUnit.Seconds); okHttpClient.SetWriteTimeout(10, TimeUnit.Seconds); okHttpClient.SetReadTimeout(30, TimeUnit.Seconds); okHttpClient.SetCookieHandler(new CookieManager(null, CookiePolicy.AcceptOriginalServer)); }
public OkHttpUtils(AccessToken token) { okHttpClient = new OkHttpClient.Builder() .ConnectTimeout(10, TimeUnit.Seconds) .ReadTimeout(30, TimeUnit.Seconds) .WriteTimeout(10, TimeUnit.Seconds) .Authenticator(new UserAuthenticator(token)) .Build(); }
public OkHttpHandler() { var b = new OkHttpClient.Builder(); b.ConnectTimeout(1, TimeUnit.Minutes).WriteTimeout(1, TimeUnit.Minutes).ReadTimeout(1, TimeUnit.Minutes); Square.OkHttp3.Cache cache = new Cache(new File(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "/web-cache"), 100 * 1024 * 1024); b.Cache(cache); this.Client = b.Build(); this.UseCookies = false; }
public OkHttpClient InitOkHttpClient() { if (client == null) { client = new OkHttpClient.Builder().ReadTimeout(10000, TimeUnit.Milliseconds) // Set the read timeout. .ConnectTimeout(10000, TimeUnit.Milliseconds) // Set the connect timeout. .Build(); } return(client); }
public static void CreateRequest() { OkHttpClient okHttpClient = new OkHttpClient(); Request request = new Request.Builder() .Url(URL) .Post(RequestBody.Create(Square.OkHttp3.MediaType.Parse("text/x-markdown; charset=utf-8"), REQUESTBODY)) .Build(); OkHttp3Instrumentation.newCall(okHttpClient, request).Enqueue(new OnresponseOkHttpClient()); }
public override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); SetStyle((int)DialogFragmentStyle.Normal, Resource.Style.ShootDialog); webclient = new OkHttpClient.Builder() .Cache((Activity.Application as BootleggerApp).FilesCache) .Build(); httpDataSourceFactory = new OkHttpDataSourceFactory(webclient, "BootleggerEditor"); extractorsFactory = new DefaultExtractorsFactory(); _audioPlayer = ExoPlayerFactory.NewSimpleInstance(Context, new DefaultTrackSelector()); _audioPlayer.RenderedFirstFrame += _audioPlayer_RenderedFirstFrame; }
public void doTheThing(Action <List <Character> > characters) { try{ MD5 md5 = System.Security.Cryptography.MD5.Create(); DateTime Jan1st1970 = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc); var timeStamp = (long)((DateTime.UtcNow - Jan1st1970).TotalMilliseconds); string api_key = "insert public key hear"; string private_key = "insert private key here"; byte[] inputBytes = System.Text.Encoding.ASCII.GetBytes(timeStamp + private_key + api_key); byte[] hash = md5.ComputeHash(inputBytes); // step 2, convert byte array to hex string StringBuilder sb = new StringBuilder(); for (int i = 0; i < hash.Length; i++) { sb.Append(hash[i].ToString("X2")); } var thing = sb.ToString().ToLower(); ; var url = new URL("https://gateway.marvel.com:443/v1/public/characters?apikey=550bdabffb29d3cc2bf6813a68021ee4&hash=" + thing + "&ts=" + timeStamp + "&limit=10");//+ "&format=json"); //var uriBuilder = new UriBuilder(); //uriBuilder.Scheme = "https"; //uriBuilder.Host = "gateway.marvel.com"; //uriBuilder.Path = "v1/public/characters"; //uriBuilder.Query = "apikey=550bdabffb29d3cc2bf6813a68021ee4"; //uriBuilder. OkHttpClient client = new OkHttpClient(); Request request = new Request .Builder() .Url(url) .Build(); Response response = client.NewCall(request).Execute(); var body = response.Body().String().Replace('\"', '"'); var x = Newtonsoft.Json.JsonConvert.DeserializeObject <RootObject>(body); var things = x.data.results; characters(things); } catch (Exception e) { Console.WriteLine(e.ToString()); } }
private OkHttpClient GetSafeOkHttpClient() { OkHttpClient okHttpClient = new OkHttpClient(); if (customSSLVerification) { okHttpClient.SetHostnameVerifier(new HostnameVerifier()); } okHttpClient.SetSslSocketFactory(new ImprovedSSLSocketFactory()); return(okHttpClient); }
public async Task <Tuple <Boolean, String> > ResolveClusterUrlAsync(String clusterUrl) { OkHttpClient client = new OkHttpClient(); Request request = new Request.Builder() .Url(clusterUrl) .Build(); Response response = await client.NewCall(request).ExecuteAsync(); String server = await response.Body().StringAsync(); return(new Tuple <bool, String>(response.IsSuccessful, server)); }
private OkHttpClient GetUnsafeOkHttpClient() { ITrustManager[] trustAllCerts = new ITrustManager[] { new X509TrustManager() }; SSLContext sslContext = SSLContext.GetInstance("SSL"); sslContext.Init(null, trustAllCerts, null); SSLSocketFactory sslSocketFactory = sslContext.SocketFactory; OkHttpClient okHttpClient = new OkHttpClient(); okHttpClient.SetSslSocketFactory(sslSocketFactory); okHttpClient.SetHostnameVerifier(new UnsafeHostnameVerifier()); return(okHttpClient); }
public NativeMessageHandler(bool throwOnCaptiveNetwork, CustomSSLVerification customSSLVerification, NativeCookieHandler cookieHandler = null) { this.throwOnCaptiveNetwork = throwOnCaptiveNetwork; var clientBuilder = client.NewBuilder(); var specsBuilder = new ConnectionSpec.Builder(ConnectionSpec.ModernTls).TlsVersions(TlsVersion.Tls12); var specs = specsBuilder.Build(); clientBuilder.ConnectionSpecs(new List <ConnectionSpec>() { specs }); clientBuilder.Protocols(new[] { Protocol.Http11 }); // Required to avoid stream was reset: PROTOCOL_ERROR clientBuilder.HostnameVerifier(new HostnameVerifier(customSSLVerification.Pins)); this.CertificatePinnerBuilder = new CertificatePinner.Builder(); // Add Certificate Pins foreach (var pin in customSSLVerification.Pins) { this.CertificatePinnerBuilder.Add(pin.Hostname, pin.PublicKeys); } clientBuilder.CertificatePinner(CertificatePinnerBuilder.Build()); // Set client credentials SetClientCertificate(customSSLVerification.ClientCertificate); // Set SslSocketFactory if (Build.VERSION.SdkInt < BuildVersionCodes.Lollipop) { // Support TLS1.2 on Android versions before Lollipop clientBuilder.SslSocketFactory(new TlsSslSocketFactory(KeyManagers, null), TlsSslSocketFactory.GetSystemDefaultTrustManager()); } else { var sslContext = SSLContext.GetInstance("TLS"); sslContext.Init(KeyManagers, null, null); clientBuilder.SslSocketFactory(sslContext.SocketFactory, TlsSslSocketFactory.GetSystemDefaultTrustManager()); } if (cookieHandler != null) { clientBuilder.CookieJar(cookieHandler); } client = clientBuilder.Build(); }
public Communicator() { trustAllSslContext = SSLContext.GetInstance("SSL"); trustAllSslContext.Init(null, new ITrustManager[] { new CustomX509TrustManager() }, new SecureRandom()); client = new OkHttpClient(); client.SetConnectTimeout(5, Java.Util.Concurrent.TimeUnit.Seconds); client.SetSslSocketFactory(trustAllSslContext.SocketFactory); client.SetHostnameVerifier(new CustomHostNameVerifier()); client.SetProtocols(new Protocol[] { Protocol.Http11 }); StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().PermitAll().Build(); StrictMode.SetThreadPolicy(policy); }
public void RebuildClient(Action <OkHttpClient.Builder> customBuild) { if (client != null) { // This should finish out any in flight requests client.Dispatcher().ExecutorService().Shutdown(); client = null; } var builder = new OkHttpClient.Builder(); CommonClientBuilder(builder); customBuild?.Invoke(builder); client = builder.Build(); }
private async void MakeHttpCall() { #if __ANDROID__ var client = new OkHttpClient(); var requestBody = RequestBody.Create( MediaType.Parse("application/json"), "{\"title\":\"foo\",\"body\": \"bar\", \"userId\":\"1\", \"id\":\"1\"}"); var request = new Request.Builder() .Url("https://jsonplaceholder.typicode.com/posts") .Post(requestBody) .Build(); var response = await client.NewCall(request).ExecuteAsync(); #endif }
/// <summary> /// Provides an OkHttpClient that is set up with the requested /// socket factory and hostname provider (if any). /// </summary> public static OkHttpClient GetHttpClient() { SetupDangerous(); // create a new client var client = new OkHttpClient(); // add the socket factory client.SetSslSocketFactory(socketFactory); // make sure we use the hostname verifier if (hostnameVerifier != null) { client.SetHostnameVerifier(hostnameVerifier); } return(client); }
private async Task <HttpResponseMessage> HttpGet(string url) { var client = new OkHttpClient(); client.SetHostnameVerifier(new HostnameVerifier()); client.SetSslSocketFactory(GetSocketFactory()); var builder = new Request.Builder() .Method("GET", null) .Url(url) .CacheControl(new CacheControl.Builder().NoCache().Build()) .AddHeader("User-Agent", "Test/1.0"); var rq = builder.Build(); var call = client.NewCall(rq); System.Diagnostics.Debug.WriteLine("Sending Call..."); var resp = await call.EnqueueAsync().ConfigureAwait(false); System.Diagnostics.Debug.WriteLine("Got response"); var respBody = resp.Body(); var ret = new HttpResponseMessage((HttpStatusCode)resp.Code()); ret.ReasonPhrase = resp.Message(); if (respBody != null) { ret.Content = new StreamContent(respBody.ByteStream()); } else { ret.Content = new ByteArrayContent(new byte[0]); } var respHeaders = resp.Headers(); foreach (var k in respHeaders.Names()) { ret.Headers.TryAddWithoutValidation(k, respHeaders.Get(k)); ret.Content.Headers.TryAddWithoutValidation(k, respHeaders.Get(k)); } return(ret); }
public override void OnCreate() { base.OnCreate(); userId = JwtHelper.GetAspNetUserId(UserSettings.Token); dbWriter = new SignalsDBWriter(this); timer = new Timer { Interval = 30000, Enabled = true }; timer.Elapsed += (s, e) => { Logger.Info("trying to sent telemetry..."); var type = MediaType.Parse("application/json; charset=utf-8"); var telemetry = dbWriter.ReadTelemetry(userId, out ids); if (telemetry?.Count > 0) { var str = Newtonsoft.Json.JsonConvert.SerializeObject(telemetry, new Trigger.Classes.TelemetryJsonConverter()); var body = RequestBody.Create(type, str); OkHttpClient client = new OkHttpClient(); Request request = new Request.Builder() .Url(Url) .Header("scn-dev-msg", "") .Post(body) .Build(); Callback c = new Callback { Writer = dbWriter, Ids = ids }; var all_signals = telemetry.SelectMany(b => b.Select(i => i)).ToList(); Logger.Info("Send Telemetry: " + all_signals.Count.ToString()); client.NewCall(request).Enqueue(c); } else { Logger.Info("No signals to send"); } }; }
protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); // Set our view from the "main" layout resource SetContentView(Resource.Layout.activity_main); Button download = FindViewById <Button>(Resource.Id.download); ListView listView = FindViewById <ListView>(Resource.Id.listView); download.Click += async delegate { HttpLoggingInterceptor logging = new HttpLoggingInterceptor(); logging.SetLevel(HttpLoggingInterceptor.Level.Basic); OkHttpClient client = new OkHttpClient().NewBuilder() .AddInterceptor(logging) .Build(); // Create request for remote resource. Request request = new Request.Builder() .Url(Endpoint) .Build(); // Execute the request and retrieve the response. Response response = await client.NewCall(request).ExecuteAsync(); // Deserialize HTTP response to concrete type. string body = await response.Body().StringAsync(); List <Contributor> contributors = JsonConvert.DeserializeObject <List <Contributor> >(body); // Sort list by the most contributions. List <string> data = contributors .OrderByDescending(c => c.contributions) .Select(c => string.Format("{0} ({1})", c.login, c.contributions)) .ToList(); // Output list of contributors. IListAdapter adapter = new ArrayAdapter <string>( this, Android.Resource.Layout.SimpleListItem1, Android.Resource.Id.Text1, data); listView.Adapter = adapter; }; }
private void GetComments() //在主线程更新UI { OkHttpClient client = new OkHttpClient(); var Endpoint = string.Format(@"http://cacakaka.com:8000/api/Video/GetVideoCommons?vid={0}&pageIndex={1}&pageSize={2}", 1, 1, 20);// "http://47.91.249.226:8000/api/Video/GetAllVideos"; // Create request for remote resource. Request request = new Request.Builder() .Url(Endpoint) .Build(); // Execute the request and retrieve the response. Response response = client.NewCall(request).ExecuteAsync().Result; // Deserialize HTTP response to concrete type. string body = response.Body().StringAsync().Result; comments = new List <ArticleComment>(); comments = JsonConvert.DeserializeObject <List <ArticleComment> >(body); }
FileUploadResponse MakeRequest(string url, string tag, MultipartBuilder requestBodyBuilder, IDictionary <string, string> headers = null) { //RequestBody requestBody = requestBodyBuilder.Build(); CountingRequestBody requestBody = new CountingRequestBody(requestBodyBuilder.Build(), this); var requestBuilder = new Request.Builder(); if (headers != null) { foreach (string key in headers.Keys) { if (!string.IsNullOrEmpty(headers[key])) { requestBuilder = requestBuilder.AddHeader(key, headers[key]); } } } Request request = requestBuilder .Url(url) .Post(requestBody) .Build(); OkHttpClient client = new OkHttpClient(); client.SetConnectTimeout(5, TimeUnit.Minutes); // connect timeout client.SetReadTimeout(5, TimeUnit.Minutes); // socket timeout Response response = client.NewCall(request).Execute(); var responseString = response.Body().String(); var code = response.Code(); var fileUploadResponse = new FileUploadResponse(responseString, code, tag); if (response.IsSuccessful) { FileUploadCompleted(this, fileUploadResponse); return(fileUploadResponse); } else { FileUploadError(this, fileUploadResponse); return(fileUploadResponse); } }
private void LoadUrl(String url) { Request request; try { request = new Request.Builder() .Url(url) .Build(); } catch (Exception ex) { OnLoadError(); return; } if (this.client == null) { this.client = new OkHttpClient(); } client.NewCall(request).Enqueue((ICall call, Response response) => { if (!response.IsSuccessful) { OnLoadError(); } try { JSONObject json = new JSONObject(response.Body().String()); LottieComposition.Factory.FromJson(this.Resources, json, (composition) => { SetComposition(composition, "Network Animation"); }); } catch (JSONException ex) { OnLoadError(); } }, (ICall call, Java.IO.IOException e) => OnLoadError()); }
protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); // Set our view from the "main" layout resource SetContentView(Resource.Layout.Main); handler = new Handler(Looper.MainLooper); btTryAgain = FindViewById <Button>(Resource.Id.button_try_again); client = new OkHttpClient(); settings = UserSettings.GetInstanceForApp(this); dialog = new ProgressDialog(this); dialog.SetMessage("Please wait"); dialog.Indeterminate = true; dialog.SetCancelable(true); btTryAgain.Click += (s, e) => CallToken(); }
protected override void OnCreate(Bundle bundle) { base.OnCreate(bundle); // Set our view from the "main" layout resource SetContentView(Resource.Layout.Main); Button download = FindViewById<Button>(Resource.Id.download); ListView listView = FindViewById<ListView>(Resource.Id.listView); download.Click += async delegate { OkHttpClient client = new OkHttpClient(); // Create request for remote resource. Request request = new Request.Builder() .Url(Endpoint) .Build(); // Execute the request and retrieve the response. Response response = await client.NewCall(request).ExecuteAsync(); // Deserialize HTTP response to concrete type. string body = await response.Body().StringAsync(); List<Contributor> contributors = JsonConvert.DeserializeObject<List<Contributor>>(body); // Sort list by the most contributions. List<string> data = contributors .OrderByDescending(c => c.contributions) .Select(c => string.Format("{0} ({1})", c.login, c.contributions)) .ToList(); // Output list of contributors. IListAdapter adapter = new ArrayAdapter<string>( this, Android.Resource.Layout.SimpleListItem1, Android.Resource.Id.Text1, data); listView.Adapter = adapter; }; }
private void getWeather(double latitude, double longitude) { string apiKey = "32b0b275eea19d641b0069e91c91b50a"; string apiUrl = "https://api.forecast.io/forecast/" + apiKey + "/" + latitude + "," + longitude; if (isNetworkAvailable ()) { RunOnUiThread(() => toggleRefresh()); OkHttpClient client = new OkHttpClient (); Request request = new Request.Builder ().Url (apiUrl).Build (); Call call = client.NewCall (request); call.Enqueue (response => { RunOnUiThread(() => toggleRefresh()); var jsonData = JObject.Parse (response.Body ().String ()); mCurrentWeather = getCurrentDetails (jsonData); RunOnUiThread(() => updateDisplay()); }, (req, exception) => { ShowError (); }); } else { Toast.MakeText (this, "Network unavailable", ToastLength.Long).Show (); } }
public OkHttpImageDownloader(Context context, OkHttpClient client) : base(context) { this.client = client; }