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为异步操作,并不会顺序执行接口。
解决方案:在调用方法的时候写成嵌套式的,即在第一个方法中调用第二个方法,在第二个方法中调用第三个方法,依次类推,这样方法会顺序执行。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。