Android网络下载小结

    获取服务器端的数据,使用过两种方法: http post 和webservice。暂时没找到处理办法的是,根据发起请求捕获的异常给用户正确的提示,比如,捕获到SocketException,服务器问题会到这个异常,网络有问题也会到这个异常,该给用户什么提示呢?说到这里,应该是我自己的问题啦。

   下载流程,刚开始,是把下载的数据直接保存到数据库,然后当第二次调用数据的时候,就从数据库读取。问题是,服务器端有更新怎么办?解决方法是,添加一个更新按钮,当用户点击更新的时候,从服务器端重新下载数据。

   后来了解到Activity的生命周期,不是每次都会执行onCreate(),当界面被唤醒的时候,会执行onResume(),当时项目比较赶,直接把下载的操作放在onResume()方法中,这样每当到这个界面都会执行下载,这样看起来实时更新数据比较方便。出现的问题是,网络情况异常,频繁唤醒该界面时,会导致界面卡死。

  然后做了个消息通知,在后台开个service,每隔一定时间去服务器读取数据,当服务器获取的数据和本地数据不一样的时候,进行提醒。这也存在一个问题,本地数据存在哪里?以什么为准,因为本地有多处需要处理数据。从网络上了解到一级缓存和二级缓存,有时间打算学习一下。

  消息通知勉强实现功能,又想到onActivityResult(),根据上一级activity对数据的处理返回响应的值,下一级根据这个返回值判断是否更新数据。

   

你可能感兴趣的:(android,Activity)