安卓Android入门

news2024/11/26 14:43:47

安卓作为日常生活中不可缺少的移动操作系统,在5G的发展和应用过程中发挥着其重要的作用。

5G是第五代移动通信技术,拥有更快的速度、更高的带宽、更低的延迟和更大的连接密度。这一技术的快速发展为移动设备和应用提供了更多的可能性。

安卓和5G的关系是相辅相成的,两者共同推动了移动通信和应用技木的发展,为用户带来了更加便捷、高效的移动体验。

文章目录

  • 一、5G与智能终端
    • 1.1 5G网络技术
    • 1.2 智能终端
      • 1.2.1 常见的移动操作系统:
      • 1.2.2 未来的发展
  • 二、Android 简介
    • 2.0 Android SDK
    • 2.1 体系结构:
      • (0)在Android系统的架构中,通常包括以下几个主要层级:
      • (1)底层Linux(核心)
      • (2)中间层
        • 函数库
        • 运行时
      • (3)应用框架层
      • (4)应用层
    • 2.2 Android Studio
      • 2.2.1 安装
      • 2.2.2 运行程序
      • 2.2.3 卸载
      • 2.2.4 创建一个心仪的AVD虚拟机
      • 2.2.5 插件推荐
      • 2.2.6 Android Studio面板介绍
        • LogCat
  • 三、Android 应用程序
    • 3.1 项目构成
      • AndroidManifest.xml
    • 3.2 安卓的四大组件包括:
    • 3.3 Activity生命周期

一、5G与智能终端

1.1 5G网络技术

5G的简称是第五代移动通信技术(Fifth Generation),LDPC码、极化码、Turbo码。

5G之前移动通信标准经历了 1G(模拟语音)、2G(数字化语音)、3G(多媒体通信)、4G(无线宽带)的发展历程。

1.2 智能终端

在5G时代,智能终端的内涵更为广泛,可以通过网络
	实现高速、低延迟的互联网接入,为用户提供更加丰富、便捷的服务。

智能终端是指安装手机操作系统(如Android、iOS等)的设备,通过使用宽带无线移动通信技术(如4G、5G等)实现互联网接入。这些设备可以通过下载、安装应用软件和数字内容为用户提供服务,如社交媒体、游戏、购物、支付等。这些设备具备一定的智能计算能力,能够执行一些复杂的任务,如语音识别、图像识别、自然语言处理等。

 智能手机
	包括:硬件、操作系统、网络支持

1.2.1 常见的移动操作系统:

智能手机操作系统主要有Android、iOS和鸿蒙。

Android:Android是由谷歌(Google)开发的开源操作系统,被广泛应用于大多数智能手机和平板电脑上。它提供了强大的自定义功能和丰富的应用程序生态系统(Google Play商店)。Android具有灵活性和开放性的特点,允许用户自定义和调整其界面和功能,支持多任务处理、通知管理、智能助手等功能。

iOS:iOS是由苹果公司开发的专有操作系统,仅用于苹果公司的iPhone、iPad和iPod Touch等设备。iOS设计简洁、稳定而流畅,注重用户体验和安全性。它提供了一个丰富的应用程序生态系统(App Store),并与苹果的硬件和软件紧密集成,提供优化和统一的使用体验。

鸿蒙(HarmonyOS):鸿蒙是华为公司自主研发的分布式操作系统,于2019年正式发布。鸿蒙旨在构建一种支持多设备、多场景的统一操作系统,涵盖手机、平板、智能穿戴、智能家居、汽车等多个领域。鸿蒙具有高度的灵活性和可扩展性,能够快速适配各种设备并提供流畅的体验。

总的来说,Android和iOS是目前市场份额最大的智能手机操作系统,它们都有自己独特的特点和优势;而鸿蒙作为新兴的操作系统,正在不断发展和拓展应用范围,为用户带来更多可能性。

1.2.2 未来的发展

安全性、电池采用新技术、人工智能等等一系列为更好的交互体验。

二、Android 简介

Android基于Linux内核,这使得它具有强大的硬件兼容性和稳定性。

iOS基于Unix内核,这使得它具有良好的稳定性和安全性。

Android平台组成:操作系统、中间件、用户界面、应用软件。

2.0 Android SDK

SDK (Software development kit) ,软件开发工具包,是指为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件的开发工具的集合。Android SDK是指专门用于Android手机操作系统创建应用软件的软件开发工具包。

2.1 体系结构:

应用程序程序层、应用框架层、系统库和Android运行时和Linux内核(操作系统OS)
在这里插入图片描述

