• WP8.1 Runtime应用利用HttpClient初始化数据的一些考虑


    刚开始做WP Universal App,首页是一个登录页面,根据登录人的LoginID去从服务器端请求数据,并且保存到本地数据(Sqlite)。本来想的很简单,但是在开发过程中还是有一些麻烦。我的方案不是最好的,欢迎大家批评。

    1. 数据量大,请求时间较长,影响用户体验

      登录的时候要调用7、8个接口去请求数据,有的接口数据量很大,点击“登录”按钮后造成页面假死的状态。

     解决方案:给用户展示数据请求状态,进行友好提示。在登录页面放置一个全屏的Grid,背景色设置成黑色,并且设置透明度,然后Grid里放置一个TextBlock,text绑定一个实现了INotifyPropertyChanged接口的类的一个属性(比如说Progress类的Content属性)。点击“登录”后,这个Grid覆盖整个页面,并且显示当前正在请求什么数据。有时候我们请求接口会是一个单独的Class,比如说DataAccess类,在主页面去调用这个类,那么就需要在DataAccess类的构造函数中把页面传进来,在请求接口方法中对页面的Progress实例的Content属性负值,即当前请求接口的状态。这样就实现了友好的用户提示。

    2. 要验证用户信息通过之后才能调用其它接口,但是HttpClient为异步操作,并不会顺序执行接口。

    解决方案:在调用方法的时候写成嵌套式的,即在第一个方法中调用第二个方法,在第二个方法中调用第三个方法,依次类推,这样方法会顺序执行。

  • 相关阅读:
    Thread--使用condition实现顺序执行
    Thread--condition
    Thread--lock,lockInterruptibly,tryLock,tryLock(long timeout, TimeUnit unit)
    Thread--线程间通信--管道
    Thread--生产者消费者假死分析
    Thread--生产者消费者
    Java--定时
    Thread--两线程交替打印
    重装系统都杀不掉的十大病毒
    常用工具
  • 原文地址:https://www.cnblogs.com/aimi/p/4205993.html
Copyright © 2020-2023  润新知