在过去十年的移动开发平台中,作为资深的移动开发人员,我们认为Android平台是一个新手最广为人知的平台。它不仅是一个廉价的工具,而且有着良好的开发社区,以及从所周知的编程语言(Java),使得开发Android应用程序变得前所未有的简单。即便是这样,我们仍然看到不少Android开发新手一遍又一遍地犯着同样的错误。以下是10个最常见的误区。

1、不读Android开发文档

  Android开发者网站可以很好的帮助你。很多的文档也可以通过SDK工具下载。这些文档不仅仅是Javadoc API的参考,它包括许多指南、教程、视频、培训以及其他有用的资料来创建Android应用程序。

  Android训练,通过一些有用的教程示例,指导你解决特定问题或实现特定的功能。

2、不熟悉Android开发工具

  Android SDK不仅可以用来编译打包你的应用程序在Android手机上运行,而且它有一整套工具来帮助你构建应用程序。其中一些工具可以帮助你的应用程序设计图形和布局。其他命令行工具,它们提供简单、可编写脚本访问模拟器和硬件设备的功能。还有一些可以帮助你进行性能的调优和剖析。

  Android SDK文档中更多关于Android工具的信息。

3、不从Android开发社区寻求帮助

Android开发社区大型且友好。当你有问题时,Android SDK文档不会回答你,我们建议你去StackOverflow.com,它有一个 Android开发特定标签。其他有用的资源包括 谷歌邮件列表以及网站教程,比如你会发现在 Android软件开发中心。

4、由于Java语言开发而变得懒惰

  Java是一个高级编程语言,它具有虚拟机,使得开发更加简单,但是,这并不意味着你可以是一个懒惰的程序员。标准的编程准则仍然适用。大多数Android设备与传统计算机相比,处理能力和本地存储容量都有限,所以效率不高或不正确的编程实践会对的整体性能和用户体验有着更大的影响。

5、认为开发移动项目是小成本投入

  小屏幕 != 小项目。许多新手开发人员(不幸的是,他们的老板)是一个错误的想法,认为所有移动开发项目可以由一个大学生在周末完成。(是的,我们听过许多这样的故事。)然而,事实是,大多数成功的项目都需要像传统软件的功能规范、进度表、bug追踪、专职的工程师、专业的设计师、QA测试人员和发布维护计划。

6、使用原始Android应用程序为开发基础

  很多时候,我们看到了一个应用程序是基于一个hello world示例代码的。没有事先计划或是设计就在代码中使用,并且该项目文件的布局也丢失了。最终用户的体验,似乎是一个事后的想法。

  首先,你得花时间学习和试验Android平台。然后,坐下来与你的团队,想想你们真正想要构建的,并从头开始。最终,你将会节省时间、减少挫折,并且有高质量的生产代码便于日后的维护。

7、与操作系统整合

  Android平台为开发者提供了许多功能,并紧密地集成系统和其他应用程序到他们的应用程序中。利用主屏幕小部件、内容提供商、意图处理,以及其他等功能优势。确保你的的应用程序可以处理任何内容类型出现在共享菜单。使用这些平台特点可以把你的应用从一般的移动体验中区分出来。另外,如果你的应用更容易访问,那么用户将更为频繁的看到你的应用程序。

8、定义应用程序的详细配置不当

  Android Manifest文件是应用程序配置的中心位置,但这些信息经常(甚至在发布了的应用上)都不正确。许多开发人员没有正确地指定他们所支持的设备特征。另一个常见的错误在Android Manifest文件中注册了不必要的权限。这样可能导致你的应用程序发表在Android市场后,用户对你的应用的评级很低。

