Android开发基础
Q7nl1s admin

主要内容

◼ Android开发环境:Android Studio + AVD 或真机 + Java
◼ 基本 UI 组件、布局、主题、 RecylerView 组件
◼ Intent 机制(显式Intent、隐式Intent、Intent传递数据)
◼ Android 四大核心组件:
◼ Activity(生命周期、选项菜单、ActionBar)
◼ Service(后台服务、前台服务、绑定服务)
◼ BroadcastReceiver(自定义广播、系统广播)
◼ ContentProvider(ContentResolver 查询、常用数据集)
◼ 数据存储和访问:SharedPreference、Room 数据库(ORM 框架)
◼ Android 网络编程:WebView、HttpURLConnection

Android简介

◼ 2007 年 11 月谷歌发起成立开放手机联盟 OHA(Open Handset Alliance),共同致力开发 Android 移动系统,目前联盟成员 80+。

◼ 2008 年 9 月,google 发布 Android 1.0;

◼ 是第一个免费、开源的手机操作系统;

◼ 基于 Linux 内核,使用 Java 语言开发;

◼ 2008 年 10 月,第一款 Android 手机 HTC G1 在美国上市。

Android 由美国 Google 公司创建和维护,成为第一款免费开源的手机操作系统,其基于 Linux 内核,使用 Java 语言开发。

Android体系结构

image-20230308121036501

应用程序层

◼ Android 平台的应用层上包括各类与用户直接交互的应用程序,或由 java 语言编写的运行于后 台的服务程序。

◼ 例如:SMS 短信,电话拨号,图片浏览器,日历,游戏,地图,web 浏览器等程序,以及开发人员开发的其他应用程序。

应用程序框架层

image-20230308121204509

系统运行库层

◼ 程序库:
◼ C库、媒体库、Surface Manager、WebKit、SGL、3D libraries、FreeType、SSL、SQLite等
◼ Android 运行库:
◼ 每一个 Android 应用程序都在 它自己的进程 中运行,都拥有一个 独立的 Dalvik 虚拟机实例
◼ Dalvik 虚拟机依赖于 Linux 内核的一些功能,比如线程机制和底层内存管理机制。

关于 JVM 和 Dalvik VM

◼ JVM:Java 虚拟机,执行 class文件(字节码 )
◼ Dalvik VM:Android 虚拟机,执行 dex 文件
◼ Dalvik 最大好处:可以根据硬件实现更大的优化,更适合移动设备

image-20230308123141955

Linux 内核层

◼ Android 的核心系统服务依赖于 Linux 内核,如安全性,内存管理,进程管理,网络协议栈和驱动模型。
◼ Linux 内核也同时作为硬件和软件栈之间的抽象层。

Android系统特点

◼ 在内存和进程管理方面,Android 有自己的 运行时和虚拟机
◼ Android 将 界面设计与程序逻辑分离,界面布局使用 XML 文件,有利于界面的修改和维护;
◼ Android 提供 轻量级的进程间通讯机制 Intent,使跨进程组件通信和发送 系统广播 成为可能;

◼ Android 提供 Service 作为无用户界面、长时间后台运行组件;
◼ 支持快速、高效的数据存储:
◼ SharedPreferences、文件存储、SQLite 数据库
◼ 四大核心组件:

image-20230308123409766

◼ 为了跨进程共享数据,Android 提供 ContentProvider 接口
◼ 无需了解数据源、路径情况,对共享数据进行增删改查等操作

image-20230308123545905

◼ 多媒体支持,包括常见的音频、视频和文本
◼ 多类型的连接设备,如 USB、GPS、红外、蓝牙、无线等
◼ 提供了照相机、录音机、摄像机等功能
◼ 多种传感器支持,如重力、陀螺仪、光线感应、压力等
◼ 支持位置服务和地图应用
◼ …

Android开发环境搭建

主要内容:Android Studio + Android SDK + AVD的安装和配置

image-20230308123704389

安装Android Studio

Android Studio:Google 专门为 Android 量身订做的一款基于 IntelliJ IDEA 改造的 IDE

◼ AS下载地址:https://developer.android.google.cn/studio

image-20230308123952876

安装主要过程

image-20230308124025114

image-20230308124043229

image-20230308124054963

安装Android SDK

◼ Android SDK:是 Android 专属的软件开发工具包
◼ Android SDK 安装过程如下:以 Android 12 (API 32) 为例

image-20230308124119002

image-20230308124146817

image-20230308124209590

image-20230308124232699

image-20230308124248834

