zoukankan      html  css  js  c++  java
  • Windows Phone 8.1之应用设置存储的简单应用

    应用设置存储主要分为本地存储和漫游存储两种方式。本地存储的指将应用的设置信息存储在本地存储空间中,而漫游存储则是指将应用的设置信息存储在网络服务器中。相对于本地存储而言,漫游存储支持多台设备之间的应用设置同步,更加灵活也更加方便。关于应用设置存储的更多知识可以通过msdn或者相关书籍来了解,这次介绍的内容为简单的本地存储方式的应用。(本人还是在大学摸索的渣渣,大神勿喷!!!)

    首先是利用应用存储设置来判断应用是否第一次启动:

    在App.xaml.cs文件的OnLaunched方法中对代码做如下更改:

                    rootFrame.ContentTransitions = null;
                    rootFrame.Navigated += this.RootFrame_FirstNavigated;
    
                    ApplicationDataContainer settings = Windows.Storage.ApplicationData.Current.LocalSettings;//获取本地应用设置容器
                    //判断settings容器里面有没有"First"这个键
                   if (!settings.Values.ContainsKey("First"))
                    { //应用首次启动,必定不会含"First"这个键,让应用导航到GuidePage这个页面,GuidePage这个页面就是对应用的介绍啦
                        rootFrame.Navigate(typeof(GuidePage));
                       //在settings容器里面写入"First"这个键值对,应用再次启动时,就不会在导航到介绍页面了。
                       settings.Values["First"] = "yes";
                    }
                    else
                    {
                       //应用不是第一次启动时,直接导航到MainPage
                        if (!rootFrame.Navigate(typeof(MainPage), e.Arguments))
                        {
                            throw new Exception("Failed to create initial page");
                        }
                    }
                }
                // 确保当前窗口处于活动状态
                Window.Current.Activate();

    开发应用的时候,我们也可以把GuidePage的内容设置成应用的”帮助“部分,用户点击”帮助“直接导航至GuidePage。。这样就是一举两得了。
    如果嫌整一个页面麻烦,我们也可以在第一次导航至MainPage的时候弹出一个对话框,什么的啦,方法与这类似了。

    还有就是利用应用存储设置实现更换应用的主题:

    这个小Demo只有两个页面(MainPage和ThemePage),然后我就把一些东西都放在OnNavigatedTo方法里面了,那就在实际开发的时候调整一下啦。

    然后所谓的主题其实就是几张图片,不过真正的更换主题应该和这个大同小异吧。

    ThemePage.cs:

          private void back1_Tap(object sender, TappedRoutedEventArgs e)
            {  //主题1

                 //将ThemePage页面的主题设置为图片back1,并将图片路径存入settings容器,方便后面读取。
                img.ImageSource= new BitmapImage(new Uri("ms-appx:///Assets/back1.jpg"));
                this.Background = img;
                settings.Values["theme"] = "ms-appx:///Assets/back1.jpg";
            }
            private void back2_Tap(object sender, TappedRoutedEventArgs e)
            {
                img.ImageSource = new BitmapImage(new Uri("ms-appx:///Assets/back2.jpg"));
                this.Background = img;
                settings.Values["theme"] = "ms-appx:///Assets/back2.jpg";
            }

    MainPage.cs:

     protected override void OnNavigatedTo(NavigationEventArgs e)
            {
                if (settings.Values.ContainsKey("theme"))
                {//如果settings里面有theme这个键,就取出它的值,值为已保存的图片路径。
                    string str = settings.Values["theme"].ToString();
                    imgb.ImageSource = new BitmapImage(new Uri(str));
                    this.Background = imgb;
                }      
            }


    这就是应用设置存储的两个简单小应用啦。。。写完了的确感觉太基础。。。。我是渣渣,我是渣渣...........晚安啦!

  • 相关阅读:
    restframwork框架
    restful规范
    python_微信 跳一跳
    项目经历1
    python3.6+GDAL-2.1.3环境配置
    OpenCV&&python_图像平滑(Smoothing Images)
    opencv python3.6安装和测试
    python_机器学习—sklearn_win_64-3.6安装&&测试
    python安装 numpy&安装matplotlib& scipy
    自动出题判分——c#学习实践
  • 原文地址:https://www.cnblogs.com/czhwust/p/4361532.html
Copyright © 2011-2022 走看看