Android-01-简介

注: 此文章及相关文章根据《第一行代码》第3版及自身总结修改

1. Android基本信息

1.1 Android系统架构

Android系统主要分为4层架构:

  • Linux内核层

基于Linux内核,为Android设备的各种硬件提供了底层的驱动,如显示驱动、音频驱动、照相机驱动、蓝牙驱动、Wi-Fi驱动、电源管理等

  • 系统运行库层
  1. 通过一些C/C++库为Android系统提供了主要的特性支持。如SQLite库提供了数据的支持,OpenGL|ES库提供了3D绘图的支持,Webkit库提供了浏览器内核的支持等。

2. Android运行时库,提供一些核心库,支持java,Dalvik虚拟机(5.0系统之后改为 ART运行环境)

  • 应用框架层

提供构建应用程序时可能用到的各种 API

  • 应用层

所有系统自带软件和开发商及自己开发的软件。

1.2 Android历史版本

名称版本名API等级发布时间
Android 1212.0312021.10
Android 1111.0302020.9
Android 1010.0292019.5
Android Pie9.0282018.5
Android Oreo8.0-8.126-272017.8
Android Nougat7.0-7.1.224-252016.5
Android Marshmallow6.0-6.0.1232015.5
Android Lollipop5.0-5.1.121-222014.6
Android KitKat4.4-4.4.419-202013.9
Android Jelly Bean4.1-4.316-182012.6
Android Ice Cream4.0.1-4.0.414-152011.10
Android Honeycomb3.0-3.211-132011.2
Android Gingerbread2.3-2.3.79-102010.12
Android Froyo2.282010.5
Android Eclair2.0-2.15-72009.12
Android Donut1.642009.9
Android Cupcake1.532009.4
1.122009.2
1.012008.9
Android版本发布表

1.3 Android应用开发特色

  • 四大组件
    • Activity:应用程序显示门面、前台
    • Service:后台运行服务,应用推出后仍可运行
    • BroadcasReceiver:广播的接收和发出,如电话、短信
    • ContentProvider:程序之间共享数据,如共享系统通讯录联系人
  • 丰富的控件
  • SQLite数据库

轻量级嵌入式关系数据库,支持SQL语法和Android封装的API

  • 多媒体服务

调用手机的音乐、视频、录音、拍照等

2. Android开发环境

2.1 Java环境

一般使用JDK8、JDK11(推荐),如果想体验最新,也可以上JDK14(不推荐),到2021.1,JDK15虽然出了,但是AndroidStudio不支持。

JDK8下载 JDK11下载 JDK14下载

配置java环境变量与其他设置一样,此处还可以设置AndroidStudio的默认java编译版本,具体查看2.2章节

2.2 AndroidStudio和SDK

AndroidStudio是谷歌推荐的官方开发工具,已经事实上取代了以前eclipse进行安装的开发。经过一段时间的演变,Android Studio已经趋于成熟稳定,下载地址

纯英文开发环境不适应的话,参考知乎此文章进行汉化

3. Android项目

3.1 创建项目

在AndroidStudio中点击”Create New Project“和选择”Empty Activity“后,进入到配置项目阶段,如图

  • Name:项目名称,设置后自动配置到清单文件(AndroidManifest.xml)中,作为应用的名称,即你安装应用时看到的那个名字。
  • Package name:包名,包名是唯一的,是Android系统用于区分不同应用程序的标识,也是存储应用的文件夹(在手机上)的相对位置的名称。
  • Save locarion:存储位置买这个指的是存储在电脑上,此项目的位置。
  • Language:编写项目所使用的语言。当前支持Kotlin和Java。
  • Minimun SDK:最低兼容的SDK版本。当前建议设置为Android5.0,既API21
  • Use legacy android.support libraries:使用AndroidX扩展库,至于什么是AndroidX,建议阅读此文

3.2 创建模拟器

项目创建后,运行需要一个载体,,AndroidStudio当前支持两种方式:

  • 对接真机(真实的物理Android手机)
  • 使用AndroidStudio支持的模拟器

此处以创建模拟器为例,在项目中或者主界面,点击AVD Manager,如下图

