欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

Android程序设计基础【第1章 Android程序入门】

程序员文章站 2022-03-13 22:29:49
1.1 Android 平台介绍1.1.1 Android 简介Android 一词本意指“机器人”,它是一种基于 Linux 的*及开放源代码的操作系统,主要用于移动设备,如智能手机和平板电脑,由 Google 和开放手机联盟主导开发Android 操作系统最初由 Andy Rubin 开发,主要用于手机小米、华为和魅族等新兴品牌都推出了相当不错的 Android手机,并且也获得了市场的广泛认可,目前 Android 已经占据了全球智能手机操作系统 70% 以上的份额1.1.2 An...

全部章节   >>>>


本章目录

1.1 Android 平台介绍

1.1.1 Android 简介

1.1.2 Android 平台的发展

1.1.3 Android 平台架构

1.2 搭建 Android 开发环境

1.2.1 下载和配置 Android Studio

1.2.2 初始化配置 Android Studio

1.2.3 配置和使用 Genymotion 模拟器

1.2.4 实践练习

1.3 创建和运行第一个 Android 应用程序

1.3.1 开发 Android 应用程序

1.3.2 运行 Android 应用程序

1.3.3 实践练习

1.4 Android 应用程序的目录结构

1.4.1 Android 工程目录结构

1.4.2 Android 代码解释

1.4.3 实践练习

总结:


1.1 Android 平台介绍

1.1.1 Android 简介

Android 一词本意指“机器人”,它是一种基于 Linux 的*及开放源代码的操作系统,主要用于移动设备,如智能手机和平板电脑,由 Google 和开放手机联盟主导开发

Android 操作系统最初由 Andy Rubin 开发,主要用于手机

小米、华为和魅族等新兴品牌都推出了相当不错的 Android手机,并且也获得了市场的广泛认可,目前 Android 已经占据了全球智能手机操作系统 70% 以上的份额

1.1.2 Android 平台的发展

随着互联网 3G/4G 时代的来临,国家斥巨资发展移动互联网产业,移动互联网前景一片大好。通过大数据分析,2012—2019 年,智能手机用户猛增 240%,高达 11 亿用户,而 Android 系统的手机用户占比 74%

Android 是第一个完整、开放、免费的操作系统平台,将会促使移动设备创新,使用户体验到最优越的移动服务;同时,开发商也将获得全新的开放级别,便于协同合作的开展,保证新型移动设备的研发速度。

目前,市面上主要的 Android 系统版本及其详细信息见

版本号

系统代号

API

市场占有率

2.2

冻酸奶

8

0.1%

2.3.3 ~ 2.3.7

姜饼

10

1.5%

4.0.3 ~ 4.0.4 

冰淇淋三明治

15

1.3%

4.1.x4.2.x4.3

果冻豆

161718

5.6%7.7%2.3%

4.4

奇巧

19

27.7%

5.05.1

棒棒糖

2021

13.1%21.9%

6.0

棉花糖

23

18.7%

7.0      

牛轧糖

24

0.1%

1.1.3 Android 平台架构

从软件分层的角度而言,Android 系统由应用层、应用框架层、系统运行库层和 Linux 内核层组成

  • 应用层:应用层位于最上层,该层的所有应用都是使用 Java 语言编写并运行在虚拟机上的程序
  • 应用框架层:应用框架层主要提供了构建应用程序时可能用到的各种 API,Android 自带的一些核心应用就是使用这些 API 完成的,开发者也可以通过使用这些 API 来构建自己的应用程序
  • 系统运行库层:系统运行库层通过一些 C/C++ 库来为 Android 系统提供了主要的特性支持
  • Linux 内核层: Android 基于 Linux 2.6 提供核心系统服务,如安全、内存管理、进程管理、网络堆栈和驱动模型等

Android程序设计基础【第1章 Android程序入门】

