Esempio n. 1
0
        private async Task <BData> GetBDataFromRemoteAsync(int d)
        {
            var size = new Point();

            mMainActivity.WindowManager.DefaultDisplay.GetSize(size);
            var screenWidth  = size.X;      // 屏幕宽(像素,如:768px)  
            var screenHeight = size.Y;      // 屏幕高(像素,如:1184px)  

            var res   = Utils.GetSuitableResolution(screenWidth, screenHeight);
            var bData = new BData();

            var html = await GetHtmlDataAsync(string.Format(Consts.BingLifeUrl, DateTime.Today.Subtract(new TimeSpan(d, 0, 0, 0)).ToString("yyyyMMdd")));

            bData.Title       = ExtractText(html, "<div class=\"hplaTtl\">(.*?)</div>");
            bData.Location    = ExtractText(html, "<span class=\"hplaAttr\">(.*?)</span");
            bData.Description = ExtractText(html, "<div id=\"hplaSnippet\">(.*?)</div>");

            var json = await GetHtmlDataAsync(string.Format(Consts.BingHPImageArchiveUrl, d, DateUtil.ConvertFromLocalDateTimeToSeconds(DateTime.Now)));

            var JBData = JsonConvert.DeserializeObject <JBData>(json);

            bData.Copyright = JBData.Images[0].Copyright;
            bData.ImageUrl  = Consts.BingBaseUrl + JBData.Images[0].Urlbase + "_" + res.Width + "x" + res.Height + ".jpg";

            bData.Bitmap = await GetBitmapAsync(bData.ImageUrl);

            if (bData.Bitmap.Width != screenWidth || bData.Bitmap.Height != screenHeight)
            {
                bData.Bitmap = BitmapUtil.ZoomBitmap(bData.Bitmap, screenWidth, screenHeight);
            }

            bData.Calendar = FormatCalendar(JBData);

            return(bData);
        }
Esempio n. 2
0
        public override void StartUpdate(ViewGroup container)
        {
            base.StartUpdate(container);

            var viewPager = mMainActivity.FindViewById <ViewPager>(Resource.Id.view_pager);

            if (mCurPos == viewPager.CurrentItem)
            {
                return;
            }

            Task.Run(() => {
                try {
                    mCurBData = GetBDataAsync(mCurDate.Subtract(new TimeSpan(viewPager.CurrentItem, 0, 0, 0)), viewPager.CurrentItem).Result;

                    mMainActivity.RunOnUiThread(() => {
                        mMainActivity.UpdateData(mCurBData);
                        mCurPos = viewPager.CurrentItem;
                    });
                } catch (System.Exception ex) {
                    LogUtil.WriteLogAsync(ex).Wait();
                    Toast.MakeText(mMainActivity, ex.Message, ToastLength.Long).Show();
                }
            });
        }
Esempio n. 3
0
        public static async void InsertBDataAsync(BData bdata)
        {
            var entity = await GetBDataAsync(bdata.Calendar);

            if (entity != null)
            {
                return;
            }
            using (var conn = GetConnection()) {
                using (var command = new SqliteCommand(conn)) {
                    command.CommandType = System.Data.CommandType.Text;
                    command.CommandText = String.Format("INSERT INTO {0} (TITLE,COPYRIGHT,DESCRIPTION,LOCATION,BITMAP,CALENDAR)" +
                                                        " VALUES(:Title,:Copyright,:Description,:Location,:Bitmap,:Calendar)", BDataTableName);

                    command.Parameters.Add(new SqliteParameter("Title", bdata.Title));
                    command.Parameters.Add(new SqliteParameter("Copyright", bdata.Copyright));
                    command.Parameters.Add(new SqliteParameter("Description", bdata.Description));
                    command.Parameters.Add(new SqliteParameter("Location", bdata.Location));
                    command.Parameters.Add(new SqliteParameter("Bitmap", await BitmapUtil.GetBitmapBufferAsync(bdata.Bitmap)));
                    command.Parameters.Add(new SqliteParameter("Calendar", DateUtil.GetDateTicks(bdata.Calendar)));

                    await command.ExecuteNonQueryAsync();
                }
            }
        }
Esempio n. 4
0
        /// <summary>
        /// Subscripte to KLine Stream
        /// </summary>
        /// <param name="Pair"></param>
        public void SubscribeTo(string Pair)
        {
            Console.WriteLine("Core - Starting thread for Kline Stream for : {0}", Pair);

            Task.Run(() =>
            {
                var tick = this.bclient.Socket.SubscribeToKlineStreamAsync(Pair, KlineInterval.OneMinute, (data) =>
                {
                    BData.Add(data);
                });

                while (Global.Shared.Running)
                {
                    System.Threading.Thread.Sleep(100);
                }
            });
            Console.WriteLine("Core - Starting thread for OrderBook Stream for : {0}", Pair);

            Task.Run(() =>
            {
                var book = this.bclient.Socket.SubscribeToPartialBookDepthStreamAsync(Pair, 10, (data) =>
                {
                    BBookData.Add(data);
                    if (BBookData.Count > 2)
                    {
                        BBookData.RemoveAt(0);
                    }
                });
                while (Global.Shared.Running)
                {
                    System.Threading.Thread.Sleep(1000);
                }
            });
            Console.WriteLine("Core - Starting thread for Trade Stream for : {0}", Pair);

            Task.Run(() =>
            {
                var trades = this.bclient.Socket.SubscribeToTradesStreamAsync(Pair, (data) =>
                {
                    if (!data.BuyerIsMaker)
                    {
                        BDataTradeSeller.Add(data);
                    }
                    else
                    {
                        BDataTradeBuyer.Add(data);
                    }
                });
                while (Global.Shared.Running)
                {
                    System.Threading.Thread.Sleep(100);
                }
            });
        }
Esempio n. 5
0
        public void UpdateData(BData bdata)
        {
            var tvCopyRight   = FindViewById <TextView>(Resource.Id.tvCopyRight);
            var tvDescription = FindViewById <TextView>(Resource.Id.tvDescription);
            var tvCalendar    = FindViewById <TextView>(Resource.Id.tvCalendar);
            var tvLocation    = FindViewById <TextView>(Resource.Id.tvLocation);
            var locIcon       = FindViewById <ImageView>(Resource.Id.ivLocation);

            tvCopyRight.Text   = bdata.Copyright;
            tvDescription.Text = bdata.Description;
            tvCalendar.Text    = bdata.Calendar.ToShortDateString();
            tvLocation.Text    = bdata.Location;

            locIcon.Visibility = ViewStates.Visible;
        }
Esempio n. 6
0
        public void SimpleSaveData()
        {
            var b1 = new BData();

            b1.A = new AData {
                I = 18
            };

            var assetManager1 = new AssetManager();
            var assetManager2 = new AssetManager();

            assetManager1.Save("test", b1);

            Assert.That(b1.A.Location, Is.Not.Null);

            var b2 = new BData();

            b2.A = new ContentReference <AData>(Guid.Empty, b1.A.Location);
            assetManager1.Save("test2", b2);

            var b3 = assetManager2.Load <BData>("test2");

            Assert.That(b3.A.Value.I, Is.EqualTo(b1.A.Value.I));
        }