囧囧笑话集V2.0开发笔记(2015-01-18)

1.图片分为缩略图和大图,缩略图在获取笑话时从web服务器端同步下载,保存在data路径下;当点击缩略图时,用WebView展示网络图片。

2.PHP端的Web服务器获取图片列表的接口,返回值可以是一个json串,里面是{图片名:图片二进制串};由于二进制串在保存为JSON时会出错,可以考虑用BASE64编码后再进行json_encode。

3.JAVA端从Web服务器端获取到图片列表,先进行Base64解码,得到的byte[],直接以byte的形式写入,而不要转成string写入;转为string会破坏图片

如下是写入代码,我把它放在一个单独的FileUtil文件中,包括文件的读写操作。

public void saveImg(Context ctx,String imgname,byte[] imgcontent){
		FileOutputStream out = null;
		DataOutputStream writer = null;
		try{
			out = ctx.openFileOutput(imgname,Context.MODE_PRIVATE);
			writer = new DataOutputStream(out);
			writer.write(imgcontent);
			writer.flush();
		}catch(Exception ex){
			ex.printStackTrace();
		}finally{
			if(writer != null){
				try {
					writer.close();
				} catch (IOException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			}
			if(out != null){
				try {
					out.close();
				} catch (IOException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			}
		}
	}

4.客户端不用考虑图片是否下载成功,只需要在展示每一条笑话时,同时判断是否有图片&&图片文件是否存在,再此条件下为真时,方将ImageView显示出来,并展示对应图片。

5.Adapter记录positon时不要用全局变量,因为那样会不准(永远是1);用一个final型的变量专门存储postion,再传入相应的事件方法即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值