(0)在Android系统的架构中,通常包括以下几个主要层级:

  1. Linux内核层:作为Android系统的基础,提供了底层的硬件驱动、内存管理、进程管理等功能。Android系统构建在Linux内核之上,利用Linux内核提供的稳定性和安全性。

  2. Android系统运行库层:包括了C/C++库以及一些核心的Java类库,用于支持Android应用程序的运行。其中包括了运行时环境和核心Java类库,支持应用程序的运行和管理。

  3. Android应用框架层:提供了各种系统服务和API接口,包括了窗口管理、资源管理、通讯服务等。开发人员可以通过应用框架层提供的API来访问系统功能,实现应用程序的开发和运行。

  4. Android应用层:最上层是用户直接面对的应用程序,包括各种应用软件,如社交应用、游戏、工具应用等。用户通过应用层与系统交互,进行各种操作和任务。

了解Android各个版本及API之间的关系
在这里插入图片描述

(1)底层Linux(核心)

C语言开发,只提供基本功能是硬件和其他软件之间的一个抽象隔离层。提供着安全机制、内存管理、进程管理、网络协议栈、WIFI驱动、电源管理等等。

(2)中间层

包含库和虚拟机,由C++开发的
函数库

Surface Manager:用于管理屏幕显示和窗口管理。负责处理显示表面的分配、合成和刷新等任务,帮助应用程序实现流畅的界面显示和交互。

Media Framework:用于处理音频和视频数据的录制、播放和管理。

SQLite是一种轻量级的关系数据库管理系统,被广泛用于安卓系统中存储和管理应用程序的数据。

在安卓系统中,字体渲染通过FreeType库来实现。

运行时

核心库:提供了Android系统特有的功能和Java功能的代码

Dalvik虚拟机:Android系统的核心组件之一,它是一个基于寄存器的虚拟机;主要功能是运行Dex格式的字节码,这是Android系统中的应用程序的标准格式。【是.class文件编译后产生的,因此文件更小。】 (一个应用启动都运行一个单独的虚拟机运行在-一个物的进程中。)

(3)应用框架层

在安卓系统中,应用框架层是系统的核心部分,它提供了许多关键的服务和API,应用程序可以运行在安卓设备上。以下是应用框架层的一些主要组成部分:

  1. Activity Manager:负责管理应用的生命周期,包括创建、销毁和切换应用。

  2. Window Manager:负责管理应用的窗口,包括窗口的创建、销毁和切换。

  3. Content Providers:应用可以共享数据(跨进程数据访问)。

  4. View System:应用可以创建和管理用户界面。

  5. Package Manager:负责管理应用的安装、卸载和更新。

  6. Telephony Manager:应用可以访问电话服务。

  7. Location Manager:应用可以访问位置服务(地图相关的服务)。

  8. Notification Manager:应用可以创建和管理通知(状态栏显示提示信息)。

  9. Resource Manager:应用可以访问系统资源,如字符串、图像和布局(处理非代码内容)。

  10. Activity Manager Service:应用可以访问系统的活动管理服务。

这些组件共同工作,使得应用可以在安卓设备上运行,并与设备的硬件和其他应用进行交互。

(4)应用层

应用层是用户直接与之交互的部分,包括各种应用程序和用户界面。
由Java/kotlin编写

在这里插入图片描述

2.2 Android Studio

2.2.1 安装

(需要同意其协议)下载 Android Studio 和应用工具 - Android 开发者 | Android Developers (google.cn)

养成良好的习惯,我们把和开发的相关工具放置在D盘下我们创建一个develop文件夹中方便管理。
在这里插入图片描述

2.2.2 运行程序

new一个Empty Views Activity

当我们以java为例的讲解的时候我们就把语言选择为Java,
当然我们还需要把脚本控制语言换成Gradle
最终的是我们一定要确定好包名和项目的保存地址
API尽量选择用户可以上行下行几乎键入的版本

同意并等待Gradle的项目构建

运行程序,最终可以看到自带的模拟器出现app程序

2.2.3 卸载

(1)控制面板 ->程序(卸载程序)

(2)配置信息的删除

【1】进入“C:\Users<你的用户名下>”目录下
删除文件夹
删除.android 文件夹
删除 .AndroidStudioX.X文件夹
删除.gradle 文件夹
删除Android文件夹

【2】用户名下>\AppData\Roaming\Google 删除 .AndroidStudioX.X 文件夹

【3】进入C:\Users\lenovo\AppData\Local\Google 删除 .AndroidStudioX.X 文件夹

2.2.4 创建一个心仪的AVD虚拟机

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

2.2.5 插件推荐

在这里插入图片描述

2.2.6 Android Studio面板介绍

在这里插入图片描述

LogCat

在这里插入图片描述

多个级别–颜色不同
在这里插入图片描述

三、Android 应用程序

3.1 项目构成

AndroidManifest.xml

AndroidManifest.xml是XML格式的Android程序声明文件,是全局描述文件,包含了Android系统运行Android程序前所必须掌握的重要信息,这些信息包含应用程序名称、图标、包名称、模块组成、授权和SDK最低版本等。创建的每个Android项目应用程序必须在根目录下包含一个AndroidManifest.xml工程文件

