Android APP开发实战——从规划到上线全程详解(txt+pdf+epub+mobi电子书下载)


发布时间:2020-06-28 09:07:59

点击下载

作者:强增

出版社:人民邮电出版社

格式: AZW3, DOCX, EPUB, MOBI, PDF, TXT

Android APP开发实战——从规划到上线全程详解

Android APP开发实战——从规划到上线全程详解试读:

前言

随着移动互联网的兴起,各行各业对移动应用的需求越来越大,从事APP开发的人也越来越多,APP开发行业可以说是方兴未艾。APP开发是比较复杂的事情,涉及产品、美工设计、服务器端开发、Android/iOS开发、软件测试和项目管理等各方面。这些方面都是相互关联的,如果要做好一个APP,需要对上述各方面都有所了解。

目前介绍APP开发的书籍很多,大都局限于某一方面,内容不够全面,并且许多书籍偏于理论,与实际联系不紧密。国内外市面上大多数的Android开发类图书,基本上可以分为两类:一类是从系统内核和源代码入手,书的内容重在分析Android各个模块的运行机制,深入理解系统肯定对应用开发者有好处,但很多时候并不是那么实用;另一类是标准教程,基本内容与Android官方文档类似,围绕API的用法就事论事地讲解,这类书在写法、教学思路和实例上虽然各有千秋,但在实际工作中就会发现还远远不够。

在实际工作中,笔者接触了许多从别的行业转行从事APP开发或从事APP开发一两年的人员,发现许多人对APP开发的基础知识不甚了解,需要关注的地方都没有考虑到,导致在开发APP的过程中犯了许多低级错误,而这些本来是可以避免的;而在APP开发行业中,从事APP开发一两年的人员又是占了绝大多数。在许多创业型的小公司里,也没有专职的产品、美工和测试人员,往往要求Android/iOS开发人员做到一专多能、身兼数职。

有感于此,笔者想写一本面向初级读者且全面介绍APP开发的书。与上述两类书都不同,本书完全从实战出发,以从零开始规划一款APP至APP上线这个过程为主线,尽量贴合实战,介绍整个过程中所涉及的知识,而不局限于某一方面,使得读者对APP开发的相关知识有一个全面的了解,帮助他们开阔眼界,进而以更专业的方式完成APP的开发。

本书是从多个实际项目中获得的经验总结,可以使读者在开发APP的过程中少犯低级错误,减少可能遇到的各种问题,从而提高开发效率。

本书的章节编排贴合实际项目,讲述了一款APP从开发前准备至上线的整个过程,具体内容如下所述。● 第1章:介绍开发APP前的准备事项。● 第2章:介绍产品原型设计、效果图设计、切图和尺寸标注

等知识。● 第3章:讲解APP和服务器端的协作(接口设计、数据安全

方案、数据同步方案和登录状态的维持)。● 第4章~第9章:讲解字符编码、网络(TCP/IP、Socket、

HTTP/HTTPS、Cookie和Session)、数据加密、设计模式等知识。● 第10章~第11章:介绍APP架构设计。● 第12章~第24章:详解Android开发(四大组件、

Fragment、权限功能、动画实现、矢量图的使用、异常处理、

本地存储、ABI管理和混淆介绍)。● 第25章~第32章:涵盖Android Studio的使用技巧、APP的

缓存设计、APP的性能优化、APP的Log功能设计、APP的版本

管理、APP版本升级功能设计、APP常用功能设计和代码封装。● 第33章:介绍APP测试。● 第34章:介绍APP项目管理。● 第35章:讲解APP常使用的第三方SDK和Git的使用。

本书相关代码,请从异步社区(www.epubit.com.cn)本书页面中下载。第1章开发APP前的准备事项● 1.1 APP适配的硬件● 1.2 APP横竖屏界面的选择● 1.3 APP适配的操作系统版本● 1.4 APP适配的屏幕尺寸● 1.5 APP开发样机的选择● 1.6 APP内置的图片资源

开发APP前,除了竞品分析和项目组搭建外,还有以下事项需要确定。1.1 APP适配的硬件

