[Android开发]如何设计开发一款Android App.docx

[Android开发]如何设计开发一款Android App.docx

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

【Android开发】如何设计开发一款AndroidApp

本文从开发工具选择,UI界面、图片模块、网络模块、数据库产品选择、性能、安全性等几个方面讲述了如果开发一个Android应用。现在整理出来分享给广大的Android程序员。

开发工具的选择

开发工具我将选用AndroidStudio,它是Google官方指定的Android开发工具,目前是1.2.2稳定版,1.3的预览版也已经发布了。

AndroidStudio的优点就不需多说了,GitHub上大部分的Android开源库也都已迁移到AndroidStudio上来,在未提供jar文件时,使用AndroidStudio可以极为方便地集成开源库。最为重要的是Google已宣布将在年底前停止对EclipseAndroid开发工具的一切支持(GoogleEnds

SupportforAndroidEclipseTools),因此请早日转移到AndroidStudio上来。

App设计风格

这一点对于一个开发者来说,貌似没有决定权,最终的决定权在产品部门手里。尽管这样,我还是会尽力说服产品部门将App设计成MaterialDesign风格。这一点说多了都是泪啊,作为一个Android开发者,却整天开发着iOS风格的App,相信很多公司都这样,为了节省成本和时间,Android和iOS共用一套UI。举一个最常见的例子,AndroidApp中每个页面TitleBar的左上角放一个返回按钮,这在iOS里是必须的,但Android有返回键啊,这样设计对于Android完全是多此一举。

真心希望产品设计者尊重每种操作系统的风格及使用习惯,不要再设计不伦不类的产品。MaterialDesign正好提供了一种这样的规范,自MD规范发布以来,其优雅的设计和清新的风格已吸引了大批设计者和开发者,如今MD设计不止在Android上(已有官方类库支持MD风格),甚至在CSS、HTML、JavaScript网页设计上都越来越火。因此,对于App的设计风格,MaterialDesign当仁不让,也许你曾经错过了AndroidDesign,请不要再错过MaterialDesign。

一些相关的链接:

MaterialDesign官网

MaterialDesign配色模板

MD一个设计案例网站

MD风格的Andorid抽屉源码:

Android-MaterialDesign-NavigationDrawer

MD风格的一个App源码(有妹子哦):Android-MaterialDesign-DBMZ

版本支持

对于Android要支持的最低版本,可以参考各个版本的市场占有率,其实最靠谱的是根据自家App的统计数据来决定,目前我们的App最低支持2.2。以个人观点认为,虽然2.x的版本仍然有一部分用户,但其实手机更新换代特别快,为了更好的用户体验,也为了应用更新的

API(很多第三方库也都有版本要求),应该提高最低支持的版本,大概3.0为宜,即APILevel为11。

App框架设计

相信大家都有体会,随着功能模块的增加,App越来越大,如果没有良好的架构设计,则代码将会变得臃肿且不易维护,各功能模块的耦合度会越来越高。因此可以把App模块化,将一个完整的App划分成几个相对独立的模块,这样即可以降低模块间的耦合也利于复用。

1.网络模块

已经很少有单机版的App了吧,大部分都需要联网,从服务器请求数据,因此网络模模块必不可少。GitHub上的开源网络框架也特别多,个人认为可以使用开源框架,目前我会选okHttp或者Volley,也许以

后会有更好的网络框架出现。注意如果使用开源框架,则必须要阅读其源码,必须能够驾驭它,这样就不至于当bug出现时束手无策。当然还可以自己写网络模块,目前我们的App网络模块就完全是自己写的,

这样的好处是自己熟悉所写的代码,当有bug时可以迅速定位问题,同

时注意处理一些联网过程中的细节,如:

(1)对HTTPS的支持、HTTPS证书的验证(目前很多做法都是默认允许所有HTTPS证书的,其实这样做是不安全的,应当真正地做证书校验)

(2)支持Wap方式上网,移动、联通、电信代理的设置

(3)支持重定向、数据压缩传输等

(4)其他值得注意的问题

自己写网络框架可以完美地处理这些细节,但时间成本比较大。如果使用开源框架,一般都没有处理这些细节,因此我们

文档评论(0)

176****7010 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档