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原型设计、实现框架选取的更多相关文章

  1. 移动APP开发使用什么样的原型设计工具比较合适?

    原型设计工具有Axure,Balsamiq Mockups,JustinMind,iClap原型工具,等其他原型工具.其中JustinMind比较适合APP开发使用. JustinMind可以输出Ht ...

  2. Android实战:手把手实现“捧腹网”APP(一)-----捧腹网网页分析、数据获取

    Android实战:手把手实现"捧腹网"APP(一)-–捧腹网网页分析.数据获取 Android实战:手把手实现"捧腹网"APP(二)-–捧腹APP原型设计.实 ...

  3. Android实战:手把手实现“捧腹网”APP(三)-----UI实现,逻辑实现

    Android实战:手把手实现"捧腹网"APP(一)-–捧腹网网页分析.数据获取 Android实战:手把手实现"捧腹网"APP(二)-–捧腹APP原型设计.实 ...

  4. 王家林的81门一站式云计算分布式大数据&移动互联网解决方案课程第14门课程:Android软硬整合设计与框架揭秘: HAL&Framework &Native Service &App&HTML5架构设计与实战开发

    掌握Android从底层开发到框架整合技术到上层App开发及HTML5的全部技术: 一次彻底的Android架构.思想和实战技术的洗礼: 彻底掌握Andorid HAL.Android Runtime ...

  5. Go语言之进阶篇爬捧腹网

    1.爬捧腹网 网页规律: https://www.pengfu.com/xiaohua_1.html   下一页 +1 https://www.pengfu.com/xiaohua_2.html 主页 ...

  6. python3制作捧腹网段子页爬虫

    0x01 春节闲着没事(是有多闲),就写了个简单的程序,来爬点笑话看,顺带记录下写程序的过程.第一次接触爬虫是看了这么一个帖子,一个逗逼,爬取煎蛋网上妹子的照片,简直不要太方便.于是乎就自己照猫画虎, ...

  7. Android项目实战(二十二):启动另一个APP or 重启本APP

    一.启动另一个APP 目前公司项目需求,一个主APP,需要打开某些小APP,这些小APP是整合了Unity的,但是还是android程序(所有小APP的包名是已知的). 以前没做过,查询了一下实现方法 ...

  8. 【Android 应用开发】Android 开发环境下载地址 -- 百度网盘 adt-bundle android-studio sdk adt 下载

    19af543b068bdb7f27787c2bc69aba7f Additional Download (32-, 64-bit) Package r10 STL debug info androi ...

  9. Android开发全套视频教程在线观看网盘下载

    千锋金牌讲师老罗老师简介: 国内第一批Android教学讲师,10多年软件开发经验,6年多教学经验,曾担任广东电信北京分公司移动事业部项目经理,主持过微软中国平台考试系统.山西省旅游局智能化平台等大型 ...

随机推荐

  1. VMWare下载安装以及创建虚拟机教程

    参考博客https://blog.csdn.net/qq_39135287/article/details/83993574 下载 1.打开官网https://www.vmware.com/cn.ht ...

  2. 2019-1-29-Roslyn-使用-WriteLinesToFile-解决参数过长无法传入

    title author date CreateTime categories Roslyn 使用 WriteLinesToFile 解决参数过长无法传入 lindexi 2019-01-29 16: ...

  3. Winform 分页

    1.图列展示 2.分页控件代码 Paging.Designer.cs partial class Paging { /// <summary> /// 必需的设计器变量. /// < ...

  4. Django项目:CRM(客户关系管理系统)--25--17PerfectCRM实现King_admin单列排序

    登陆密码设置参考 http://www.cnblogs.com/ujq3/p/8553784.html {#table_data_list.html#} {## ————————08PerfectCR ...

  5. bzoj 2662 [BeiJing wc2012]冻结——分层图

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2662 这种的都是分层图. #include<iostream> #include ...

  6. 没有ORM库的时候,通过PDO连接MySQL的方法

    $pdo = new PDO("mysql:host=localhost;dbname=eq","root","root"); $pdo-& ...

  7. 【maven】maven pom文件详解

    maven pom文件详解 最近配置maven中的pom文件,maven中有些属性不太清楚,在这里记录一下 <project xmlns="http://maven.apache.or ...

  8. Bootstrap启动(关闭)轮播

    $('.carousel').carousel(); //启动轮播 $('.carousel').carousel(‘pause’); //关闭轮播 $(‘.carousel’).carousel({ ...

  9. python邮件发送:普通文本、html、添加附件

    # -*- coding: utf-8 -*- # @Time : 2019/9/19 13:46 # @Author : HuangWenjun # @Email : 350920551@qq.co ...

  10. listview显示固定条数

    看了很多网上其他大神的,感觉还是在listview的adapter中的getCount中下手比较好点 毕竟计算高度等等,那会让辅助的布局会一团糟,例如下面的搜索历史只显示四条,布局中有横向listvi ...