Android 自发布以来备受关注,越来越多的开发者基于 Android 系统开发应用。与其他手机操作系统相比,Android 具有许多无可比拟的优点,其优势主要表现在以下 5 个方面:

  • 开放性:Android 由 Google 与开放手机联盟合作开发而成,该联盟由 30 多家技术和无线应用的领军企业组成
  • 平等性:在 Android 系统中,所有应用程序完全平等,系统默认自带程序与程序员自主开发的程序差别甚微
  • *性:Android 中的应用程序可以通过标准 API 访问核心移动设备的功能
  • 便捷性:Android 平台手机无缝结合 Google 的优秀服务
  • 硬件丰富性:同样基于 Android 系统的开放性,众多硬件厂商可以推出各种搭载 Android 系统的设备

1.2 搭建 Android 开发环境

1.2.1 下载和配置 Android Studio

Android 开发可以使用 Windows、Mac OS、Linux 等平台的操作系统(本书选择 Windows 10),开发时需要的软件名称、使用版本及下载地址见表

软件名称

使用版本

下载地址

JDK

1.8

https://www.oracle.com/technetwork/java/javase/downloads/index.html

Android Studio 

3.2.1 

https://developer.android.google.cn/studio/index.html

Android SDK

5.1

http://developer.android.com/sdk/index.html

Genymotion

2.12.2

https://www.genymotion.com/

下载和安装 Android Studio 的操作步骤

Android程序设计基础【第1章 Android程序入门】

1、点击 DOWNLOAD ANDROID STUDIO 按钮,在弹出的对话框上点击同意许可条款并下载 Windows 版本的 Android Studio

2、双击下载的安装文件,进行安装

Android程序设计基础【第1章 Android程序入门】

3、点击“Next”,勾选所有的安装项。选择安装项

Android程序设计基础【第1章 Android程序入门】

4、点击“Next”,设置 Android Studio 开发工具的安装路径

Android程序设计基础【第1章 Android程序入门】

1.2.2 初始化配置 Android Studio

在“开始”菜单中选择 Android Studio 图标,打开开发工具。选择 Android Studio 开发工具

在弹出的对话框中,提示让用户选择是否导入之前 Android Studio 版本的配置文件,首次安装,选择不导入

Android程序设计基础【第1章 Android程序入门】

在弹出的对话框上点击“Cancel”按钮

Android程序设计基础【第1章 Android程序入门】

进入到 Android Studio 的配置页面

Android程序设计基础【第1章 Android程序入门】

点击“Next”选择安装类型

Android程序设计基础【第1章 Android程序入门】

点击“Next”,选择主题

Android程序设计基础【第1章 Android程序入门】

点击“Next”完成配置工作

Android程序设计基础【第1章 Android程序入门】

点击“Finish”按钮,配置工作全部完成,Android Studio 会尝试联网下载一些组件,组件下载完成后点击“Finish”按钮,进入到 Android Studio 欢迎界面

Android程序设计基础【第1章 Android程序入门】

1.2.3 配置和使用 Genymotion 模拟器

使用 Genymotion 必须先注册,在 Genymotion 官网注册并激活账号。打开 Genymotion 的下载页面,登录账号,下载最新的Genymotion

下载带有 Virtual Box 的 Genymotion 安装文件进行安装,在安装过程中,设置好安装路径,根据安装向提示进行安装即可

Android程序设计基础【第1章 Android程序入门】

打开 Genymotion 模拟器,点击“Add”按钮添加 Android 版本虚拟机。在弹出的“Virtual device creation wizard”窗口中,使用 Genymotion 账号登录(没有登录的情况下无法完成后续配置)

Android程序设计基础【第1章 Android程序入门】

登录完成后,在“Virtual device creation wizard”窗口的“Android version”下拉选项中选择要下载的Android 虚拟机版本

Android程序设计基础【第1章 Android程序入门】

在“Virtual device creation wizard”窗口的“Device model”下拉选项中选择要下载的 Android 虚拟机设备类型,可供选择的有通用手机类型、平板类型、Google 虚拟机、Sony 虚拟机等。选择通用手机类型即可。点击“Next”,为新创建的虚拟设备命名,继续点击“Next”,下载 Android 5.1 通用手机版本的虚拟机