点击【Create Virtual Device】,创建虚拟机,根据自身需要创建不同配置的虚拟机

3.3 运行项目

3.3.1 虚拟机运行项目

  1. 自动创建的项目是默认的【Hello World】工程,因此可以直接运行,先点击【AVD Manager】中已创建的模拟器后的绿色按钮,启动虚拟机,此处虚拟机名称为【Android 11】
启动虚拟机i设备
启动后的虚拟机设备

2. 在项目中选择运行/配置调试的按钮,选择调试的设备后,点击启动按钮,如下图

虚拟机调试项目
虚拟机运行项目

3.3.2 真机运行项目

  1. 真机调试都需要打开手机的【USB调试】功能,一般为进入设置-开发者选项-USB调试,【开启USB调试】。然后将手机通过数据线连接电脑,链接后手机允许【USB调试】,且USB用途选择【传输文件】。

注意:部分手机真机安装软件时,还需要打开【USB安装】,否则安装软件失败

真机系统设置

2. 在Adnroid Studio中,与虚拟机调试时类似,只不过需要选择对应的手机型号,如我的手机黑鲨3Pro,如下图

真机调试项目
真机运行项目

注意:如果遇到真机安装失败的,请检查当前的编译版本和最小支持版本是否和真机一致

3.4 项目视图结构

以默认的【Hello World】项目为例,打开后默认以【Android】方式显示,可以进行切换,常用试图结构如下:

  1. Android:官方推荐的简洁显示方式,通过类型来组织项目的资产文件,适用于快速开发,但并不反映项目在磁盘上的实际物理组织,不适合新手理解使用。
  2. Project:项目真实结构,可以看到硬盘上的真实文件目录,顶层的项目文件夹会显示实际的物理位置。
  3. Packages:分成大类显示,相同类型资源在一棵目录树中

以下以【Project】为例,介绍常用资源目录及文件:

  • .gradle、.idea:自动生成的一些文件,不需关系和编辑。因此在git等版本控制中时,一般加入忽略列表,如git的.ignore文件
  • app: 项目中代码、资源存放的主目录
  • app.build: 编译时自动生成的文件,不需要关心和编辑,建议加入忽略
  • app.libs: 放置第三方jar包,放在这个目录下的jar包会被自动添加到项目的构建路径里
  • app.src: 放置所有代码、图片、布局、字符串等资源文件。
  • app.src.androidTest: 用于android自动化测试
  • app.src.main:
  • app.src.main.java:核心,放置Java和Kotlin代码的地方。
  • gradle: gradle wrapper的配置文件,目前是自动联网后下载,一般不需要关注,建议加入忽略
  • .gitignore: git代码仓库版本控制的决定哪些文件忽略上传的配置文件
  • build.gradle:全局gradle构建文件,一般不需要修改,建议加入忽略
  • gradle.properties: 全局gradle配置文件
  • gradlew、gradlew.bat:用于支持在命令行界面中执行gradle命令,其中gradlew是在Linux或Mac系统中使用的,gradlew.bat是在Windows系统中使用。
  • local.properties:指定本机中的Android SDK路径,通常内容是自动生成的,一般不需要修改,建议加入忽略
  • settings.gradle: 指定项目中所有引入的模块,多模块时使用,一般较少修改。

0 0 投票数
文章评分
订阅评论
提醒
guest
12 评论
内联反馈
查看所有评论
trackback

[…] casino tops online casino real money […]

trackback

[…] real money no deposit casino usa […]

trackback
1 月 前

[…] tadalafil 20mg x sildenafil 50 mg […]

trackback

[…] betway real money casino […]

trackback
1 月 前

[…] order wellbutrin sr online […]

trackback

[…] where to buy infant benadryl […]

trackback

[…] cheap hydrochlorothiazide […]

trackback
1 月 前

[…] cheap lisinopril […]

trackback

[…] […]

trackback
1 月 前

[…] cheap prednisone […]

trackback

[…] tizanidine hcl 4 mg tablet […]

trackback

[…] cialis 10mg evey 3 days […]

12
0
希望看到您的想法,请您发表评论x