大多数用户主要是将PAD用于娱乐、教育或企业办公。对于游戏、视频播放、图形图像处理、阅读、教育或企业办公等类型的APP,建议适配手机和PAD。电商或理财等类型的APP建议只适配手机。

随着硬件性能和网速的提高,使用PAD的用户越来倾向于直接打开相关的网站,而不愿去下载应用,以免频繁升级应用。因此在开发APP的时候,为节约资源,加快开发进度,可以先开发网站和手机版本的APP,最后再开发PAD版本的APP。1.2 APP横竖屏界面的选择

目前大部分PAD的尺寸都是大于等于7.9英寸,对于PAD版本的应用可以只考虑开发横屏界面,不用考虑竖屏界面。还有一部分PAD的尺寸在7英寸左右,对于这类PAD,可以考虑直接让用户使用手机版本APP(如果一个APP在6英寸的手机上使用,没有界面问题,那在7英寸的PAD上通常也可以正常使用)。

对于手机版本的应用:游戏、视频播放、图形图像处理、阅读、教育或企业办公等类型的APP建议支持横屏和竖屏;电商或理财等类型的APP可以只支持竖屏。1.3 APP适配的操作系统版本

iOS APP建议适配iOS 8.0以上版本,Android APP建议适配Android 4.2以上版本,可以根据Apple和Google提供的各版本系统占有率的统计数据做实时调整。使用Android Studio新建工程时,在图1-1所示的界面,单击“Help me choose”链接,显示如图1-2所示的界面,列出了Android系统各版本的市场占有率。图1-1图1-2

对于大多数公司来说,毕竟开发和测试资源有限,对于占有率低于5%的系统版本建议不必考虑支持。1.4 APP适配的屏幕尺寸

Apple产品的尺寸不像Android产品那么多,每种尺寸的用户量巨大,除了iPhone 4系列和之前系列的手机外,其余型号的手机和PAD都要适配。

Android产品的尺寸千差万别,建议适配的手机屏幕基准尺寸为5英寸、5.5英寸和6英寸,PAD屏幕基准尺寸为7英寸、8英寸和10英寸;屏幕像素密度支持MDPI、HDPI、XHDPI和XXHDPI这4种。1.5 APP开发样机的选择

Apple的机型比较少,除了iPhone 4系列的手机外,其余每个机型都可以考虑购买样机。

Android的机型比较多,在选择机型的时候,应根据以下几项综合判断。● 屏幕尺寸、屏幕像素密度、内存、价格和目标用户。● APP在小内存(1GB)低端机(低于1千元)上可以正常使用,

那在中高端机上肯定也可以正常使用,如果目标用户包括低端用

户,那一定要购买小内存低端机,大内存高端机可以不买。● 如果不考虑低端设备用户,那屏幕密度为MDPI 的样机可以不买。

友盟和极光等厂商也会发布一些关于不同设备的市场占有率等的数据统计报告,在选择开发样机的时候,可以做参考。1.6 APP内置的图片资源

Apple 的产品硬件配置高、屏幕好,所以iOS APP通常内置两套图片,即@2x和@3x分辨率的图片。

Android的产品中,屏幕像素密度为XXHDPI的比较少,且大多数产品的配置不高,为了节约存储空间和减少APP的大小,Android APP通常只内置一套完整的像素密度为XHDPI的图片,以及部分MDPI、HDPI和XXHDPI的图片。

如果APP定位高端用户,建议还是要内置一套完整的像素密度为XXHDPI的图片。第2章APP产品和设计人员的工作● 2.1 编写产品文档时的注意事项● 2.2 设计效果图时的注意事项● 2.3 APP的切图工作● 2.4 点9图简介● 2.5 产品和设计文档的版本管理

产品经理通常需要提供产品原型、流程图和功能说明文档等给设计、开发和测试人员。设计人员需要根据产品经理提供的文档,制作效果图和图片资源等给开发和测试人员。设计人员的文档应先经过产品经理审核后,再提供给开发和测试人员,且产品经理和设计人员提供的文档内容需要保持一致,否则开发和测试人员会困惑以哪个为准。