Android程序设计基础【第1章 Android程序入门】

下载完成后, 点击“Finish” 按钮, 回到“Genymotion for personal use” 窗口, 选 需要打开的Android 虚拟机,点击“Start”按钮,启动 Android 虚拟机

Android程序设计基础【第1章 Android程序入门】

1.2.4 实践练习

 

1.3 创建和运行第一个 Android 应用程序

1.3.1 开发 Android 应用程序

启动 Android Studio 后,开发工具将打开上一次的工程。可以通过工具栏中的“File” “Close Project”关闭当前打开的工程,选择“Start a new Android Studio project”创建新工程

Android程序设计基础【第1章 Android程序入门】

单击“Start a new Android Studio project”,弹出填写项目基本信息的界面,在界面中相应的位置填写 Android 工程名和工程保存路径

Android程序设计基础【第1章 Android程序入门】

在图 1.21 中填写项目信息之后单击“Next”,配置项目所运行的平台,如可穿戴设备、电视和 Google 眼镜

Android程序设计基础【第1章 Android程序入门】

填写项目信息之后单击“Next”,跳转到创建 Activity 界面,界面中列出来了 Activity 的一些内置模板,选择一个较为简洁的模板 Empty Activity 来创建一个空的 Activity

Android程序设计基础【第1章 Android程序入门】

选择 Activity 模板后单击“Next”,为创建的 Activity 和视图命名

Android程序设计基础【第1章 Android程序入门】

Activity Name 表示创建的 Activity 的名字,这里填入 MainActivity,Layout Name 表示布局的命名,这里填入 activity_main。然后点击“Finish”按钮,并耐心等待一会儿,项目就会创建成功

Android程序设计基础【第1章 Android程序入门】

1.3.2 运行 Android 应用程序

由于 Android Studio 自动生成了很多代码和文件,所以不需要编写任何代码应用程序就已经可以运行了。但是在运行之前还必须要有一个运行的载体,可以是一部 Android 手机,也可以是 Android 模拟器

使用 Genymotion 模拟器运行 Android 应用程序

 

观察 Android Studio 顶部工具栏中的图标,其中左边的锤子按钮是用来编译按钮的,中间的下拉列表是用来选择运行哪一个项目的,通常 app 就是当前的主项目,右边的三角形按钮是用来运行项目的

Android程序设计基础【第1章 Android程序入门】

启动 Genymotion 模拟器,点击 Android Studio 工具栏中的运行按钮,弹出运行设备的选择对话框

Android程序设计基础【第1章 Android程序入门】

选中启动的 Genymotion 模拟器,点击“OK”按钮,Android 应用程序就会运行到模拟器上

Android程序设计基础【第1章 Android程序入门】

1.3.3 实践练习

 

1.4 Android 应用程序的目录结构

1.4.1 Android 工程目录结构

使用 Android Studio 工具创建的工程,工程目录目录结构包含以下 3 个部分:

  • manifests:用于存放工程的配置文件,如 AndroidManifest.xml 文件。它是整个程序的系统控制文件,存在于每个应用程序中,程序中定义的 Activity 等组件都需要在这个文件中注册,同时还可以在这个文件中给应用程序添加权限声明。
  • Java:用于存放所有包及 Java 源代码,代码包括源程序和测试程序。开发 Android 程序时,编写该目录下的源代码占用了大量时间
  • res:包含多个目录,如 drawable、layout、values 和 mipmap 等,分别用于存放项目工程中使用的图片、布局文件、字符串文件和存放自动缩放图片的目录。其中 values 目录中包含很多 XML 描述文件,包括字符串定义、颜色定义、样式定义和长度定义等

1.4.2 Android 代码解释

AndroidManifest.xml 文件是 Android 应用程序的配置文件,在 HelloWorld 应用中AndroidManifest.xml代码如下

