Android工作两年之后的第一个App--天真无谐
一、前言
好长时间没写blog了,主要还是工作上的事有点多,周末又得在家开发自己的app,所以时间真的不够用了,当然今天这篇文章主要就要说一下,工作两年的我如何从产品角度去做一个app,以及app的发布流程等。
二、支持我
在开始讲解这个项目之前,希望能够先去各大市场下载一个apk看看,首先是为了支持我一下,其次呢就是我在后面会介绍一些功能和技术实现,所以先使用一下,这样会找到对应的功能点,谢谢
二维码扫描下载:
1、豌豆荚市场:搜索:天真无谐
PC上的链接:http://www.wandoujia.com/apps/com.wjdiankong.happymahua
2、应用宝市场,搜索:天真无谐
PC端链接:http://sj.qq.com/myapp/detail.htm?apkName=com.wjdiankong.happymahua
3、百度手机助手,搜索:天真无谐
4、360手机助手,搜索:天真无谐
5、Google Play Store市场,搜索:天真无谐
PC端链接:https://play.google.com/store/apps/details?id=com.wjdiankong.happymahua_gp
三、项目背景
首 先介绍一下自己的项目吧,这个项目叫做:天真无谐,主要是展现一些笑话类的资讯(包括段子,图片,Gif),类似于糗事百科那样的app,这个项目的启动 时间是2015年02.14,也就是情人节那天,所以到现在正式上线差不多6个月了,都是周末在家弄的,所以算起来大概用了1个多月的时间。当时也没想说 做了这个app来赚钱啥的,就是当时感觉自己快工作两年了,应该有一个自己的app了,而且也是需要熟悉如何开发一个app,以及将其发布的流程。
四、项目介绍
再 来大体介绍一下技术实现吧:这个项目的Server端采用的是SSB框架,主要还是SpringMVC技术,感觉比Struts好用多了,方便快捷,本身 不是做Server端的,主要是大学毕业设计用到了Server端的技术,所以这里就在复习一下啦,数据库用的是MySql。
至于Client端,详细分析一下,因为是自己的项目,当时没有想到找小伙伴们合作弄,所以自己就身兼数职:产品狗,设计狮,程序猿,测试猫,运营猪等角色,下面就来详细介绍一下每个角色我是怎么扮演的,不过先来看一下app的功能和界面吧:
1、功能介绍
1)、应用的开启页面
这个页面内容就是:醒人每句
就是用户登录之后可以设计自己的最喜欢的座右铭:后台随机下发一个用户的语句用于每次用户的展示。
想法:能够提高用户的成就感,让用户感觉自己说的话可以被其他人看到。很开心
2)、首页
首页已经采用大众化的轮播切换的新闻样式,这里有六个Tab:
最新推荐:最新的搞笑图片+段子
段子手:在用户不是Wifi的情况下这个Tab会优先展示,他只有文本笑话,不会太消耗流量
搞笑:就是搞笑图片的Tab
清纯妹子:就是妹子图片(你们懂得)
性感美女:就是性感美女图片(你么也是懂得)
动态图:就是Gif搞笑的动态图(这个比较消耗流量,所以在Wifi的情况下会调节他的顺序)
所以后台会对这些Tab的展示顺序,展示开关做控制的
3)、详情页
详情页面就是可以进行评论内容,点赞啥的动作了,而且点击图片可以进行大图浏览
这个页面没什么好说的啦
4)、用户中心页面
这个页面就是用户中心,用户在这里可以编辑自己的信息,同时可以查看自己的历史行为动作
也是大众化的页面
5)、设置页面
这个页面也是大众化的页面,可以设置一些属性等功能
当然还有其他页面,这里就不在详细说明了
2、各个角色说明
好了。大体上看完了功能了,下面就来给大家分享一下我是如何扮演这些角色的:
1) 第一个角色:产品狗
关 于产品狗这个角色,其实很模糊的,大家普遍认为就是如何将一个app设计的让用户喜欢用就OK了,主要就是有想法,能了解用户的喜好和行为,所以关于这个 角色,我们都可以去胜任的,当然只是胜任的成功与失败的问题了。我在设计这个app的时候,主要是借鉴(说得好听点,不好听就是抄袭)了其他很多类似 app的功能,但是我们不能只顾一味的借鉴呢,也要做的比他们好,比他们有亮点才行了,不然就是抄袭了。哈哈~~关于亮点这里有三个地方:
1.1)、保存Gif的帧图片
播放Gif图片的时候可以暂停/继续,然后可以保存每帧的图片,因为我在看其他Gif类的app的时候,我有时候真的想去截取当前动画的图片,所以我就加上了这个功能。
1.2)、增加语音播报功能
就是在对段子笑话的时候,有时候我们很不想去阅读段子,文字太多,看着也烦。所以这里就提供了语音自动播报文字的功能,而且增加了各地方言语音,更是搞笑(特别是河南和粤语,我自己真的每次都在听,很好听的)
1.3)、本地图片/Gif保存文件的查看
这个功能其实我当时在看糗百的时候想到的,图片下载功能都支持是没有问题的,但是下载之后我们如果再想去找的话,可能需要去指定的文件夹去看,那样很是费劲的,如果在app内部就可以查看我已经下载好的图片很是方便的。
所以上述的三点也算是我的app的三个亮点,也希望大家能够多多支持,我也是从产品角度去考虑问题的。关于其他的功能的话,这里就不在多说了,都是大同小异,没什么好说的了。
2) 第二个角色: 设计狮
关于设计师这个角色,其实不想产品狗那么好扮演了,因为他不是所有人都能搞定的,首先你得有艺术感,其实你得会一些设计工具。那么我是怎么搞的呢?
其实也不难,为啥呢?因为我很有艺术感的(真的,好多人都这么说的),那些设计工具呢,大学的时候辅修的是美术系,所以PS就不难了(简单的功能还是可以的)
不过有些图片资源还是需要从网上查找的,这里提供一些app的图片资源地址,有些是免费的,有些是收费的:
3) 第三个角色:测试猫
4) 第四个角色:运营猪
5) 第五个角色:程序猿
五、遇到的问题
六、总结
更多内容:点击这里
关注微信公众号,最新Android技术实时推送
Android工作两年之后的第一个App--天真无谐的更多相关文章
- 关于Eclipse如何加入Gradle文件与Android Studio两个平台一起开发,工作目录不发生变化
前言: 本来很久之前想弄这玩意,不过因为各种原因,所以没弄. 今天有位前辈提出需求.说想让Eclipse的Android项目逐步走向Android Studio,但是又担心Android Studio ...
- Android 实现两个list分别出现(在某一时刻只出现一个控件)
第一种方法: 在.xml文件中将这两个List分别放入不同的布局管理器中,比如说 <RelativeLayout android:layout_width="match_parent& ...
- Android开发自学笔记(Android Studio1.3.1)—2.开始第一个Android应用
一.前言 使用Android Studio开发Android应用是一件非常简单的事情,因为它会帮你自动完成很多工作.本篇我们主要完成一个单击按钮在文本框显示当前时间的简单应用,借此来演示一下 ...
- android面试题 不仅仅是面试是一个很好的学习
下面的问题是在网上找到的总结,感谢您分享!希望,我们的共同进步,找到自己心仪的公司,: 1.android dvm 流程和Linux这个过程.无论是应用程序对同一概念: 答案:dvm是dalivk虚拟 ...
- Android:日常学习笔记(2)——分析第一个Android应用程序
Android:日常学习笔记(2)——分析第一个Android应用程序 Android项目结构 整体目录结构分析 说明: 除了APP目录外,其他目录都是自动生成的.APP目录的下的内容才是我们的工作重 ...
- Android 数据库框架总结,总有一个适合你!
一:OrmLite 简述: 优点: 1.轻量级:2.使用简单,易上手:3.封装完善:4.文档全面.缺点:1.基于反射,效率较低(本人还没有觉得效率低):2.缺少中文翻译文档 jar包 地址:http: ...
- Android(4)—Mono For Android 第一个App应用程序
0.前言 年前就计划着写这篇博客,总结一下自己做的第一个App,却一直被新项目所累,今天抽空把它写完,记录并回顾一下相关知识点,也为刚学习Mono的同学提供佐证->C#也是开发Android的! ...
- Android Studio 1.0.2项目实战——从一个APP的开发过程认识Android Studio
Android Studio 1.0.1刚刚发布不久,谷歌紧接着发布了Android Studio 1.0.2版本,和1.0.0一样,是一个Bug修复版本.在上一篇Android Studio 1.0 ...
- android实现两个activity数据交互
android如何实现两个Activity数据交互?主要是根据Intent的携带功能,intent可以携带很多信息,比如Bundle,URI甚至对象(此时要序列化,并且对象里面的成员变量如果是对象,也 ...
随机推荐
- ES6中set的用法回顾
ES6中的set类似一个数组,但是其中的值都是唯一的,Set本身是一个构造函数,用来生成 Set 数据结构. set函数可以接受一个数组作为参数,用来初始化: const set = new Set( ...
- Vagrant 手册之 Provisioning - file 配置程序
原文地址 Provisioner 命令:"file" 通过 file 配置程序可以上传宿主机的文件或目录到虚拟机中. 使用场景:将宿主机的 ~/.gitconfig 复制到虚拟机中 ...
- [LeetCode] 461. Hamming Distance(位操作)
传送门 Description The Hamming distance between two integers is the number of positions at which the co ...
- 10 (H5*) js第10天 正则表达式、深浅拷贝
目录: 1:浅拷贝 2: 深拷贝 3:遍历DOM树 4:正则表达式 5:正则表达式的创建方式 6:字符串中的正则表达式 7:真数组和伪数组 8: escape()和unescapt() 编码和 解 ...
- 如何写出没有 bug 的代码?
来源:www.cnblogs.com/sherrywasp/p/9262877.html 1947年9月9日,美国海军准将 Grace Hopper 在哈佛学院计算机实验室里使用 Mark II 和 ...
- python开发之路-day03
一 文件操作一 介绍 计算机系统分为:计算机硬件,操作系统,应用程序三部分. 我们用python或其他语言编写的应用程序若想要把数据永久保存下来,必须要保存于硬盘中,这就涉及到应用程序要操作硬件,众所 ...
- GitHub 风格的 Markdown 语法
GitHub 风格的 Markdown 语法 [译] GitHub 风格的 Markdown 语法 Original: GitHub Flavored Markdown - GitHub Help T ...
- 认识Mybatis
什么是Mybatis? MyBatis 是一款优秀的基于Java的持久层框架(来源于“internet”和“abatis”的组合),它支持定制化 SQL.存储过程以及高级映射. MyBatis 避免了 ...
- gelera集群详解
[MySQL]galera集群原理简介 特性 基于行复制的完全并行同步复制实时多主架构,任意节点可读写无延迟复制,事务零丢失,可靠健壮的读写体验.自动化节点关系控制:节点故障自动摘除,节点加入自动 ...
- UVa1636 Headshot 【迁移自洛谷博客】
说明:小蒟蒻hkk现在正在做一些概率的题目,由于这方面和数学还有点关系,所以需要一些数学的思维,也需要表述出来,如夏军所述"把自己给讲懂",所以写了些blog,主要为帮助自己理解. ...