Android实战:手把手实现“捧腹网”APP(二)-----捧腹APP原型设计、实现框架选取
Android实战:手把手实现“捧腹网”APP(一)—–捧腹网网页分析、数据获取
Android实战:手把手实现“捧腹网”APP(二)—–捧腹APP原型设计、实现框架选取
Android实战:手把手实现“捧腹网”APP(三)—–UI实现,逻辑实现
APP原型设计
在APP的开发过程中,原型设计是必不可少的。用户界面原型必须在先启阶段的初期或在精化阶段一开始建立。整个系统(包括它的“实际”用户界面)的分析、设计和实施必须在原型建立后进行。
如何设计“捧腹网”APP呢?我们先观察他的M站页面结构:
我们可以看出,M站其实类似一个APP,只不过它是运行在微信网页端。 我们可以把这个设计风格,照搬到APP的设计上来。当然需要做些修改,使它更符合APP的常规设计。
原型设计,我们通常采用Axure,有兴趣的可以学习如何使用该软件。(我也只是略会使而已)
下面给出我简单设计的原型图:
原型图中,我们可以看出来,APP其实很简单,一个底部的tab导航,加上一个列表展示就组成了这个简单的APP。 其中列表项,又分为纯文(段子)展示,图片(趣图)展示。
有了产品原型图之后,接下来,我们考虑采用哪些技术、选取哪些开源库,可以更有成效的来实现它。
第三方框架选取
框架的选取,一定是为了能帮助我们更方便的实现该APP才使用的。建议不要为了特意去使用某个技术才去用它,比如这里,我们只是实现一个简单的APP(一两天就可以搞定的),没有必要去考虑用mvp或者是mvvm架构,也没有必要去使用okhttp、retrofit、rxjava等当前比较流行的技术,我们只要封装一个简单的网络请求能够获取网页源码就好了。
当然,如果是为了特意利用新技术,做一个小项目练手,那你可以去使用这些架构、框架,在实战中学习技术,一向是可取的。 不过此处,我们不对架构、网络框架等做过多的介绍,之后,在下一个项目实战中,我也会带着大家边学习新技术,边做一个较为完整、强大的APP。
好,针对“捧腹”APP,我们可以用到哪些开源框架呢?
Butterknife 依赖注入框架,主要用于View组件获取、事件监听处理
官方介绍:
https://github.com/JakeWharton/butterknife/
http://jakewharton.github.io/butterknife/
Glide 一个专注于平滑滚动的图片加载和缓存库
官方介绍:
https://github.com/bumptech/glide
博客详解:
http://mrfu.me/tags/#Glide
Glide的特别之处,在于它还支持Gif的加载处理。因为我们的app中有很多gif图片需要显示,所以选择glide是相当合适的。
PhotoView 图片浏览缩放控件
官方介绍:
https://github.com/chrisbanes/PhotoView
博客详解:
http://blog.csdn.net/zuiwuyuan/article/details/49340465
原理解析:
http://gold.xitu.io/entry/575d0598128fe10060021bdf
我们的app中有很多的图片,作为用户,当然希望能够放大图片,看的更清楚,此时,PhotoView 可以很好的帮助我们实现该功能效果。
Bughd 实现崩溃分析、版本更新
官方介绍:
http://fir.im/
http://bughd.com/product/android
Fir.im是一个免费应用内测托管平台,通过该平台,我们可以把我们做好的app发布出去,供别人下载。app发布上线后,肯定会遇到各种问题,所以我们需要将错误日志收集起来,及时解决问题。 当然解决问题后,版本更新是必不可少的,这时候,我们就需要用到Bughd 啦。
本章小结:
本章主要介绍了两个内容,第一个,设计“捧腹”APP原型,有了原型图,我们能更直观、方便的分析出开发过程中需要用到哪些技术点。 第二个,选择第三方开源框架, 优秀的开源框架,可以帮助我们节省大量的开发时间,实现更多更强大的功能、效果,所以,选择合适的开源框架,会使我们的开发工作事半功倍。
关于“捧腹”APP的具体的实现,下面一章会继续详解。
如果你迫不及待的想看源码,请前往https://github.com/zuiwuyuan/Joke查看。谢谢大家的支持。
Android实战:手把手实现“捧腹网”APP(二)-----捧腹APP原型设计、实现框架选取的更多相关文章
- 移动APP开发使用什么样的原型设计工具比较合适?
原型设计工具有Axure,Balsamiq Mockups,JustinMind,iClap原型工具,等其他原型工具.其中JustinMind比较适合APP开发使用. JustinMind可以输出Ht ...
- Android实战:手把手实现“捧腹网”APP(一)-----捧腹网网页分析、数据获取
Android实战:手把手实现"捧腹网"APP(一)-–捧腹网网页分析.数据获取 Android实战:手把手实现"捧腹网"APP(二)-–捧腹APP原型设计.实 ...
- Android实战:手把手实现“捧腹网”APP(三)-----UI实现,逻辑实现
Android实战:手把手实现"捧腹网"APP(一)-–捧腹网网页分析.数据获取 Android实战:手把手实现"捧腹网"APP(二)-–捧腹APP原型设计.实 ...
- 王家林的81门一站式云计算分布式大数据&移动互联网解决方案课程第14门课程:Android软硬整合设计与框架揭秘: HAL&Framework &Native Service &App&HTML5架构设计与实战开发
掌握Android从底层开发到框架整合技术到上层App开发及HTML5的全部技术: 一次彻底的Android架构.思想和实战技术的洗礼: 彻底掌握Andorid HAL.Android Runtime ...
- Go语言之进阶篇爬捧腹网
1.爬捧腹网 网页规律: https://www.pengfu.com/xiaohua_1.html 下一页 +1 https://www.pengfu.com/xiaohua_2.html 主页 ...
- python3制作捧腹网段子页爬虫
0x01 春节闲着没事(是有多闲),就写了个简单的程序,来爬点笑话看,顺带记录下写程序的过程.第一次接触爬虫是看了这么一个帖子,一个逗逼,爬取煎蛋网上妹子的照片,简直不要太方便.于是乎就自己照猫画虎, ...
- Android项目实战(二十二):启动另一个APP or 重启本APP
一.启动另一个APP 目前公司项目需求,一个主APP,需要打开某些小APP,这些小APP是整合了Unity的,但是还是android程序(所有小APP的包名是已知的). 以前没做过,查询了一下实现方法 ...
- 【Android 应用开发】Android 开发环境下载地址 -- 百度网盘 adt-bundle android-studio sdk adt 下载
19af543b068bdb7f27787c2bc69aba7f Additional Download (32-, 64-bit) Package r10 STL debug info androi ...
- Android开发全套视频教程在线观看网盘下载
千锋金牌讲师老罗老师简介: 国内第一批Android教学讲师,10多年软件开发经验,6年多教学经验,曾担任广东电信北京分公司移动事业部项目经理,主持过微软中国平台考试系统.山西省旅游局智能化平台等大型 ...
随机推荐
- Maven实战07_依赖
1:依赖声明 <project> ... <dependencies> <dependency> <groupId>...</groupId> ...
- JMETER的三个线程组
JMETER的三个线程组 Jmeter有三个线程组分类:Thread Group(线程组).setUp Thread Group.tearDown Thread Group,如下图所示: (1).th ...
- nodejs+express 初学(二)
开发首先要先选一个适合的IDE,经过上网查找最后还是决定用Webstorm,因为比较好用 1.我下载的版本是 2.然后就是新创建一个nodejs项目了 3.确定后就会在项目中生成新的项目,结构如下 目 ...
- Leetcode589.N-ary Tree Preorder TraversalN叉树的前序遍历
给定一个 N 叉树,返回其节点值的前序遍历. class Node { public: int val; vector<Node*> children; Node() {} Node(in ...
- 理解 Python 语言中的 defaultdict
众所周知,在Python中如果访问字典中不存在的键,会引发KeyError异常(JavaScript中如果对象中不存在某个属性,则返回undefined).但是有时候,字典中的每个键都存在默认值是非常 ...
- 微服务开源生态报告 No.10
「微服务开源生态报告」,汇集各个开源项目近期的社区动态,帮助开发者们更高效的了解到各开源项目的最新进展. 社区动态包括,但不限于:版本发布.人员动态.项目动态和规划.培训和活动. 非常欢迎国内其他微服 ...
- JS字符串的相关方法
1.字符方法 charAt()和charCodeAt(),都接收一个参数,charAt()返回的是给定位置的字符,charCodeAt()返回的是给定位置字符的字符编码.如: <script&g ...
- kindle电子书下载网站收藏
kindle推 http://readfree.me 鸠摩捜书 新浪爱问共享资料 我的小书屋 云海图书馆 书语者 36镇网站收藏夹
- spring cloud深入学习(三)-----服务消费
在上一篇博文中简单实现了eureka-server以及eureka-provider,后面会实现eureka-cosumer,现在针对eureka做进一步的详解. 微服务整体架构 文字再美也没有图片直 ...
- Mybatis 框架搭建实例
前言 MyBatis是一个优秀的持久层框架.原生的jdbc操作存在大量的重复性代码(如注册驱动,创建连接,创建statement,结果集检测等).框架的作用就是把这些繁琐的代码封装. MyBatis通 ...