private static Bitmap DecodeBitmap(URLConnection connection)
        {
            connection.DoInput = true;
            connection.Connect();
            var bitmap = BitmapFactory.DecodeStream(connection.InputStream);

            connection.Dispose();
            return(bitmap);
        }
Exemple #2
0
        private bool Validate(string bingMapsKey, ThinkGeo.MapSuite.Android.BingMapsMapType mapType)
        {
            bool result = false;

            URL           url    = null;
            Stream        stream = null;
            URLConnection conn   = null;

            string loginServiceTemplate = "http://dev.virtualearth.net/REST/v1/Imagery/Metadata/{0}?&incl=ImageryProviders&o=xml&key={1}";

            try
            {
                string loginServiceUri = string.Format(CultureInfo.InvariantCulture, loginServiceTemplate, mapType, bingMapsKey);

                url    = new URL(loginServiceUri);
                conn   = url.OpenConnection();
                stream = conn.InputStream;

                if (stream != null)
                {
                    XmlDocument xDoc = new XmlDocument();
                    xDoc.Load(stream);
                    XmlNamespaceManager nsmgr = new XmlNamespaceManager(xDoc.NameTable);
                    nsmgr.AddNamespace("bing", "http://schemas.microsoft.com/search/local/ws/rest/v1");

                    XmlNode     root              = xDoc.SelectSingleNode("bing:Response", nsmgr);
                    XmlNode     imageUrlElement   = root.SelectSingleNode("bing:ResourceSets/bing:ResourceSet/bing:Resources/bing:ImageryMetadata/bing:ImageUrl", nsmgr);
                    XmlNodeList subdomainsElement = root.SelectNodes("bing:ResourceSets/bing:ResourceSet/bing:Resources/bing:ImageryMetadata/bing:ImageUrlSubdomains/bing:string", nsmgr);
                    if (imageUrlElement != null && subdomainsElement != null)
                    {
                        result = true;
                    }
                }
            }
            catch
            { }
            finally
            {
                if (url != null)
                {
                    url.Dispose();
                }
                if (conn != null)
                {
                    conn.Dispose();
                }
                if (stream != null)
                {
                    stream.Dispose();
                }
            }

            return(result);
        }
        protected override void Dispose(bool disposing)
        {
            disposed = true;
            if (java_connection != null)
            {
                java_connection.Dispose();
                java_connection = null;
            }

            if (java_url != null)
            {
                java_url.Dispose();
                java_url = null;
            }

            base.Dispose(disposing);
        }