文章目录
- 了解Android
- 环境搭建
- 创建第一个项目
- 创建
- 使用
- 分析
- 后续阅读
了解Android
(1)Android 系统架构(四层)
- Linux内核层:Android系统基于
Linux内核
这一层为Android设备的各种硬件提供底层驱动
如显示驱动、音频驱动、照相机驱动、蓝牙驱动、Wi-Fi驱动、电源管理等 - 系统运行库层:通过一些
C++库
为Android系统提供主要的特性支持。
如SQLite库提供了数据库的支持、OpenGL|ES库提供了3D绘图的支持,Webkit提供了浏览器内核的支持等 - 应用框架层
主要提供构建应用程序可能用到的各种API
Android自带的一些核心应用就是使用这些API完成的,开发者也可以通过使用这些API来构建自己的应用程序 - 应用层
所有安装在手机上的应用程序都属于这一层。
比如系统自带的联系人、短信等程序,或者从Google Play上下载的小游戏,当然也包括你自己开发的程序。
(2)Android 发布版本
- 2008年:Android 1.0
- …
- 2014年:Android 5.0
- …
(3)Android 开发特色
Android系统四大组件
- 活动(Activity):应用中看得见的东西,都放在活动中
- 服务(Service):后台默默运行
- 广播接收器(Broadcast Receiver):允许应用接收各处的广播消息,比如电话、短信
- 内容提供器(Content Provider):比如读取系统电话簿中的联系人
环境搭建
开发Android 程序需要的工具:
- JDK:Java语言的软件工具包
- Android SDK:谷歌提供的Android开发工具包
- Android Studio:官方IDE(集成开发环境)
(这些实际在安装Android Studio的过程中帮助我们实现了)
创建第一个项目
创建
添加 Activity:选择默认的 Empty Activity
Name:Application name 应用名称
在Android 程序中,每个活动由两部分组成:
- 代码
- 界面
使用
直接点击run即可(不需要输入任何代码),即可在虚拟机或者在连接到的Android设备上显示出“Hello World!
”
这部分的定义位于:app/res/layout/activity_main.xml的代码中。(android:text="Hello World!"
,如下图所示)
- 虚拟机:
选择设备之后,再下载即可(后续略)
其结果如下:
分析
目录结构
注意切换结构模式(点击下拉箭头):
- Android:默认的简洁模式
- Project:项目真实目录结构
Project目录结构:
详解:
- .gradle 和 .idea:自动生成文件(不用管)
- app:项目代码、资源(最主要的开发目录)
- build:编译时自动生成的文件(不需过多关心)
- gradle:包含了gradle wrapper的配置文件
注:Gradle是Android Studio默认的构建工具,它提高了Android的开发效率,它的作用就是管理项目中的依赖、打包、编译等
- .gitignore:用来将指定的文件或者文件排除在版本控制之外
- build.gradle:这是项目全局的gradle构建脚本,通常这个文件中的内容是不需要修改的
- gradle.properties:这个文件是全局的gradle配置文件,在这里配置的属性将会影响到项目中所有的gradle编译脚本?
- gradlew 和 gradlew.bat:这两个文件是用来在命令行界面中执行gradle命令的,前者:Linux或Mac,后者:Windows
- local.properties:指定本机中的Android SDK路径,通常是自动生成,不需要更改。
- settings.gradle:用于指定项目中所有引入的模块。上述项目只有一个app模块,因此只引入了app这一个模块。通常情况下,模块的引入是自动完成的。
所以,我们关注的重点是app目录!
app下的目录结构:
- build:编译时自动生成的文件
- libs:存放第三方jar包,会被自动添加
- src
- AndroidTest:此处用来编写Android Test测试用例
- Java:用来放置所有java代码(Kotlin代码)
- res:资源目录(项目中使用到的所有图片、布局、字符串等资源都要存放在这个目录下),注意布局文件就位于
res/layout
目录下(activity_main.xml
文件)。 - AndroidManifest.xml:整个Android项目的配置文件。
程序中定义的所有四大组件都需要在这个文件里注册,另外还可以在这个文件中给应用程序添加权限声明。 - test:用来编写单元测试,是自动化测试的;另一种方式
- .gitignore:同外层
- build.gradle:app模块的gradle构建脚本
- proguard-rules.pro:用于指定项目代码的混淆规则
一个 activity有两个部分组成:
- Java 代码:实现后台功能
- xml:用户交互界面
package com.example.myfirstandroidapp;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}