其他行业的软件开发通常一个产品是一个项目组做,但APP产品往往是Android和iOS两个项目组做同一个产品,所以无论是产品文档还是设计文档,一定要非常详细,不能有遗漏和产生歧义的地方,否则很可能导致Android APP和iOS APP单独使用都没有问题,但一对比就会发现许多不同的地方,结果还得花费大量时间统一两个APP的UI和功能。2.1 编写产品文档时的注意事项

编写产品文档时,需要注意以下事项。(1)产品文档应该完整体现各种处理流程,尤其是在异常状况下的各种处理流程,如无法从服务器获取到数据和用户输入错误等。(2)需要明确进入每个界面,显示的数据未加载完时,当前界面怎样显示。例如从服务器获取数据时,当前界面整体显示为空白界面,用户只能看到当前界面之上的加载提示框,数据加载完成后,加载提示框消失,并显示整个界面布局;当顶部有标题栏,或底部有TAB栏时,这两部分显示的数据通常不需要从服务器获取,可以一进入这个界面就显示出来。(3)需要明确哪些界面支持用户手动更新当前界面数据和上拉加载更多数据的功能,及对应的动画效果。

对于更新当前界面数据功能,还需明确采用以下哪种方式。● 用户下拉操作更新数据。● 用户单击刷新按钮更新数据。(4)许多APP在首页的底部有个TAB栏,该栏上有几个按钮,单击这几个按钮显示的界面属于一级界面,左上角是不需要有返回图标或按钮的。除了一级界面外,其余每个界面都应该明确从当前界面可以返回到哪个界面。(5)无论APP的界面显示模式是竖屏还是横屏,其对应的屏幕宽度都有限,水平方向尽量少放置内容;而大多数用户已经知晓通过向上滑动手指,在屏幕的垂直方向可以翻页显示更多内容,所以可在垂直方向多放置内容,即屏幕的高度方向对显示的内容没有限制。

当然也有特例的情况,如在竖屏模式下,当前界面有多个TAB页面,通常会支持左右滑动,以显示不同TAB页面的内容;或有多张图片需要显示的时候,也支持左右滑动,以显示不同图片的内容。此时最好在界面显示提示信息,提示用户左右滑动显示更多内容,如图2-1所示。图2-1

在图2-1所示的界面中显示了3种商品,如果种类超过3个,在用户第一次看到这个界面的时候,在此界面上方可再显示一个界面,提示用户“用手指左右滑动页面,显示更多内容”。用户点击屏幕,则提示界面消失。

如图2-2所示,如果显示的图片不只一张,在用户第一次看到这个界面的时候,在此界面上方可再显示一个界面,提示用户“用手指左右滑动页面,显示更多图片”,用户点击屏幕,提示界面消失。图2-2(6)如果当前显示的内容超过了一屏,用户通过向上滑动手指,翻到了第N页(N>1),此时在屏幕的右下角要显示一个图标,用户点击此图标直接显示第1页内容,如图2-3所示。图2-3

如果页数比较多,需要设计用户可以选择查看其中任一页内容的图标,如提供页码列表或让用户手动输入想查看的页码数字。

如图2-4所示,商品列表数据共有10页,当前显示的是第2页的内容,左右两边4个箭头对应的功能是跳到第一页、跳到上一页、跳到下一页和跳到最后一页。在编辑框中输入5,然后单击按钮,则会直接跳到第5页。图2-4(7)在使用APP的时候,常遇到在某个界面显示的内容比较多,一屏显示不下,而在屏幕底部的控件又需要一直显示,此时就需要考虑悬浮设计,就是在滑动当前界面显示的内容时,始终显示底部的控件,相当于底部控件悬浮在内容的上方。

如图2-5所示的是电商APP里必有的购物车界面,购物车里的商品可能一屏显示不下,需要用户滑动商品列表显示更多商品内容,但在界面底部的商品总价和按钮需要一直显示,方便用户随时进入结算界面下单,这就需要使用悬浮设计。图2-5(8)在电商APP的购物车、结算页面和订单页面,通常页面顶部需要显示商品优惠政策或客户联系方式等信息,中间显示商品列表,底部是功能按钮区域。

