public void loadLocalVideoData() { //加载正在下载视频数据 string loadingVideos = WpStorage.ReadIsolatedStorageFile(downingVideosIso); if (!string.IsNullOrEmpty(loadingVideos)) { DowningVideo = JsonConvert.DeserializeObject <ObservableCollection <DownVideoInfoViewMoel> >(loadingVideos); foreach (DownVideoInfoViewMoel video in DowningVideo) { DowningVideoids.Add(video.VideoId); } } else { DowningVideo = null; } //加载完成下载视频数据 string loadedVideos = WpStorage.ReadIsolatedStorageFile(downedVideosIso); if (!string.IsNullOrEmpty(loadedVideos)) { DownedVideo = JsonConvert.DeserializeObject <ObservableCollection <DownVideoInfoViewMoel> >(loadedVideos); foreach (DownVideoInfoViewMoel video in DownedVideo) { DownedVideoids.Add(video.VideoId); } } else { DownedVideo = null; } }
//private string rememberVideoSavePath { get { return "RememberVideos\\"; } } public void loadRememberVideoData() { //加载最近观看视频数据 string lastVideos = WpStorage.ReadIsolatedStorageFile(lastVideosRememberIso); if (!string.IsNullOrEmpty(lastVideos)) { LastVideoRemember = JsonConvert.DeserializeObject <ObservableCollection <DownVideoInfoViewMoel> >(lastVideos); } else { LastVideoRemember = null; } //加载所有视频记录 string allVideos = WpStorage.ReadIsolatedStorageFile(VideosRememberIso); if (!string.IsNullOrEmpty(allVideos)) { RememberVideos = JsonConvert.DeserializeObject <ObservableCollection <DownVideoInfoViewMoel> >(allVideos); } else { RememberVideos = null; } }
public void LoadChannels() { string strFileContent = string.Empty; if (!CommonData.ChannelLoaded) { if (WpStorage.isoFile.FileExists(CommonData.ChannelStorage)) { strFileContent = WpStorage.ReadIsolatedStorageFile(CommonData.ChannelStorage); } else { using (Stream stream = Application.GetResourceStream(new Uri("channels.txt", UriKind.Relative)).Stream) { using (StreamReader reader = new StreamReader(stream)) { strFileContent = reader.ReadToEnd(); } } } AllChannelsData channels = JsonConvert.DeserializeObject <AllChannelsData>(strFileContent); CommonData.LockedChannel = channels.lockedChannel; CommonData.NormalChannel = channels.normalChannel; } this.AllChannels.AddRange(CommonData.LockedChannel); this.AllChannels.AddRange(CommonData.NormalChannel); }
private void checkVersion() { bool isNeedClean = false; if (WpStorage.GetIsoSetting("Version") != null) { string version = WpStorage.GetIsoSetting("Version").ToString(); if (version != DeviceUtil.GetAppVersion()) { isNeedClean = true; WpStorage.SetIsoSetting("Version", DeviceUtil.GetAppVersion()); } } else { if (IsolatedStorageSettings.ApplicationSettings.Count > 0 || WpStorage.isoFile.DirectoryExists(CommonData.IsoRootPath)) { isNeedClean = true; } WpStorage.SetIsoSetting("Version", DeviceUtil.GetAppVersion()); } if (isNeedClean) { if (MessageBox.Show("检测到版本更新,为避免数据冲突建议清除本地缓存,是否清除缓存?", "", MessageBoxButton.OKCancel) == MessageBoxResult.OK) { WpStorage.DeleteDirectory(CommonData.IsoRootPath); IsolatedStorageSettings.ApplicationSettings.Clear(); WpStorage.SetIsoSetting("Version", DeviceUtil.GetAppVersion()); } } App.BeginApp(); }
public void BeginDownVideos() { //PhoneApplicationService.Current.ApplicationIdleDetectionMode = IdleDetectionMode.Disabled; if (CommonData.NetworkStatus != "WiFi" || isDownding || DowningVideo.Count == 0) { return; } isDownding = true; currentDownVideo = DowningVideo[0]; System.Diagnostics.Debug.WriteLine("视频地址:" + currentDownVideo.DownUrl); HttpHelper.httpGet(currentDownVideo.DownUrl, (ar) => { string result = HttpHelper.SyncResultTostring(ar); if (result != null) { ResourceInfo videosResult = null; try { videosResult = JsonConvert.DeserializeObject <ResourceInfo>(result); } catch (Exception ex) { System.Diagnostics.Debug.WriteLine("LoadChannelCompleted json 解析错误" + ex.Message); App.JsonError(result); } if (videosResult != null && videosResult.status == "ok" && videosResult.info != null) { CallbackManager.currentPage.Dispatcher.BeginInvoke(() => { currentDownVideo.IsLoading = true; currentDownVideo.IsLoadError = false; HttpHelper.httpGet(currentDownVideo.Image, (imageAr) => { byte[] imgdata = HttpHelper.SyncResultToByte(imageAr); if (imgdata != null) { string imageType = currentDownVideo.Image.Remove(0, currentDownVideo.Image.Length - 4); WpStorage.SaveFilesToIsoStore(CommonData.videoSavePath + currentDownVideo.VideoId.ToString() + imageType, imgdata); currentDownVideo.LocalImage = CommonData.videoSavePath + currentDownVideo.VideoId.ToString() + imageType; } }); DownloadFile(videosResult.info); }); } } else { //todo } }); }
public void AddRememberVideo(VideoInfo videoInfo) { DownVideoInfoViewMoel video = new DownVideoInfoViewMoel(); video.Name = videoInfo.name; video.Image = videoInfo.image; video.VideoId = videoInfo.videoId; HttpHelper.httpGet(video.Image, (imageAr) => { byte[] imgdata = HttpHelper.SyncResultToByte(imageAr); if (imgdata != null) { string imageType = video.Image.Remove(0, video.Image.Length - 4); WpStorage.SaveFilesToIsoStore(CommonData.rememberVideoSavePath + video.VideoId.ToString() + imageType, imgdata); video.LocalImage = CommonData.rememberVideoSavePath + video.VideoId.ToString() + imageType; } CallbackManager.currentPage.Dispatcher.BeginInvoke(() => { //检查记录是否相同 相同则删除相同项 for (int i = 0; i < RememberVideos.Count; i++) { if (RememberVideos[i].VideoId == video.VideoId) { RememberVideos.RemoveAt(i); break; } } if (RememberVideos.Count > 20) { RememberVideos.RemoveAt(0); } RememberVideos.Add(video); //检查最近记录是否相同 相同则删除相同项 for (int i = 0; i < LastVideoRemember.Count; i++) { if (LastVideoRemember[i].VideoId == video.VideoId) { LastVideoRemember.RemoveAt(i); break; } } if (LastVideoRemember.Count > 1) { LastVideoRemember.RemoveAt(0); } LastVideoRemember.Add(video); SaveRememberVideoData(); }); }); }
private void DeleteAllIcon_Click(object sender, EventArgs e) { if (pvoitIndex == 0) { if (MessageBox.Show("确定要删除所有正在缓存的剧集吗?", "", MessageBoxButton.OKCancel) == MessageBoxResult.OK) { App.DownVideoModel.StopGetVideoData(); foreach (DownVideoInfoViewMoel Video in App.DownVideoModel.DowningVideo) { if (Video.LocalImage != null) { if (WpStorage.isoFile.FileExists(Video.LocalImage)) { WpStorage.isoFile.DeleteFile(Video.LocalImage); } } if (WpStorage.isoFile.FileExists(CommonData.videoSavePath + Video.VideoId.ToString() + ".mp4")) { WpStorage.isoFile.DeleteFile(CommonData.videoSavePath + Video.VideoId.ToString() + ".mp4"); } } App.DownVideoModel.DowningVideo = null; App.DownVideoModel.DowningVideoids = null; App.DownVideoModel.SaveVideoData(); LoadEditIcon(); } } else if (pvoitIndex == 1) { if (MessageBox.Show("确定要删除所有已经缓存的剧集吗?", "", MessageBoxButton.OKCancel) == MessageBoxResult.OK) { App.DownVideoModel.DownedVideo = null; App.DownVideoModel.DownedVideoids = null; WpStorage.DeleteDirectory(CommonData.videoSavePath); App.DownVideoModel.SaveVideoData(); LoadEditIcon(); #if DEBUG long memory = DeviceStatus.ApplicationCurrentMemoryUsage / (1024 * 1024); long memoryLimit = DeviceStatus.ApplicationMemoryUsageLimit / (1024 * 1024); long memoryMax = DeviceStatus.ApplicationPeakMemoryUsage / (1024 * 1024); System.Diagnostics.Debug.WriteLine("当前内存使用情况:" + memory.ToString() + " MB 当前最大内存使用情况: " + memoryMax.ToString() + "MB 当前可分配最大内存: " + memoryLimit.ToString() + " MB"); #endif } } }
public void SaveRememberVideoData() { string lastVideoidData = null; if (LastVideoRemember != null && LastVideoRemember.Count > 0) { //把hashset表反序列化为字符串 存入独立存储 lastVideoidData = JsonConvert.SerializeObject(LastVideoRemember); } WpStorage.SaveStringToIsoStore(lastVideosRememberIso, lastVideoidData); string allReVideoidData = null; if (RememberVideos != null && RememberVideos.Count > 0) { //把hashset表反序列化为字符串 存入独立存储 allReVideoidData = JsonConvert.SerializeObject(RememberVideos); } WpStorage.SaveStringToIsoStore(VideosRememberIso, allReVideoidData); App.DownVideoModel.UpdateIsoSize(); }
public void SaveVideoData() { string downingVideosData = null; if (DowningVideo != null && DowningVideo.Count > 0) { //把正在下载的列表反序列化为字符串 存入独立存储 downingVideosData = JsonConvert.SerializeObject(DowningVideo); } WpStorage.SaveStringToIsoStore(downingVideosIso, downingVideosData); string downedVideosData = null; if (DownedVideo != null && DownedVideo.Count > 0) { //把已经下载的列表反序列化为字符串 存入独立存储 downedVideosData = JsonConvert.SerializeObject(DownedVideo); } WpStorage.SaveStringToIsoStore(downedVideosIso, downedVideosData); UpdateIsoSize(); }