2018-10-12 16:35:31 -04:00
|
|
|
|
---
|
|
|
|
|
title: Android Development
|
2018-12-08 15:57:04 +08:00
|
|
|
|
localeTitle: Android安卓开发
|
2018-10-12 16:35:31 -04:00
|
|
|
|
---
|
2018-12-08 15:57:04 +08:00
|
|
|
|
# Android安卓开发
|
2018-10-12 16:35:31 -04:00
|
|
|
|
|
2018-10-19 22:21:53 +08:00
|
|
|
|
Android 簡介
|
|
|
|
|
如要瞭解應用程式的運作方式,請參閱應用程式基礎知識。
|
|
|
|
|
|
|
|
|
|
如果想立即編寫程式碼,請參閱建立您的第一個應用程式。
|
|
|
|
|
|
|
|
|
|
Android 提供內容豐富的應用程式架構,可讓您在 Java 語言環境中建置適用於行動裝置的新穎應用程式和遊戲。 您可以參閱左側導覽區所列的文件,進一步瞭解如何使用 Android 的各種 API 建置應用程式。
|
|
|
|
|
|
|
|
|
|
如果您是剛開始接觸 Android 開發環境,請務必詳閱下列有關 Android 應用程式架構的基本概念:
|
|
|
|
|
|
|
|
|
|
應用程式可提供多個進入點
|
|
|
|
|
Android 應用程式是由許多不同元件建置而成,應用程式可個別呼叫每個元件。 例如,「Activity」可在單一畫面中顯示使用者介面,而「服務」則個別可在背景中執行作業。
|
|
|
|
|
|
|
|
|
|
您可以透過某個元件使用「意圖」啟動另一個元件。您甚至可以啟動其他應用程式中的元件,例如啟動地圖應用程式的 Activity 來顯示地址。 這個模型可為單一應用程式提供多個進入點,還能讓任何應用程式針對其他應用程式可能呼叫的動作,以使用者設定的「預設值」運作。
|
|
|
|
|
|
|
|
|
|
瞭解詳情:
|
|
|
|
|
|
|
|
|
|
應用程式基礎知識
|
|
|
|
|
意圖和意圖篩選器
|
|
|
|
|
Activity
|
|
|
|
|
應用程式會針對不同裝置進行調整
|
|
|
|
|
Android 提供的應用程式架構可視情況進行調整,讓您能夠針對不同的裝置設定提供專屬資源。 例如,您可以針對不同的螢幕大小建立各種 XML 版面配置檔案,藉此讓系統根據目前裝置的螢幕大小決定要套用的版面配置設定。
|
|
|
|
|
|
|
|
|
|
如果有應用程式功能需要特定硬體 (例如相機) 才能運作,您可以在執行階段查詢裝置功能的可用性。 此外,您還可以視需要宣告您的應用程式所需的功能,以便讓 Google Play 商店等應用程式市集禁止使用者在不支援相關功能的裝置上安裝您的應用程式。
|
|
|
|
|
|
2018-10-12 16:35:31 -04:00
|
|
|
|
Android应用程序可以成为进入编程世界的一种有趣的方式。官方程序员可以使用Java,Kotlin或C ++为Android开发,虽然可能存在API限制,但使用工具,开发人员可以使用大量语言,包括JavaScript,C或汇编,并且可能性无穷无尽。
|
|
|
|
|
|
|
|
|
|
从简单的游戏和实用程序应用程序到成熟的音乐播放器,有很多机会可以用Android创建有意义的东西。 Android开发人员社区很普遍,在线文档和资源很容易找到,因此您可以解决您遇到的任何问题。
|
|
|
|
|
|
|
|
|
|
肯定有一种习惯于Android框架的学习曲线,但是一旦你理解了构成应用程序的核心组件,剩下的就会自然而然地出现。
|
|
|
|
|
|
|
|
|
|
与学习NodeJS等其他技术相比,Android中涉及的学习曲线具有相对较小的斜率。了解并为Google托管的AOSP做出贡献也相对容易一些。该项目可以在[这里](https://source.android.com/)找到
|
|
|
|
|
|
|
|
|
|
## 入门
|
|
|
|
|
|
|
|
|
|
查看此文件夹中的指南,了解构成Android应用程序的4个[核心组件](core-components/index.md)以及如何开始使用示例应用程序,然后深入研究更高级的主题,例如片段和Gradle构建系统。然后查看材料设计规范指南以了解如何使您的应用程序美观且用户友好。
|
|
|
|
|
|
|
|
|
|
### Android Studio的设置和入门
|
|
|
|
|
|
|
|
|
|
转到此[链接](https://www.oracle.com/technetwork/java/javase/downloads/index.html)并安装最新的JDK。 现在从[这里](https://developer.android.com/studio/)下载Android Studio和SDK工具包。 按照设置安装Android Studio和SDK。记下SDK位置。 如果您遇到任何错误,请稍后再进行设置以解决问题。
|
|
|
|
|
|
|
|
|
|
最后,学习集成第三方库和Firebase服务,为您的应用添加功能。如果您浏览每个组件的官方文档,将会很有帮助。
|
|
|
|
|
|
|
|
|
|
### 官方文件
|
|
|
|
|
|
|
|
|
|
[适用于Android的Google Developers Guide](https://developer.android.com/training/index.html)
|
|
|
|
|
|
|
|
|
|
#### Java与Kotlin
|
|
|
|
|
|
|
|
|
|
自从Google于2017年宣布Kotlin成为Google IO的Android开发官方语言以来,想要成为Android开发人员的程序员处于两难境地。他们面前的一个重要问题是他们是否应该学习Kotlin或Java。
|
|
|
|
|
|
|
|
|
|
##### Android开发中的初学者应该从Java开始
|
|
|
|
|
|
|
|
|
|
首先,Android开发并非一切;作为一名程序员,你可能正在开始你的Android开发职业生涯,但如果你从像Java这样完善的语言开始,你就会成为更大的Java社区和市场的一部分,这直接意味着更多的工作机会。
|
|
|
|
|
|
|
|
|
|
第二个也是更重要的是,有一个庞大的Java程序员社区,这意味着你可以在遇到困难时找到答案。这非常重要,因为作为一个初学者,你将面临很多技术问题,当你遇到困难时,你可能不知道应该去哪里。当您使用Java问题搜索Google时,您一定会得到答案;同样不能说Kotlin,它仍然是一种新的编程语言。
|
|
|
|
|
|
|
|
|
|
###### Java程序员应该学习Kotlin
|
|
|
|
|
|
|
|
|
|
现在,回到第二组想要学习Android开发的程序员:我们的Java开发人员。对他们来说,我认为最好学习Kotlin,因为它确实提高了生产力。
|
|
|
|
|
|
|
|
|
|
在Java中使用50行代码的类实际上只能在Kotlin中用一行编写。它可以帮助您避免所有样板代码,例如,您不需要指定getter和setter,equals(),hashCode()或toString()方法。 Kotlin可以自己生成所有这些。
|
|
|
|
|
|
|
|
|
|
如果您不知道,Kotlin是JetBrains开发的,JetBrains是最受欢迎的Java IDE之一,即IntelliJ IDEA。他们是Java商店,开发像IntelliJ IDEA,PyCharm和ReSharper这样的IDE,都是用Java编写的,并且构建了Kotlin以提高他们的生产力,但同时,他们无法在Kotlin中重写所有代码,所以这就是他们制作Kotlin的原因。与Java完全互操作。
|
|
|
|
|
|
|
|
|
|
因为Kotlin生成Java字节码,您可以在Kotlin中使用您喜欢的Java框架和库,您的Java朋友也可以使用您开发的任何Kotlin框架。
|
|
|
|
|
|
|
|
|
|
### 实践
|
|
|
|
|
|
|
|
|
|
[用于提升技能的Codelabs](https://codelabs.developers.google.com)
|
|
|
|
|
|
|
|
|
|
### Google Developer Console
|
|
|
|
|
|
|
|
|
|
[Google Developer Console](https://developer.android.com/distribute/console/)
|
|
|
|
|
|
|
|
|
|
### 课程
|
|
|
|
|
|
|
|
|
|
[Udacity Android Nanodegree计划](https://udacity.com/course/android-developer-nanodegree-by-google--nd801)
|
|
|
|
|
|
|
|
|
|
### 开发Android应用程序
|
|
|
|
|
|
2018-12-08 15:57:04 +08:00
|
|
|
|
学习Android的最好的部分是在线提供的课程和材料是免费的。 该课程的链接在这里 - [开发Android应用程序](https://udacity.com/course/new-android-fundamentals--ud851) 。
|