3.2 安卓的四大组件包括:

  1. Activity(活动):Activity是Android应用的一个组件,它提供了一个屏幕,用户可以在屏幕上进行交互。每个Activity都是一个单独的类,它通常对应于应用的一个屏幕。

Activity(活动)
显示可视化的用户界面,并接收到所有因交互所产生的事件。我们的App可以包含一个或者多个活动,其中只有一个座位mainActivity启动显示。

View来管理用户界面UI,通过XML描述定义,也可以在代码中生成。类swing设计,通过布局layout组织。
在这里插入图片描述

  1. Service(服务):Service是一个后台运行的组件,它没有用户界面。Service通常用于执行长时间运行的操作,例如下载文件或播放音乐。

  2. BroadcastReceiver(广播接收器):BroadcastReceiver是一个组件,它可以接收系统或应用发送的广播消息。例如,当设备的电池电量发生变化时,系统会发送一个广播消息,所有注册了电池电量变化的BroadcastReceiver都会接收到这个消息。

  3. ContentProvider(内容提供器):ContentProvider是一个组件,它提供了一种统一的方式来访问应用的数据。其他应用可以通过ContentProvider来读取或写入应用的数据,这样可以确保数据的安全性和一致性。

3.3 Activity生命周期

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1530873.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

低代码 + 大模型,让业务系统智能化,加速想法落地

1 AI 时代下的应用 大模型来了&#xff0c;每个行业/领域都在融合大模型。作为低代码开发的探索者&#xff0c;今天我们来聊聊业务系统是如何融合大模型实现智能化的。 我们用百度内部实际应用场景来举例。比如请假&#xff0c;智能业务助手可以帮你&#xff1a; 了解…

卸载torch并更新版本,torch-gpu的下载安装--亲测有效!!

以前一直抱怨实验室的cuda版本&#xff0c;以前是10.1&#xff0c;导致只能安装最低配版本的torch&#xff0c;也就是torch1.8.1&#xff0c;现在内核版本和驱动都更新了&#xff0c;变成了cuda11.4&#xff0c;以前的环境都没办法跑代码&#xff0c;只能重新进行卸载安装。 1…

计算机毕业设计-基于Python的“哔哩哔哩视频网”视频热度分析

概要 在21世纪的今天&#xff0c;网络发展越来越快&#xff0c;网上的娱乐方式也越来越多样化&#xff0c;而如今在网上观看视频消遣时间越来越受到大众的青睐。Bilibili视频网站是现当下年轻人最受欢迎的一个视频网站。有调查显示&#xff0c;直到2019年的10月份&#xff0c;B…

flowable-ui部署

版本 java: java8+tomcat: apache-tomcat-9.0.87flowable: flowable-6.8.1mysql驱动: mysql-connector-java-8.0.30.jar 注意:版本一定要对,否则启动报错执行数据库脚本 创建数据库flowable执行脚本,脚本位于解压flowable-6.8.1.zip后的flowable-6.8.1/database/create/all/…

机器学习——终身学习

终身学习 AI不断学习新的任务&#xff0c;最终进化成天网控制人类终身学习&#xff08;LLL&#xff09;&#xff0c;持续学习&#xff0c;永不停止的学习&#xff0c;增量学习 用线上收集的资料不断的训练模型 问题就是对之前的任务进行遗忘&#xff0c;在之前的任务上表现不好…

MySQL数据库的基本概念与安装

目录 引言 一、数据库的基本概念 &#xff08;一&#xff09;数据、表与数据库 1.数据(Data) 2.表 3.数据库 &#xff08;二&#xff09;数据库管理系统 &#xff08;三&#xff09;数据库系统 二、数据库的发展 三、主流数据库的介绍 &#xff08;一&#xff09;关…

基于BusyBox的imx6ull移植sqlite3到ARM板子上

1.官网下载源码 https://www.sqlite.org/download.html 下载源码解压到本地的linux环境下 2.解压并创建install文件夹 3.使用命令行配置 在解压的文件夹下打开终端&#xff0c;然后输入以下内容&#xff0c;其中arm-linux-gnueabihf是自己的交叉编译器【自己替换】 ./config…

杰发科技AC7801——读取Flash数据做CRC校验

查看Keil的编译结果发现总共6160个字节。计算结果如下&#xff0c; 代码如下 #include "ac780x_crc.h" #include "ac780x.h" #include "ac780x_debugout.h" #include "string.h" #include "ac780x_eflash.h"#define TestSi…

2024年第二届亚洲前沿图像处理会议(AAIP 2024)即将召开!

