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); }
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(); } }); }
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(); } } }
/// <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); } }); }
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; }
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)); }