想学习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种最有效的应用广告

移动广告的部署很有难度,移动设备很小,放置广告非常困难也很招人烦。鉴于有些移动应用公司是完全或部分依赖广告收入的,找到创新途径来放置广告就很重要。先来看看一些 创新性的广告放置方式吧。

(翻译/孙薇 审校/唐小引)

文章来源:Top resources to learn Android

转载于:https://www.cnblogs.com/codingWarrior/p/5088615.html

Android国外学习资源汇总相关推荐

  1. 【干货】史上最全的Tensorflow学习资源汇总,速藏!

    一 .Tensorflow教程资源: 1)适合初学者的Tensorflow教程和代码示例:(https://github.com/aymericdamien/TensorFlow-Examples)该 ...

  2. pytorch学习资源汇总

    pytorch学习资源汇总 https://pytorchchina.com/2019/05/07/awesome-pytorch-chinese/ PyTorch学习教程.手册 PyTorch英文版 ...

  3. iOS学习资源汇总(开源项目、第三方库、技术博客等等)

    iOS学习资源汇总(开源项目.第三方库.技术博客等等) 字数3919 阅读10309 评论29 喜欢297 前言 Github众所周知,全球最大的同性社区交友网站,在这里你可以获取任何你想要的,只要你 ...

  4. Cortex-M系列微控制器学习资源汇总

    原文地址:Cortex-M系列微控制器学习资源汇总 - 知乎 (zhihu.com) 前言: 自己前段时间开始接触基于Cortex-M7架构的STM32微控制器,从零开始摸索了很多,总结了很多资源.本 ...

  5. 转载:吐血推荐,B站最强学习资源汇总(数据科学,机器学习,Python)

    转载:大数据DT 吐血推荐,B站最强学习资源汇总(数据科学,机器学习,Python) 大数据DT 4/23 The following article is from 数据派THU Author 数据 ...

  6. ASP.NET Core学习资源汇总

    ASP.NET Core入门学习资源汇总篇幅比較長,分为七个部分. (一)认识.NET Core (二)Vistual Studio安装.调试 (三)Asp.Net Core入门指南与学习路线 (四) ...

  7. 【TensorFlow】学习资源汇总以及知识总结

    官方资源 官方网站 https://tensorflow.org 非翻墙神器不能访问也(关键是我用了翻墙神器也没能访问) 伪官方网站 https://tensorflow.google.cn/ 墙内的 ...

  8. Linux学习资源汇总

    Linux学习资源汇总: <Linux就该这么学> Linux中国开源社区 linux&unix程序开发基础教程 ---读书笔记 linux内核编程 Linux学习教程 鸟哥的Li ...

  9. Notion Like 笔记软件使用教程·学习资源汇总·知识管理方案

    Notion Like 笔记软件使用教程·学习资源汇总·知识管理方案:深度评测.辅助工具.信息管理.时间管理.任务管理.思维管理.项目管理.文件管理.笔记方法.记忆方法.写作方法 关于 Notion ...

最新文章

  1. spring_在Spring MVC中使用多个属性文件
  2. sql server management studio性能分析_如何分析一条SQL的性能
  3. 自己开发的ASP.NET分页控件2.0 (Ling.Pager)
  4. STM32基础定时器详解
  5. SCOM2012功能测试(18)—对象发现(替代)
  6. 天津理工大学计算机考研录取名单,2020年天津理工大学硕士研究生拟录取名单公示...
  7. 驱动总裁 ,解决屏幕亮度无法调节(含泪推荐,屏幕亮度终于可以调整了,发热也不严重了)
  8. java+ElementUI前后端分离旅游项目第三天 报团游
  9. 程序员工资到底有多高?国内哪个城市挣得最多?有没有你在的城市
  10. 三级网络技术综合、应用题(2019、3)
  11. 前端如何实现文件下载(七种方法)
  12. ctDNA早期肿瘤×××基因检测
  13. np.array数组的切片
  14. DM8168 DMM/TILER简介
  15. 微信iOS新版支持手机、iPad、电脑同时在线
  16. 深度学习经典论文汇总
  17. 计算机设备管理器怎么删鼠标,在电脑的设备管理器中怎么查看鼠标设备
  18. lsof 查看端口占用
  19. 三菱电梯服务器维修,三菱电梯通讯故障维修分析总结
  20. moxa串口服务器显示灯,moxa串口服务器连接设置

热门文章

  1. 消息队列:SpringBoot集成RocketMQ的那些坑(真实有效、附源码)
  2. 走近计算机,走进二进制,爪哇国的诞生
  3. 路由器刷opwenwrt固件和原厂固件教程
  4. .net wap网站开发资料收集
  5. STM32 输入捕获 测量频率 PWM占空比
  6. 这份春招攻略,希望大家可以收藏!
  7. 并发编程的艺术04-TAS自旋锁
  8. 计算机二本专业怎么进国企,这3所学校虽然是二本,但毕业后就业前景好,很容易进国企...
  9. ora.eons offline
  10. 汇编语言(32位二进制数的减法、带符号数除法、字符串大小写转换、分段函数求值,含源程序)