Android--使用Http向服务器发送请求并取得返回结果,下载图片

由于最近在做的一个游戏项目有一个排行榜,

排行榜是一个列表,界面大致如下:

 

排名     人物名称     头像图片     分数

排名     人物名称     头像图片     分数

排名     人物名称     头像图片     分数

排名     人物名称     头像图片     分数

排名     人物名称     头像图片     分数

排名     人物名称     头像图片     分数

 

排行     人物名称     头像图片     分数

 

列表中有100条数据,列表下面有一个

控件显示游戏玩家自己的排名信息

 

需求如下:

每次进入排行榜界面,则将游戏玩家的

人物名称和分数提交到服务端,服务端

接收请求后对数据库中的数据进行排序,

取得前100名的数据,还有一条游戏玩家

的数据,总共101条数据,由于客户端

还需要下载头像图片,所以返回的数据

还有头像图片的下载地址,服务端将所有

的数据包装成一个Json数据返回给客户端

大致格式如下:

 

{"rank":
[
{"person":"\u66f9\u64cd","index":1,"score":35852},
{"person":"\u66f9\u64cd","index":2,"score":32563},
{"person":"\u5b59\u6743","index":3,"score":10000},
{"person":"\u5218\u5907","index":4,"score":9638},
{"person":"\u5218\u5907","index":5,"score":8888},
{"person":"\u5b59\u6743","index":6,"score":8886},
{"person":"\u5218\u5907","index":7,"score":7865},
{"person":"\u5218\u5907","index":8,"score":6950},
{"person":"\u5218\u5907","index":9,"score":6548},
{"person":"\u5218\u5907","index":10,"score":6540},
{"person":"\u66f9\u64cd","index":11,"score":5288}
],


"base":"(服务端地址)",

"head":
[
{"person":"\u66f9\u64cd","filename":"\/caocao\/20130718185726036.png", "size":12343},

{"person":"\u5b59\u6743","filename":"\/sunqun\/20130718185726046.png", "size":12343},

{"person":"\u5218\u5907","filename":"\/liubei\/20130718185726056.png", "size":12343}
]
}

 


rank的每个对象包括:人物名称,排名,分数

head的每个对象包括:人物名称,头像图片名称

base为服务端地址

 

大致流程如下:

1.进入排行榜界面,将游戏玩家的数据发送到服务端

2.取得服务端返回的Json数据,解析出rank数组,head数组和base字符串

3.使用头像图片路径下载头像图片到本地

4.新建一个ResultMessage类,属性包括:排名,人物名称,本地头像图片地址,分数

5.在解析rank数组时实例化ResultMessage,添加到List中并返回出去

 

主要有三个类:LoadImage.java,ResultMessage.java,Upload.java

 

LoadImage.java用于下载头像图片,由于每次进入排行榜界面都会向

服务端发送请求,每次都会返回头像图片的下载地址,所以需要

做下判断本地是否已经有此图片存在,还有就是判断图片大小是否

正确,因为会有这样一种情况,在下载图片时突然网络断开,这时

头像图片没有下载完整,下次进入排行榜界面的时候又向服务端

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值