async Task checkSqliteState() { if (sqliteManager.ItemCount() != SaveUserData.userBadge && SaveUserData.userBadge != 0) { var list = (await getAnnounData(OrderChild.key.ToString(), "", OrderChild.key, SaveUserData.userBadge)).ToList(); sqliteManager.Insert(list); } }
void HandleNotificationOpened(Com.OneSignal.Abstractions.OSNotificationOpenedResult result) { if (string.IsNullOrEmpty(SaveUserData.userKey)) { MainPage = new LoginPage(); } else { //uygulama kapalıyken kısım try { data = result.notification.payload.additionalData["key"].ToString(); category = Convert.ToInt32(result.notification.payload.additionalData["type"].ToString()); SaveUserData.userBadge += 1; sqliteConnection.Insert(data); //SaveUserData.userBadge -= 1; switch (category) { case (int)PushCategory.activities: MessagingCenter.Send <App, string>(this, MCenter.dataActivity.ToString(), data); break; case (int)PushCategory.announcements: MessagingCenter.Send <App, string>(this, MCenter.dataNotify.ToString(), data); break; case (int)PushCategory.survey: Current.MainPage.Navigation.PushModalAsync(new NavigationPage(new SurveyPage())); MessagingCenter.Send <App, string>(this, MCenter.dataSurvey.ToString(), data); break; case (int)PushCategory.user_interaction: Current.MainPage.Navigation.PushModalAsync(new NavigationPage(new EventPage())); MessagingCenter.Send <App, string>(this, MCenter.dataUserInteraction.ToString(), data); break; case (int)PushCategory.multiple_choice: Current.MainPage.Navigation.PushModalAsync(new NavigationPage(new EventPage())); MessagingCenter.Send <App, string>(this, MCenter.dataMultipleChoice.ToString(), data); break; } } catch (System.Exception ex) { Debug.Write("Push data error ! " + ex.Message); } } }
protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); SetContentView(Resource.Layout.AddLayout); Button add = FindViewById <Button>(Resource.Id.add_btn_add); EditText name = FindViewById <EditText>(Resource.Id.add_edit_name); EditText sex = FindViewById <EditText>(Resource.Id.add_edit_sex); EditText age = FindViewById <EditText>(Resource.Id.add_edit_age); add.Click += (s, e) => { SqliteManager <Person> sqlite = new SqliteManager <Person>(); sqlite.Insert(new Person { Name = name.Text, Sex = sex.Text, Age = Convert.ToInt32(age.Text) }); }; }
/// <summary> /// 新增歌曲資訊至 BeatmapList /// </summary> /// <param name="packageName">歌曲包名稱</param> /// <param name="osuFilePath">.osu檔路徑</param> public static int InsertBeatmap(string packageName, string osuFilePath) { var beatmap = new BeatmapSimple(osuFilePath); if (beatmap.General.Mode != 3 || beatmap.Difficulty.CircleSize != 4) { return(0); } using (var songList = new SqliteManager(Application.streamingAssetsPath, "GameData.db") { Table = "BeatmapList" }) { using (var dr = songList.Select($"BeatmapID = {beatmap.Metadata.BeatmapID}", "BeatmapID")) { if (!dr.HasRows) { // MP3 轉 WAV if (Path.GetExtension(beatmap.General.AudioFilename) == ".mp3") { var src = Path.Combine(Application.streamingAssetsPath, "Songs", packageName, beatmap.General.AudioFilename); var dst = Path.ChangeExtension(src, ".wav"); beatmap.General.AudioFilename = Path.ChangeExtension(beatmap.General.AudioFilename, ".wav"); // 如果該素材尚未轉檔,轉換之 if (!File.Exists(dst)) { NAudioPlayer.ConvertMp3ToWav(src); // 刪除原始檔 File.Delete(src); } } // 新增至資料庫 songList.Insert( beatmap.Metadata.BeatmapID, beatmap.Metadata.BeatmapSetID, beatmap.Metadata.Title, beatmap.Metadata.TitleUnicode, beatmap.Metadata.Artist, beatmap.Metadata.ArtistUnicode, beatmap.Metadata.Creator, beatmap.Metadata.Version, packageName, beatmap.Events.Filename, beatmap.General.AudioFilename, Path.GetFileName(osuFilePath) ); // 新增至圖譜清單 BeatmapTileList.BeatmapTileDatas.Add(new BeatmapTileData( beatmap.Metadata.BeatmapID, beatmap.Metadata.BeatmapSetID, beatmap.Metadata.Title, beatmap.Metadata.TitleUnicode, beatmap.Metadata.Artist, beatmap.Metadata.ArtistUnicode, beatmap.Metadata.Creator, beatmap.Metadata.Version, packageName, beatmap.Events.Filename, beatmap.General.AudioFilename, Path.GetFileName(osuFilePath) )); return(1); } } return(0); } }
private async void ShowScanDialog() { View view = View.Inflate(this, Resource.Layout.Scan, null); TextView ScaningDetail = view.FindViewById <TextView>(Resource.Id.ScaningDetail); AlertDialog.Builder alertDialog = new AlertDialog.Builder(this); alertDialog.SetView(view) .SetCancelable(false) .Create(); AlertDialog show = alertDialog.Show(); var token = scanCTS.Token; Task t1 = Task.Run(() => { try { NetworkManager.GetNetworkIpAndMask(out IPAddress ip, out IPAddress sub); var networkAddress = NetworkManager.CalNetworkAddress(ip, sub).ToString(); networkAddress = networkAddress.Substring(0, networkAddress.Length - 1); for (int i = 2; i <= 254; i = i + 1) { string addr = $"{networkAddress}{i}"; UdpClient udp = new UdpClient(addr, 23452); udp.Send(new byte[] { 0 }, 1); ScaningDetail.Text = addr; } } catch (Exception) { } }, token); await t1; TaskScheduler csc = TaskScheduler.FromCurrentSynchronizationContext(); await t1.ContinueWith((t) => { var raw = NetworkManager.GetClientMac(); foreach (var item in raw) { DeviceInfo device = new DeviceInfo { Name = item[0], MacAddress = item[1], IpAddress = item[0], BroadcastAddress = NetworkManager.CalBroadcast(IPAddress.Parse(item[0]), NetworkManager.CalSubnetMask(IPAddress.Parse(item[0]))).ToString(), Port = 7, SendingCount = 1, }; bool isEqual = false; foreach (var d in data) { if (d.IpAddress == device.IpAddress) { isEqual = true; } } if (!isEqual) { sqlite.Insert(device); } } data = sqlite.QueryAll(); adapter = new DeviceListAdapter(this, Resource.Layout.device_list_item, data); DeviceList.Adapter = adapter; if (data.Count != 0) { DeviceList.Visibility = ViewStates.Visible; Tips.Visibility = ViewStates.Gone; } show.Dismiss(); }, token, TaskContinuationOptions.AttachedToParent, csc); }