2024年第二届亚洲前沿图像处理会议(AAIP 2024)将于2024年7月26-28日在泰国曼谷召开。本次会议由温特沃斯理工学院、国立中山大学、泰国国立法政大学联合主办&#xff0c;JOIG期刊参与支持。会议旨在促进图像处理相关领域学术交流与合作&#xff0c;热忱欢迎从事相关技术研究的专…

【PyQt】17-日历控件

文章目录 前言一、代码二、运行结果总结 前言 固定格式的表述 日期的获取 一、代码 #Author &#xff1a;susocool #Creattime:2024/3/19 #FileName:40-日历控件 #Description: 日历控件的展示 import sys from PyQt5.QtCore import * from PyQt5.QtWidgets import * from PyQ…

麒麟 V10 一键安装 Oracle 11GR2(231017)单机版

Oracle 一键安装脚本&#xff0c;演示 麒麟 V10 一键安装 Oracle 11GR2 单机版过程&#xff08;全程无需人工干预&#xff09;&#xff1a;&#xff08;脚本包括 ORALCE PSU/OJVM 等补丁自动安装&#xff09; ⭐️ 脚本下载地址&#xff1a;Shell脚本安装Oracle数据库 脚本第…

代码随想录算法训练营第十一天| 20. 有效的括号、1047. 删除字符串中的所有相邻重复项、150. 逆波兰表达式求值

题目&#xff1a;20. 有效的括号 文章链接&#xff1a;代码随想录 视频链接&#xff1a;LeetCode:20.有效的括号 题目链接&#xff1a;力扣题目链接 图释&#xff1a; class Solution { public:// 有效的括号 bool isValid(string s) {// 遇到左括号时就放入右括号&#xf…

【C语言】结构体类型名、变量名以及typedef

文章目录 分类判断结构体成员的使用typedef 分类判断 struct tag {char m;int i; }p;假设定义了上面这一个结构体&#xff0c;tag 就是类型名&#xff0c; p 就是变量名&#xff0c; m 和 i 就是结构体成员列表。 可以这么记&#xff0c;括号前面的是类型名&#xff0c;括号后…

尝试搭建谷粒商城 记录(四)

1、分布式组件 父工程引入依赖&#xff08;已完成&#xff09; spring boot 2.1.8.RELEASE spring cloud Greenwich.SR3 spring cloud alibaba 2.1.0.RELEASE 1. nacos用作服务注册中心 1、nacos下载安装 下载地址&#xff1a; https://github.com/alibaba/nacos/rel…

教务管理系统(java+mysql+jdbc+Druid+三层架构)

1、项目要求 1.1数据库表描述 设计一个教务管理系统&#xff0c;要求如下&#xff1a; 系统涉及的表有 account表&#xff08;账号表&#xff09; teacher表&#xff08;教师表&#xff09; student表&#xff08;学生表&#xff09; course表 (课程表) score表&#xff08;成…

【运维】MacOS Wifi热点设置

目录 打开热点 配置共享网段 打开热点 打开macOS设置&#xff0c;进入通用->共享 点击如下图标进行配置&#xff0c; 会进入如下界面&#xff08;⚠️目前是打开共享状态&#xff0c;无法修改配置&#xff0c;只有在未打开状态才能进入配置&#xff09; 配置完成后&#x…

STM32-DMA数据转运

DMA进行转运的条件 1&#xff1a;开关控制&#xff0c;DMA_CMD必须使能2&#xff1a;传输计数器必须大于03&#xff1a;触发源必须有触发的信号

短剧app系统开发:在短剧爆发期普通人如何实现收益?

今年春节&#xff0c;几部大热短剧抓住了流量密码&#xff0c;在市场中掀起了一股新的短剧热潮。在短剧火爆的诱惑下&#xff0c;吸引了越来越多的人进行到短剧市场中&#xff0c;市场规模迅速暴涨&#xff0c;已超五百多亿元&#xff01; 随着互联网的发展&#xff0c;各类影…

宝宝洗衣机买几公斤?四款实力扛鼎婴儿洗衣机推荐

对于有了宝宝的家庭来说&#xff0c;洗衣成为了一项重要的家务事。大家都知道&#xff0c;宝宝的皮肤比较娇嫩&#xff0c;容易受到各种细菌、病毒的侵扰。所以&#xff0c;宝宝的衣物应该与大人的分开单独清洗。婴儿洗衣机作为一种专门为婴幼儿家庭设计的洗衣机&#xff0c;其…

Vue.js前端开发零基础教学(二)

目录 前言 2.1 单文件组件 2.2 数据绑定 2.2.2 响应式数据绑定 2.3 指令 2.3.1 内容渲染指令 2.3.2 属性绑定指令 ​编辑 2.3.3 事件绑定指令 2.3.4 双向数据绑定指令 2.3.5 条件渲染指令 2.3.6 列表渲染指令 2.4 事件对象 2.5 事件修饰符 学习目标&am…