Android开发学习

Android阿沁 · · 6063 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

什么是Android开发?

Android开发是指Android平台应用上的制作,是一项包括需求捕捉,需求分析,设计,实现和测试的系统工程。Android开发通常采用开发工具进行开发。

  • 认识Android系统
        Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。
        在这几年的发展过程中,Google公司为Android建立了一个完整的生态系统。同时,手机厂商、开发者、用户之间相互依存,共同推进着Android的蓬勃发展。
        Android系统架构可以分为Linux内核层、系统运行库层、应用框架层、应用层;Android系统四大组件为别是活动(Activity)、服务(Service)、广播接收器(Broadcast Rsceiver)和内容提供器(Content Provider)。


    image.png

Google公司有个传统,就是每年都会举办一次Google I/O 大会,且一般在大会上推出新的Android版本。迄今,Google已经发行了17个版本(包括测试版本),目前最新的版本是Android Oreo(Android 8.0)。
Android开发用到的工具有哪些?
    进行Android开发的工具主要有两种一是Eclipse+ADT+JDK+SDK,一是基于IntelliJ IDEA的Android Studio+SDK+JDK+Genymotion。
    目前,Android Studio是进行安卓开发的主流工具,它与Eclipse相比主要有以下优势:1.比Eclipse漂亮;2.比Eclipse速度快;3.提示,补全更加智能,更加人性化;4.整合了Gradle构建工具;5.支持Google Cloud Platform;6.强大的UI编辑器;7.更完善的插件系统;8.完美的整合版本控制软件;9.Android Studio是Google推出的。

Android开发用到的知识有哪些?
Linux
    Android是基于Linux内核的,编译Android源码也必须在Linux上进行,所以开发者应熟练使用Linux的命令行,能够对Linux系统上的文件进行管理,对Linux进行网络配置、进程管理等。

  • 编程语言

在Kotlin 语言出现之前,几乎所有的安卓应用程序都是使用Java语言编写的。但在2017年5月Google大会上,Google宣布Kotlin 成为安卓的官方语言后,经过快一年的发展,使用Kotlin 的开发者中5%增长到了15%,并且还在呈现上升趋势。
    无论是Java,还是Kotlin,我们Android开发者至少需要精通一门,当然,当熟练使用一门语言之后,再去更改转向另一门语言的这个过程是十分困难的。
Java与Kotlin的创建类的简单代码示例:
Java
Android开发用到的工具有哪些?
    进行Android开发的工具主要有两种一是Eclipse+ADT+JDK+SDK,一是基于IntelliJ IDEA的Android Studio+SDK+JDK+Genymotion。
    目前,Android Studio是进行安卓开发的主流工具,它与Eclipse相比主要有以下优势:1.比Eclipse漂亮;2.比Eclipse速度快;3.提示,补全更加智能,更加人性化;4.整合了Gradle构建工具;5.支持Google Cloud Platform;6.强大的UI编辑器;7.更完善的插件系统;8.完美的整合版本控制软件;9.Android Studio是Google推出的。

Android开发用到的知识有哪些?
Linux
    Android是基于Linux内核的,编译Android源码也必须在Linux上进行,所以开发者应熟练使用Linux的命令行,能够对Linux系统上的文件进行管理,对Linux进行网络配置、进程管理等。

  • 编程语言

在Kotlin 语言出现之前,几乎所有的安卓应用程序都是使用Java语言编写的。但在2017年5月Google大会上,Google宣布Kotlin 成为安卓的官方语言后,经过快一年的发展,使用Kotlin 的开发者中5%增长到了15%,并且还在呈现上升趋势。
    无论是Java,还是Kotlin,我们Android开发者至少需要精通一门,当然,当熟练使用一门语言之后,再去更改转向另一门语言的这个过程是十分困难的。
Java与Kotlin的创建类的简单代码示例:
Java

class Person{
        String name;
        int age;
}

Kotlin

class Person{
    var name: String? = ""
    var age: Int = 0
}

Android开发学习路线

Android基础阶段:平台架构特性(JAVA/C) ,Market应用程序组件, 环境搭建与部署、打包与发布, AVD/DDMS/AAPT 调试与测试 ,相关资源访问,资源制作, Activity/Service/Broadcast Receiver/Content Provider/原理(生命周期)及深层实现。

Android进阶初级:组件(Widget),菜单(Menu),布局(Layout), 详解 Xml,解析(Pull/Dom/Sax)/JNI ,解析SQL数据库原理, SQLite /SharedPreferences/File详解 ,多媒体Audio/Video/Camera 详解。

Android进阶高级:蓝牙/WIFI SMS/MMS 应用实现 ,深层次解析GPS原理,实现LocationManager/LocationProvider ,进行定位、跟踪、查找、趋近警告以及Geocoder正逆向编解码等技术细节, 2D图形库(Graphics/View)详解 ,SDCARD/传感器/手势 应用实现。

最后

本人在学习新的东西时,也经常面临一些选择的问题,特别是在想学 Web 服务开发时,经历多年的发展后台服务生态百花齐放:php、java、golang、phython、nodejs 等容易让人在临门一脚时犹豫不决。(毕竟 php 天下第一)

除开业务需求和环境限制,我个人是比较推崇低成本拓展的。万事开头难,“三过门而不入”的坚持并不是每个人都有,而能把现阶段所掌握的去衍生去其他的能力,是比较稳定的技术增值。“贪多嚼不烂”,先有深度,再有宽度,望共勉!
如果你依然在编程的世界里迷茫,不知道自己的未来规划,可以加入高级程序员群:里面可以与大神一起交流并走出迷茫。小白可进群免费领取学习资料,看看前辈们是如何在编程的世界里傲然前行。
1.LiveDataBus
2.Google官方架构组件
3.Jetpack架构
4.饿了么通信技术
5.OPenGL
6.音视频
7.人工智能
8.Python
9.性能优化
10.Flutter等
这些资料加群639986248领取


有疑问加站长微信联系(非本文作者)

本文来自:简书

感谢作者:Android阿沁

查看原文:Android开发学习

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

6063 次点击  
加入收藏 微博
1 回复  |  直到 2019-08-14 15:15:31
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传