如果商品数量比较多,就需要上拉显示更多的商品,为了扩大商品列表的显示区域,有以下两种方案。● 如顶部区域显示的信息不需用户编辑,则可以设计上拉时顶部区

域随着商品列表一起向上滑动。● 如顶部区域信息也需用户编辑,则可以设计顶部区域在商品列表

向上滑动时隐藏起来,此区域也用于显示商品列表;商品列表停

止滑动时,则显示顶部区域,方便用户随时编辑顶部信息。

如图2-6所示的订单详情界面,上部区域显示收件人的联系方式和收件地址,底部显示按钮,只有中间区域用于显示商品列表。当用户向上滑动手指,则显示更多的商品,此时用户并不关注收件人的联系方式和收件地址信息,就可让这部分区域随着商品列表一起向上滑动,或者把收件人联系方式和收件地址信息隐藏起来,将此区域用于显示商品列表数据;当商品列表停止滑动时,可再显示收件人的联系方式和收件地址信息。图2-6(9)由于手机屏幕空间有限,像标题栏这样的区域在有些界面中就不必显示了,从而更有效地利用空间。如商品详情界面,这样可以扩大图片展示区域。

如图2-7所示的商品详情界面,将标题栏区域去掉,整个上部区域都用于显示商品图片,中间用于显示商品规格等数据,底部用于显示功能按钮。图2-7(10)文本输入区域最好能设计在屏幕的上半部分,这样不容易被输入法的键盘遮住,对应的功能按钮最好紧贴在输入区域的下方,许多APP的登录、注册和修改密码界面就是这样设计的。

如图2-8所示,文本输入框和按钮都在屏幕的上半部分,以避免输入法键盘被遮住。图2-8

如果文本输入区域只能设计在屏幕的下半部分,那么在用户点击文本输入区域时,设计弹出一个新的界面,或是在弹出输入法键盘时将当前界面整体往上移动,这样文本输入区域也不容易被输入法键盘遮住。

如果不能把界面整体往上移动,可以适当缩小文本输入区域上方的内容所占的空间。如把文本输入区域上方的图片显示区域缩小,这样此区域下方的内容就自动向上移动了,也就是部分上移。如图2-9所示为没有显示输入法键盘时的界面。图2-9

图2-10所示为显示输入法键盘时的界面。图2-10(11) 如果某个界面不需要用户输入,只能看,不能编辑,那么这种界面的功能按钮可以设计在界面的最下方,方便用户用大拇指点击。

在如图2-11所示的设置界面中,通常会有许多功能菜单供用户点击,但不会让用户在此界面进行输入操作,也就是在此界面不会弹出输入法键盘,这样就可把按钮放在界面的最下方,方便用户单手操作,用大拇指点击按钮。图2-11(12)在设计文本输入区域时,应显示提示信息,提示用户输入的字符类型和字符个数。输入区域的最右边要设计有删除输入字符的图标,用户单击即可删除输入区域中的所有字符。

单击如图2-12所示的界面中的“×”图标,会删除密码框中的所有字符。图2-12(13)密码输入框的右边应设计有切换明文或密文显示的图标。

单击如图2-13所示的界面中的“”图标,会切换密码是明文显示或密文显示。图2-13(14)如需用户输入手机号码,需要明确号码的显示方式是否按3-4-4格式显示,如131 1234 5678。(15)如需用户输入银行卡,需明确卡号的显示格式,如按此格式显示:1111 2222 3333 4444。(16)遇到字符串长度超过显示区域的情况,通常有以下几种处理方式。● 换行显示,动态增加显示区域的高度。● 将显示区域内的最后一个字符显示为省略号。● 字符串水平滚动显示全部内容。

在提供产品文档时,需要明确采用哪种处理方式。(17)在登录和注册界面,建议设计用户手动输入验证码,这样可以防止恶意攻击。(18)产品文档中还应包括各种提示框和提示文字的设计。如操作成功和操作失败的提示框,提示用户等待的提示框,以及什么时候使用Toast提示框,什么时候使用Alert提示框。

