Android -- 每日一问:如何设计一个照片上传 app ?
创始人
2024-04-30 10:55:29

在这里插入图片描述

经典回答

把自己放在一个面试官的角度,自己先实现一次这个 App ,然后自己总结一下你在这次实现中需要哪些能力、需要注意哪些事项。最后,再回过头来看,如果你是面试官,你希望面试者怎么回答才算是符合你的标准的?

实现案例
说一下我的思路。先把需求整理一下,“如何设计一个照片上传的 App”,虽然题目只有简单的一句话,但我们要将它细化一下来看。

即然能上传,那就一定能浏览对吧,不然不太好确定上传成功以否(弹出上传成功的提示,而没有跳到浏览的界面,显然是不太友好且也不符合用户的习惯)。

即然能浏览,那就要有一个列表或网格(如Gallery)的样式进行,那么需要一些滑动之类的动画效果。那么为了配得起这些效果,界面的UI设计就不能太糟糕吧?

即然有列表了,那么就得有专门查看一张图片详情的界面。

我们把这些主要的需求罗列一下:

  • 可以浏览用户已经上传到服务器的图片;
  • 可以查看某张图片的详情;
  • 选择和编辑要上传的图片;(从本地或者摄像头获取图片)
  • 工作线程上传一张图片到服务器;

陷性的需求:

  • 框架的设计:UI和逻辑的分层设计,错误处理机制 (这点其实很重要)
  • 性能要求:列表要滑动顺畅,不会出现OOM
  • 应对需求变代的可扩展性:是否需要加入用户登录和注册?每张图片是否可以点赞或者添加评论?是否要加上保存和收藏图片功能?

相关的模块和涉及的技术点:

  • Retrofit做网络请求和解析(Gson);
  • Http文件上传的协义;
  • 图片浏览的性能优化或者遇到的问题:如图片库的加载和ListView的展示配合,RecyclerView瀑布流展示页面跳动等问题;
  • 框架的设计:UI和逻辑的分离问题;
  • 无网或网络异常时的处理;

你的朋友是不是也在准备面试呢?你可以把今天的题目分享给好友,或许你可以帮到他。

相关内容

热门资讯

白银期货涨超6.9%,一度刷新... 格隆汇1月13日|周一(1月12日)纽约尾盘,现货白银涨6.30%,报84.8943美元/盎司,亚太...
药明康德出售资产赚了近56亿,... 【#药明康德出售资产赚了近56亿#,#药明康德第3次上调去年营收预期#】1月12日傍晚,药明康德(6...
去年北京亦庄小微企业贷款贴息力... (来源:千龙网)近日,北京经开区介绍,2025年,北京经开区小微企业贷款贴息政策累计兑现总额8436...
委内政部长:重开委美使馆旨在保... 转自:新华网新华社加拉加斯1月12日电 委内瑞拉内政部长卡韦略12日表示,推动委内瑞拉与美国重新开放...
给知心少年读后感 给知心少年读...   《给知心少年》读后感    人生不像梦,因为它太真实;人生不像酒,因为它太无味,人生不像棋,因为...