9、为Android开发iPhone应用

  当你下载一个很Cool的应用到你崭新的Android设备上时,但它的外观和行为完全像是一个典型的iOS应用。Not Cool。Android平台有着自己的外观和行为,用户不期望他们买的Android设备装的应用像别的平台的。这些相同的应用程序经常失踪的小部件、内容提供商和其他独特的功能的Android(见#7),这使得他们更显得格格不入。

10、应用程序发表之后不维护

  你有没有注意到许多应用程序并不会更新,而其他的则是不断更新?为了保持应用的相关热度,开发人员必须保持应用程序的更新。Android平台仍然在稳步成熟,注意Android市场的通知,它经常需要开发者更新调整。如果没有更新,一些应用程序可能会被排在后面。请确保你的应用程序并不是其中之一。

  Android新手小心

  避免犯错误的最好办法就是要第一时候意识到这样做的危险。在这里,我们从Android开发新手身上列出了10个最常见的错误。请认真审视它们,这将会让你和你的团队避免这些阴险陷阱的。

英文原文:developer.com 编译:OSChina.NET

10个常见的Android 新手误区的更多相关文章

  1. 10个常见的 Android 新手误区

    在过去十年的移动开发平台中,作为资深的移动开发人员,我们认为Android平台是一个新手最广为人知的平台.它不仅是一个廉价的工具,而且有着良好的开发社区,以及从所周知的编程语言(Java),使得开发A ...

  2. 常见的 Android 新手误区

    在过去十年的移动开发平台中,作为资深的移动开发人员,我们认为Android平台是一个新手最广为人知的平台.它不仅是一个廉价的工具,而且有着良好的 开发社区,以及从所周知的编程语言(Java),使得开发 ...

  3. [Android新手区] SQLite 操作详解--SQL语法

    该文章完全摘自转自:北大青鸟[Android新手区] SQLite 操作详解--SQL语法  :http://home.bdqn.cn/thread-49363-1-1.html SQLite库可以解 ...

  4. Linux下命令行cURL的10种常见用法示例

    curl的命令行工具功能非常强大,这些数据交互的功能基本上都是通过URL方式进行的,下面这篇文章主要给大家分享了在Linux中命令行cURL的10种常见用法示例,通过示例代码介绍的非常详细,需要的朋友 ...

  5. 10个常见的Node.js面试题

    如果你希望找一份有关Node.js的工作,但又不知道从哪里入手评测自己对Node.js的掌握程度. 本文就为你罗列了10个常见的Node.js面试题,分别考察了Node.js编程相关的几个主要方面. ...

  6. Fouandation(NSString ,NSArray,NSDictionary,NSSet) 中常见的理解错误区

    Fouandation 中常见的理解错误区 1.NSString //快速创建(实例和类方法) 存放的地址是 常量区 NSString * string1 = [NSString alloc]init ...

  7. 10个经典的Android开源项目(附源码包)

    最近在抽空学习Android系统开发,对Android学习也比较感兴趣,刚开始学就试着在网上找几个项目源码研究看下,以下就将找到的Android项目源码列出,希望对正在或准备学习Android系统开发 ...

  8. 学习新手给Android新手的一些学习建议

    时间紧张,先记一笔,后续优化与完善. Shamoo做Android开辟已有一年了,对Android开辟也有一点点了解.上面就给Android新手说说我对Android浅面的意识和一点建议吧,知道的大牛 ...

  9. 10个常见的JavaScript BUG

    译者按: 安全起见,在开发中我基本不用==. 原文: 10 COMMON JAVASCRIPT BUGS AND HOW TO AVOID THEM 译者: Fundebug 为了保证可读性,本文采用 ...

随机推荐

  1. 【BZOJ】【2127】happiness

    网络流/最小割 Orz Hzwer. 这题他题解说的比较简略……我手画了个图才明白过来…… 嗯对于每个人选文or理的单独收益大家应该很好理解……连S->i 权值为选文的喜悦值,i->T权值 ...

  2. [Linux]在终端启动程序关闭终端不退出的方法

    一般情况下关闭终端时,那么在这个终端中启动的后台程序也会终止,要使终端关闭后,后台程序保持执行,使用这个指令: nohup 命令 & 如:nohup test.sh & 回车,然后提示 ...

  3. OTL翻译(10) -- OTL的流缓冲池

    OTL的流缓冲池 一般来讲,流一般作为一个局部的变量被使用,当使用完毕后就立刻关闭,如果需要再次使用就需要再次的声明变量,如此循环.OTL流的缓冲池(内存池)是一个解决以往的流性能低下的一个机制.当流 ...

  4. python 抓取alexa数据

    要抓取http://www.alexa.cn/rank/baidu.com网站的排名信息:例如抓取以下信息: 需要微信扫描登录 因为这个网站抓取数据是收费,所以就利用网站提供API服务获取json信息 ...

  5. kettle利用参数遍历执行指定目录下的所有对象

    使用kettle设计ETL设计完成后,我们就需要按照我们业务的需要对我们设计好的ETL程序,ktr或者kjb进行调度,以实现定时定点的数据抽取,或者说句转换工作,我们如何实现调度呢? 场景:在/wor ...

  6. Java 抽象类和接口有什么差别

    抽象类和接口有什么差别? 1. 抽象类在java语言中所表示的是一种继承关系,一个子类仅仅能继承一个父类.可是能够实现多个接口. 2. 在抽象类中能够拥有自己的成员变量和非抽象类方法,可是接口中仅仅能 ...

  7. 给MySQL增加一个表示例

    仅为记录用,图样图升破,看客速退散. create table logtable(   id int(20) PRIMARY KEY AUTO_INCREMENT,   concept varchar ...

  8. hdu4848 求到达每一个点总时间最短(sum[d[i]])。

    開始的时候是暴力dfs+剪枝.怎么也不行.后来參考他人思想: 先求出每一个点之间的最短路(这样预处理之后的搜索就能够判重返回了).截肢还是关键:1最优性剪枝(尽量最优:眼下的状态+估计还有的最小时间& ...

  9. eclipse在search的时候,通过search打开的页面会覆盖之前打开的页面

    eclipse在search的时候,通过search打开的页面会覆盖之前打开的页面,如果不想覆盖的话,可以这么设置: Window->Preferences->General->Se ...

  10. 解决Synergy的鼠标无法从服务器(server)机屏幕移动到客户机(client)屏幕的问题

    我在工作时使用一台Win 7笔记本和一台Ubuntu台式机,为了提升工作效率,我使用Synergy在两台机器间共享了笔记本的鼠标和键盘,即笔记本作为服务器,台式机作为客户机. 这样使用了大概一年多,但 ...