建议在操作成功的时候用Toast提示框(显示时间不超过2秒),操作失败的时候用Alert提示框。Toast提示框显示后会自动消失,导致用户可能看不到出错提示;Alert提示框不会自动消失,只有用户单击其上的按钮才会消失,这样保证了用户可以看到出错提示。(Android系统自带Toast提示框,iOS系统需要导入第三方库实现Toast提示框)(19)在APP中若要用到轮播图和动画,轮播图的切换时间和动画的显示时间最好也要在产品文档中明确说明。(20)产品文档中需要明确哪些界面用网页实现,哪些用原生代码实现。通常内容多变的界面,如广告和促销界面,或者需要可以被链接索引传播的文字内容等,可以用嵌入网页的形式实现。(21)产品文档中需要明确APP是否支持长登录,如果支持长登录,登录时间维持多久。(22)产品文档中需要明确是否支持一个账号在多个设备上同时登录,以及哪些数据需要在各设备间进行同步。如电商APP和电商网站的购物车、收藏夹、浏览历史和搜索历史等是否需要实时同步。(23)需要考虑哪些界面要保存用户的输入信息。如登录界面通常需要保存用户账号在本地,这样当用户再次登录的时候,不需再次输入账号。

还有像用户个人资料、地址和文本编辑等界面,需要用户输入的数据比较多,用户在这些界面中点击按钮或键退出时,最好显示提示框,提醒用户是否保存当前界面的数据。(24)如用到PUSH消息功能,需要明确以下内容。● 服务器端发送哪几类消息数据。● 用户点击PUSH消息提示框后,显示什么样的界面内容。● APP本地是否要保存消息,如果保存,保存消息的时间段是什么(一周或一月的消息)及保存的消息数量是多少。(25)对于订单、收藏夹和浏览历史之类的数据,也需要考虑在服务器端或APP本地保存的时间段和数据数量。(26)产品文档中需要考虑到一些应用市场的要求,如iOS APP,要发布到App Store,注册页面必须包含一个用户许可协议的链接,否则可能通不过Apple的审核。(27)设计评论功能时,分数是否支持小数、星级的划分标准、评论者的昵称或名称的显示方式也都要考虑到。(28)如有显示或需用户输入数字的地方,需明确数字的默认值和最大值。如有小数,需明确小数位数,像商品的数量和价格等,这也涉及界面布局区域的宽度设置。(29)在电商APP的结算页面,建议设计买家留言功能,改善用户体验。(30)搜索功能需要明确是APP本地搜索,还是APP向服务器发送请求,在服务器端进行搜索,并返回结果给APP。

两者具体的实现方式如下所述。● 本地搜索适合采用在搜索栏中输入一个字符就自动搜索一次的实

时搜索。● 服务器端搜索适合采用用户输入字符后,点击按钮,再进行

搜索。(用实时搜索方式,如需要输入5个字符,在极端情况下可能APP向服务器发送5次请求,在交互5次之后才能搜索到结果,这极大地浪费了流量和时间)(31)搜索功能会涉及多个界面,各界面间的跳转流程需要明确。(32)大多数APP都会展示许多图片,对网速要求高,但用户可能会在网速不好的情况下(如在2G网络状况下)使用APP。需要考虑在此情况下,是否显示分辨率较低的图片或不显示图片,如电商APP中的商品列表转换为文本模式,以降低对网络性能的要求。(33)需要明确APP的升级功能流程和相关界面,且要注意强制升级和非强制升级的不同。

非强制升级是用户即使选择不升级当前版本,也能正常使用APP。强制升级是用户必须升级后,才能使用APP。

如图2-14所示的是非强制升级的界面。当用户启动APP时,APP从服务器获取到升级信息,并在APP启动界面显示提示框,内有和两个功能按钮,供用户选择。图2-14

如图2-15所示的是强制升级的界面。在APP的启动界面显示的提示框只有按钮,用户只能点击按钮升级APP版本。图2-15(34)在用户进行删除操作的时候,一定要显示提示框请用户确认,以防止用户误操作,如图2-16所示。图2-16

试读结束[说明:试读内容隐藏了图片]

下载完整电子书


相关推荐

最新文章


© 2020 txtepub下载