<?xml version="1.0" encoding="utf-8"?>
<!-- 整个应用程序的配置文件,程序中的组件都需要在这个文件中注册和配置 -->
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.ziniu.android">
        <!-- application标签主要用于配置整个应用程序的基本信息,包括程序使用的图标和应用程序的名称 -->
        <application
	android:allowBackup="true"
	android:icon="@mipmap/ic_launcher"
	android:label="@string/app_name"
	android:roundIcon="@mipmap/ic_launcher_round"
	android:supportsRtl="true"
	android:theme="@style/AppTheme">
	<!-- activity 标签用于配置 Activity 的基本属性,包括 Activity 的名称 -->
	<activity android:name=".MainActivity">
		<intent-filter>
			<action android:name="android.intent.action.MAIN" />
			<category android:name="android.intent.category.LAUNCHER" />
		</intent-filter>
	</activity>
        </application>
</manifest>

AndroidManifest.xml 文件的具体说明见表:

名称

说明

activity 

与用户交互的主要工具。Activity 是应用程序的门面,凡是在

应用中看到的东西,都是放在 Activity 中的

android:name 

Activity 的名称

intent-filter 

Intent 过滤器

action

组件支持的 Intent Action

category 

组件支持的 Intent Category

MainActivity 类的代码如下:

public class MainActivity extends AppCompatActivity {
     @Override
        protected void onCreate(Bundle savedInstanceState) {
	    super.onCreate(savedInstanceState);
	    setContentView(R.layout.activity_main);
     }
}

需要重写 onCreate() 方法

MainActivity 类说明:

  • 主程序 MainActivity 类继承自 AppCompatActivity 类,这是一种向下兼容的 Activity,可以将 Activity 在各个系统版本中增加的特性和功能最低兼容到 Android 2.1 系统
  • Activity 是 Android 系统提供的一个 Activity 基类,项目中所有的 Activity 都必须继承它或者它的子类才能拥有 Activity 的特性 重写了 onCreate(Bundle savedInstanceState) 方法,这个方法是一个 Activity 被创建时必定要执行的方法
  • Android 程序的设计讲究逻辑和视图分离,因此不推荐在 Activity 中直接编写界面,更加通用的一种做法是,在布局文件中编写界面,然后在 Activity 中引入进来可以看到,onCreate() 方法中调用了 setContentView()方法,setContentView() 方法中引入了一个 activity_main 布局文件,这个布局文件就是应用程序显示的界面

activity_main.xml 文件是 MainActivity 的布局文件,代码如下:

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:context="com.ziniu.android.MainActivity">
        <TextView
	android:layout_width="wrap_content"
	android:layout_height="wrap_content"
	android:text="Hello World!"
	app:layout_constraintBottom_toBottomOf="parent"
	app:layout_constraintLeft_toLeftOf="parent"
	app:layout_constraintRight_toRightOf="parent"
	app:layout_constraintTop_toTopOf="parent" />
</android.support.constraint.ConstraintLayout>

MainActivity 类的布局文件说明:

<ConstraintLayout>:定义一个扁平化布局

android:layout_width:定义当前视图在屏幕中所占的宽度。

match_parent 将屏幕的宽度作为布局的宽度

android:layout_height:定义当前视图在屏幕中所占的高度

activity_main 的布局文件中设置了一个 TextView 控件,用于显示文本内容

  • android:layout_width:属性值  wrap_content 根据文字宽度而改变控件宽度
  • android:layout_height:属性值  wrap_content 根据文字高度而改变控件高度
  • android:text:设置该  TextView 需要显示的文字内容

HelloWorld 项目中的 strings.xml 文件代码如下:

<resources>
        <string name="app_name">HelloWorld</string>
</resources>

在代码中通过 R.string.app_name 可以获得该字符串的引用 在 XML 文件中通过 @string/app_name 可以获得该字符串的引用

1.4.3 实践练习

 

总结:

  • Android 系统可分为:应用层、应用框架层、系统运行库层和Linux 内核层
  • 搭建 Android 开发环境需要安装:JDK、Android Studio、Android SDK和Genymotion Android
  • 应用程序的目录结构包含:manifests、Java和res

 

本文地址:https://blog.csdn.net/weixin_44893902/article/details/109903645