想学习Android开发,现在就是最佳时机:继Google I/O 2014与2015年度开发者大会之后,Android系统的设计与开发日臻完善。无论是只将编程当兴趣的业余爱好者,还是正想方设法建立应用帝国的成熟 开发者,都可以从本文找到从零开始打造Android应用的方法。
Android学起来并不困难,不过与其浪费时间寻找资源,还不如抓紧时间真正做些东西。因此在本文中,我们将指引读者通过思考,在Play Store成功发布产品。你可以根据自己在Android方面的经验跳过某些部分,或重点阅读其他部分。
在我们开始讲述之前,你应该先看一下世界各地的开发人员是如何推荐的,他们自己学习Android时又是用的什么资源。这里我们将Quora和Reddit上针对Android应用开发学习所推荐的优秀资源做了快速总结。
Quora和Reddit上推荐的Android学习资源:
注:数据已做了调整,以便更好地进行对比。
上面列出了结果,注意两个资源推荐内容的区别。Quora和Reddit的用户群差异很大,因此所推荐的内容之间区别也很大。不过还是没能突出Android官方文档的重要性。
下面这个庞大的资源清单可用来学习更多知识。为了方便阅读,我们将这些资源划分成了不同的章节。
Idea
本章对Android的设计能力做了简单的描述,并介绍了在Android方面影响卓著的名人。由于你在阅读本文,我们假设你有需要Android应用程序解决的问题。
Android的Sneak Peak会让你对“Android是什么”,“Future Droid是什么”有完整的了解, 并回答了在塑造自己的Android性格时(即便只是爱好者)你可能提出的其他问题。现在只是热身,对吗?
- 一些能提供灵感的Android设计资源
Android Niceties展示了一些Android OS中设计最美观的应用,浏览这些令人赞叹的应用,肯定会从中得到启发。
- 为图形设计师提供的Android备忘录(Android Cheat)
由于我们预先假设大多数读者在这些领域中(Android)至少某方面是新手,那么这个备忘录能帮你了解正确的设计参数。
- Twitter上的一些Android大拿
想要及时了解第一手资讯,可以在Twitter上follow这些在Android方面最具影响力的名人:
Sundar Pichai: @sundarpichai
Hugo Barra: @hbarra
Steve Kondik: @cyanogen
Koushik Datta: @koush
Andy Rubin: @Arubin
Roman Nurik: @romannurik
Matias Duarte: @MatiasDuarte
Jake Wharton: @JakeWharton
Reto Meier: @retomeier
Taylor Ling: @taylorling
设计
通过上一章内容,读者对Android有了进一步了解。现在有了概念,甚至知道了Android名人。在看过新闻与其他媒体消息并将自身技 巧进一步提高之后,你肯定希望自己动手开发一个Android应用。放松下来,花些时间思考。考虑你能创造的所有可能性、结果、架构与交互,用笔记本或者 白板做个简单记录。
在思考时要记得这一点,你是初学者,尚不了解什么是标准的,什么是非标准的。别担心,下一章会带你深入了解关于Android具体设计所需要知道的一切。
- Android互动与业务方面的最佳实践案例
学习Android的一般原则、布局还有视觉风格能够 让应用在互动与业务方面达到最佳。稍候可以用这些互动模式来制作一个对用户友好的移动应用。
- Android设备的屏幕尺寸
Android设备的形状和尺寸各异。想要设计一款在不同设备上不会变形的Android应用非常困难,至少对于新手是这样。 EmirWeb制作了一个很长的列表,列出了不同设备的纵向与横向的尺寸。通过目标设备的产品型号就能找到导航条、标题栏、状态栏还有内容视图的高度。
- AndroidUX
在看过了优秀UX的最佳实践案例与一些限制之后,应该看一下 AndroidUX网站。这个网站并不是专注整个应用UX的,而是更注重微交互。AndroidUX以应用所提供的最佳用户体验类型进行分类。如果想要找到onboarding方面的最佳用户体验,查看相关类目下那些最佳应用的做法。
- 色彩背后的科学
如果尚未考虑色彩的问题,应当了解这一点:色彩是设计的重要组成部分。请确保应用的用色与期望实现的用途一致。点击 这里查看怎样才能在选色上更巧妙。
- 将iOS应用移植到Android上时经常出现需要避免的错误
还记得本文最开始的假设吗?假设本文的读者至少在某种技能上有所欠缺。在假设时我们过滤掉了iOS设计师、开发者与想要通过在Play Store上发布另一个应用以增加推广的应用开发商。以前最为常见的做法是将iOS设计移植到Android上,在Google发布了Material Design之后发生了巨大变化。 这篇文章着重强调了在将iOS应用移植到Android上时经常出现的一些错误。想要查看更多内容,可以访问Android Anti pattern的Google+页面。
- Android设计方面的优秀读物
Juhani所撰写的Smashing Android UI。Juhani是一位非常优秀的开发者与设计师,为了方便设计师与开发者,他总结自身经验撰写了这本书,其中他针对特定情况下哪种UI更合适进行了举例说明。
- Android设计工具
在设计时使用预制的PSD与AI文件是很好的入门方式,通常能减轻使用者的工作量,并加速塑造原型的过程。
入门阶段可尝试完全可编辑、可定制的AndroidUI psd工具,其中提供了开发任意Android版本应用所需的元素。如果你正在寻找适合AndroidL版的图标栅格系统, Tobia Crivellari可能会很有用。Google还没发布系统图标文件的时候,我们都在参考 Gabe Will的作品,不过谷歌新发布的 官方文档也可以做参考。想要Android Wear的设计模板吗?没问题!点击 这里自提。
开发
那么现在设计阶段已经完成,要开始实操了。毫无疑问,下面这些就是初写代码者实践自己想法的最佳资源。
对Android开发者来说,想要让自己的应用适应各种版本的Android系统,通常很有难度,甚至富有经验的开发者也难以避免。 Steve Pomeroy发现这个问题很惊人也很耗时,于是他制作了一张完整的 AndroidActivity图表(在Github上可以下载到这张图表的不同版本)。
- 分辨率计算器
OpenSignals展示了Android屏幕可用尺寸那令人生畏的数量,如果你打算让应用在这四类密度的分辨率上都有可扩展性,得花费大量的时间,幸好有 DPI计算器帮忙。DPI计算器也可以用作Chrome插件,它能帮上大忙。
- Android色彩生成器
Material Palette是在Material Design发布后没多久出现的,人们非常喜欢这个资源。这个网站会根据你所选择的主色与副色调出不同的颜色让你预览。也提供下载功能,用户可以在上面创建不同格式的调色盘并进行下载。
- 学习Android开发的最佳资源
这篇 MakeUseof文章列举了六种入门者学习Android开发的最佳资源。在这些教程中,我们根据自身经验提供了一些摘要信息,方便用户选择最适合的。
Android的官方 YouTube频道是迄今为止学习Android开发最常用的资源之一。还可以参考Android发布的 这个教程,对理解如何新建项目,如何在设备上运行应用这些基础知识很有帮助。
Bucky Robert的thenewboston 教程也是Android开发入门的上佳选择。尽管Android的官方Youtube频道可能比较按部就班,但Bucky的教程却更加浅显易懂。
SlideNerd与TheNewBoston相似,每个视频的长度大约在4~5分钟。看到第三个教程时,你就会在Android上构建出简单的“hello world”应用了。
Derek Banas的YouTube频道包含了大约26个视频,都是为Android入门者设计的。视频有点长,15~25分钟,不过对于Android入门者来说很棒也很有趣。
如果你想要了解更多关于开发其他部分的内容,比如硬件集成、黑客行为等等, xda-developers是你正确的选择。
Android库与工具最棒的免费资源
想要找到更多应用开发的库和工具?不用再google了,我们有 Android-libs了。Android-libs就像google一样,不过是专为寻找Android库与工具设立的。
- Stackoverflow
Stackoverflow是 迄今为止最棒的程序社区之一。你不仅能发现来自Facebook或Google的程序员,还有核心库的开发人员和一些最出色的热心技术人员。很有可能你想 问的大多数入门问题已经有人问过,所以很容易找到解答。但是,我们仍旧推荐仔细过一遍文档。大多新上手的开发者更愿意在Stackoverflow找到解 决方案,而不是自己试着解决问题。这种方法可能会节省时间,但是从长远来看不利于帮你成为一名出色的开发者。
Codepath的Github页面列出了一些最有用的日常基础Android库。如果你想要寻找在写代码或者设计方面能帮上忙的工具,里面的工具会非常有用。
- Android源代码的搜索引擎——Androidxref
如果你是个播客爱好者, FragementedPodcast很 适合你。Kaushik和Donn在播客里讲述Android开发、近期Android更新、Android库、程序员访谈等等,还有更多其他内容。我们 最喜欢FragmentedPodcast的地方是:听众无需保持集中精神,在上下班路上、工作时甚至打扫卫生时都能收听播客。Kaushik和Donn 这两名主播与听众之间有着亲密的沟通方式,并且可以让听众为Android着迷。
漏掉什么了吗?盗版怎么预防呢?
任何应用开发者最关心的莫过于他所开发Android应用有多少用户。不过随着用户增长,应用获取更多关注,开发者也面临另一个问题——盗 版。很不幸,想要阻止黑客确实无计可施。话虽如此,并不是说不该给应用增加反盗版措施,只要确保别在上面投入太多就行了,因为很可能只是无用功。一句话就 足够了: 这里有一些办法能让盗版者费不少力气,花上数个挥汗如雨的不眠之夜。
你是否注意过有多少反盗版措施完全是白费力气?这方面还有很大的创新空间。Today Calendar Pro的Jack Underwood为盗版应用增加了特定场合的盗版主题。如果需要更好的方法,可以用版权内容移除要求(DMCA Guardian)向盗版应用所在的商店自动发送下架请求。
市场投放
到了现在,你可能已经设计并创造出了非常出色的应用,但这并不够。用一个好产品就能获得想要的一切,这样的好日子一去不复返了。Play Store几乎所有分类的应用都在竞争,因此向在Play Store斩获成功,需要你建立计划,安排好预发布与上架后的策略。
怎样推广你的应用?
免费推广谁不喜欢呢? 本文列举了一些推广方式。看完这个列表之后,能推广应用的不同地方就能了解个大概了。
- 获取用户的终极指南
KISSmetrics的指南强调用不同的方式获取客户,并指引你从中选择最好的方法。这篇文中列举了一大堆经验,提供了超级丰富的内容和可行性见解。
- 移动应用市场的入门指南
Ian解释道,综合考虑多方面来制定更好的 推广策略可以帮助应用提高排名,位居前列。Ian给出了一系列非常实用的指示,可以协助你在市场推广上达到最优。
- 用SensorTower做应用商店的搜索优化(ASO)技巧
有各种因素决定了你的应用在Play store的排名可见度。尽管其中一些并不受你的控制,比如用户评分,不过其他的都可以得到控制。这篇Sensor Tower的 文章列举了所有博客存档,有质量保证。
- 21个移动应用的真实市场推广教程
想要从真实生活中获取一些市场推广教程吗?快到autosend的 博客去吧,里面有21世纪真实的移动应用推广案例。学习巧妙且成本低廉的推广技巧,不要将时间浪费在效果缓慢且价格昂贵的推广方式上。
- 一个独立开发者的成功故事
Michael开发应用,自己推广。学习一下他在广告与推广阶段探索的过程,看看他 如何找到最适合自己应用的推广。
- 移动应用商店优化的最佳关键字研究与分析工具: App Annie
应用投放清单
现在投放前筹备与发布后策略都解决了,在阅读了一些市场推广案例还有一个成功案例之后,你需要开始处理清单事项了。天啊!还没清单? Android有很棒的发布清单功能,会告诉你是否已经准备好将应用上传到Play Store了。这份清单包含了一些重要的说明和指南,比如阅读发布文档,了解Play Store政策,准备截图,应用上架还有其他你应该在发布应用前准备的工作。
提高应用安装率的最佳可选商店
毫无疑问Play Store是两大应用商店之一,用户众多。其他商店没有那么多用户,但是它们专为特定用户群服务,能带给你的下载量可能更多。更不用说还有类似更好的收入分成、更好的目标用户群投放之类的好处了,下面是 替代Play Store的可选商店清单,在发布应用时请牢记在心。
在应用中放置广告的最佳方式:
- 3种最有效的应用广告
移动广告的部署很有难度,移动设备很小,放置广告非常困难也很招人烦。鉴于有些移动应用公司是完全或部分依赖广告收入的,找到创新途径来放置广告就很重要。先来看看一些 创新性的广告放置方式吧。
(翻译/孙薇 审校/唐小引)