博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android 照片墙
阅读量:6581 次
发布时间:2019-06-24

本文共 1167 字,大约阅读时间需要 3 分钟。

hot3.png

效果图

145033_9MJr_250247.jpg

 

项目说明

1. 适配

广告机的屏幕分辨率为 1920 * 1080,我在做项目的时候不可能实时的将APP刷上去Debug(因为广告机得有2吨重,而且开机就得半天...),所以这个项目得适配所有的屏幕。

各位请看效果图,图上一共有9个图块,可以用表格形式分成 5 * 3的形式 (5行3列)。

想要做到在 800 * 400 的手机上显示效果和 1920 * 1080 的一样,除了使用 LinearLayout 暂时没有想到其他的办法,因为它有一个设置权重的属性 Weight

如果不了解,请看  的详细介绍。

                        

这样,就做到了不管是在什么分辨率下面,都能分成 5 * 3的形式 , 9个图块,其中2个大的占了 2 * 2 ,其他7个都是是 1 * 1,请看下图标红部分

 150614_PZkP_250247.jpg

 

2. 前台效果

 需求是这样的,获取到图片数据后,将最新的图片插入到第一个格子,其他的图片向右边挤,等于说是在UI层上整体做一个无缝连接的右移动画,动画时间为2s,动画方向走的是Z字型。

                

效果图:

 151517_NbIz_250247.jpg

                        

3. 后台效果

后台负责从服务器获取轮询,获取最新的图片数据。

检查有没有最新的图片

- 没有,继续轮播当前缓存的图片

- 有,下载完毕,插入第一个模块及时显示

当然,还有一个问题就是,当图片太多时,缓存在内存中是否不合适,是否会导致OOM?

答案是肯定的,所以我在做的时候,就想到了解决方案,直接将图片下载之后存到SD卡上,只是在内存中缓存一个图片名称的List<String>

这个List的前八张图片将传到前台作为展示,所以我们要对这个List不断的操作

4. 开源库的使用

 153249_SRKm_250247.jpg

我做项目一直喜欢用 androidannotations,它可以通过注解快速开发应用,而且体积也很小,功能也够全面。详见

Ion是一个链式风格的网络框架,在我看来还有点小缺陷,即不能自己指定request method(get | post | delete),只能通过它的API调用来确定请求的method ,貌似现在只支持 Get 和 Post,但在这个项目里使用,是完全足够用的,它基于androidasync,由于服务器传输的数据格式是基于JSON,Ion支持Gson,所以果断加上。详见

Otto相信用过的人不少了,Otto是由Square发布的一个着重于Android支持的基于Guava的强大的事件总线,在对应用程序不同部分进行解耦之后,仍然允许它们进行有效的沟通。这里我用它来做后台和前台之间的桥梁‍。详见

 

有了这些开源框架的支持以后,就能快速的进行开发了!

 

这里是Freestyletime@foxmail.com,欢迎交流。

本人原创作品,转载请标明出处。

转载于:https://my.oschina.net/freestyletime/blog/286963

你可能感兴趣的文章
《vSphere性能设计:性能密集场景下CPU、内存、存储及网络的最佳设计实践》一2.4.2 存储...
查看>>
《IP组播(第1卷)》一2.4 组的注册
查看>>
《软件定义网络:基于OpenFlow的SDN》一一1.3 SDN的基本构件
查看>>
机器人开源革命
查看>>
《Java EE 7精粹》—— 2.7 安全
查看>>
《AngularJS高级程序设计》——5.9 使用承诺
查看>>
如何在 Linux 下格式化 USB 设备
查看>>
OAuth 2.0系列教程(六) 端点
查看>>
《jQuery Mobile入门经典》—— 第 2 章 使用HTML、CSS和JavaScript
查看>>
《JUnit实战(第2版)》—— 1.7 小结
查看>>
Ceph分布式存储实战导读
查看>>
戏(细)说Executor框架线程池任务执行全过程(上)
查看>>
《DB2性能管理与实战》——2.5 缓冲池管理
查看>>
IPv6 互联网中的隐私保护和网络管理器
查看>>
《Nmap渗透测试指南》—第6章6.1节关于防火墙/IDS
查看>>
ASM 翻译系列第五弹:高级知识 ASM 元数据概述
查看>>
《JavaScript专家编程》——第9章 代码质量 9.1 定义代码质量
查看>>
Maven实战. 2.1在Windows上安装Maven
查看>>
《信息物理融合系统(CPS)设计、建模与仿真——基于 Ptolemy II 平台》——3.2 动态数据流...
查看>>
Java中的IO浅析(一)
查看>>