Android网络下载小结

本文探讨了移动端应用如何高效地与服务器交互数据,包括使用HTTP Post和WebService的方式,并讨论了不同场景下数据同步的方法,如直接数据库保存、Activity生命周期利用、后台Service定时检查更新等方案及其优缺点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

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

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

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

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

   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值