image-20230308124405267

image-20230308124436069

image-20230308124454112

image-20230308124517752

关于Intel HAXM

◼ HAXM:Hardware Accelerated Execution Manager
◼ 作用:Intel 为 Android 模拟器(AVD)提供的硬件加速工具
◼ 安装条件:需要满足 2 个条件
(1) 必须是 Intel 的 CPU(如果是 AMD CPU,则安装 Android Emulator Hypervisor Driver for AMD Processors)
(2) CPU 必须支持 Intel VT (Virtualization Technology) 虚拟化技术

备注:如果 AMD 的 CPU 则安装:Android Emulator Hypervisor Driver (for AMD Processors

查看CPU是否启用虚拟化:任务管理器中查看“性能”

image-20230308124816784

注:如果Intel HAXM自动安装不成功,可以通过手工来安装:

HAXM 安装包默认在:Android Sdk 安装目录下的 extras\intel\Hardware_Accelerated_Execution_Manager 中

image-20230308124856266

image-20230308124946008

image-20230308125000599

安装和配置AVD

◼ AVD:Android 模拟器(Android Virtual Device)
◼ AVD作用:让开发人员不需使用实体设备即可预览、开发和测试 Android 应用程序

image-20230308125058891

AVD 下载速度慢:可先在设置中添加 Android SDK 国内镜像源来加速

如果碰到 gradle 下载慢可以采用阿里云镜像来加速:

修改项目根目录下的文件 build.gradle:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
buildscript {
repositories {
//google()
//jcenter()
maven { url 'https://maven.aliyun.com/repository/public/' }
maven { url 'https://maven.aliyun.com/repository/google/'}
maven { url 'https://maven.aliyun.com/repository/jcenter/'}
mavenLocal()
mavenCentral()
}
...
}
allprojects {
repositories {
//google()
//jcenter()
maven { url 'https://maven.aliyun.com/repository/public/' }
maven { url 'https://maven.aliyun.com/repository/google/'}
maven { url 'https://maven.aliyun.com/repository/jcenter/'}
mavenLocal()
mavenCentral()
}
}

参考:gradle下载慢的解决方案

AVD 下载速度慢:可先在设置中添加 Android SDK 国内镜像源来加速

image-20230308125511564

添加国内镜像源:步骤1

填入开源镜像地址,如东软信息学院:http://mirrors.neusoft.edu.cn/

image-20230308125544172

添加国内镜像源:步骤2

image-20230308125623174

开始创建和配置 AVD:

image-20230308125642108

image-20230308125702544

image-20230308125717976

image-20230308125741056

image-20230308125803223

image-20230308125820996

image-20230308125840818

如果 Finish 后没有显示记得刷新一下

注:AVD 模拟器位置

image-20230308125951163

image-20230308130010949

其他配置

image-20230308130036288

编辑器字体设置

image-20230308130213489

禁止自动打开上次的工程

image-20230308130233432

代码提示设置:alt + /

说明:在 AS 中,”Alt+/“ 并不是代码提示功能(而是 “Cyclic Expand Word”) ,因此需要修改:

  1. 先在查找框中输入”Cyclic Expand Word”,然后右键 Remove 掉它的快捷键
  2. 接着在查找框中输入”Basic”,右键也 Remove 掉它的快捷键,然后再右键添加新的快捷键:Alt+/

image-20230308130335080

附录

附录1:AS 默认的一些目录
◼ AS 安装位置:
C:\Program Files\Android\Android Studio
◼ AS 自带 JRE 位置:
C:\Program Files\Android\Android Studio\jre
◼ Android SDK:
C:\Users\用户名\AppData\Local\Android\Sdk
◼ 新建 Android 项目的位置:
C:\Users\用户名\AndroidStudioProjects

附录2:AS 常用快捷键
◼ 代码格式化:Ctrl + Alt + L
◼ 行注释:Ctrl + / 块注释: Ctrl + Shift + /
◼ 撤销键:Ctrl + Z 恢复键:Ctrl + Shift + Z
◼ 删除一行:Ctrl + Y 复制一行:Ctrl + D
◼ 移动一行:Ctrl + Shift + ↑ 或 ↓
◼ 查看类的结构:Ctrl + F12 查看继承关系:Ctrl + H
◼ 查找:Ctrl+F,向下查找:F3,向上查找:Shift + F3
◼ 替换:Ctrl + R

 Comments
Comment plugin failed to load
Loading comment plugin
Powered by Hexo & Theme Keep
Unique Visitor Page View