面向初学者的 Android 应用开发基础知识

Android是一个基本上为手机构建的操作系统。它基于 Linux Kernel 和其他开源软件,由Google开发。它用于智能手机和平板电脑等触摸屏移动设备。但现在这些都用于 Android Auto 汽车、电视、手表、相机等。它一直是智能手机最畅销的操作系统之一。Android OS 由Android Inc开发。谷歌在 2005 年收购了它。为这些智能手机构建了各种应用程序(应用程序),如游戏、音乐播放器、相机等,以便在 Android 上运行。Google Play 商店拥有超过 330 万个应用程序。该应用程序是在称为Android Studio 的应用程序上开发的。这些可执行应用程序通过称为APK(Android Package Kit)的包或包安装。

安卓基础

1. Android 编程语言

在 Android 中,基本上,编程是用两种语言JAVA 或 C++和XML(扩展标记语言)完成的。如今,KOTLIN 也是首选。XML 文件处理设计、演示、布局、蓝图等(作为前端),而 JAVA 或 KOTLIN 处理按钮、变量、存储等的工作(作为后端)。

2.安卓组件

App 组件是 Android 的构建块。每个组件都有自己的角色和生命周期,即从应用程序启动到结束。其中一些组件还依赖于其他组件。每个组件都有明确的用途。四个主要的应用程序组件是:

活动 服务 广播接收器: 内容提供商: 活动:它处理 UI 和用户与屏幕的交互。换句话说,它是一个包含活动的用户界面。这些可以是一个或多个,具体取决于应用程序。它在应用程序启动时启动。至少有一个活动始终存在,称为 MainActivity。该活动通过以下方式实施。

语法:

public class MainActivity extends Activity{
  // processes
}

服务:服务是应用程序执行的后台操作,这些可能是长时间运行的操作,例如用户在上网时播放音乐。一个服务可能需要其他子服务来执行特定的任务。服务的主要目的是在不中断与用户的任何交互的情况下提供应用程序的不间断工作。

语法:

public class MyServices extends Services{
  // code for the services
}

广播接收器:广播用于响应来自其他应用程序或系统的消息。例如,当手机的电池电量不足时,Android 操作系统会触发广播消息以启动省电功能或应用程序,在收到消息后,应用程序会采取适当的措施。Broadcast Receiver 是 BroadcastReceiver 类的子类,每个对象都由 Intent 对象表示。

语法:

public class MyReceiver extends BroadcastReceiver{
   public void onReceive(context,intent){
 }

内容提供者:内容提供者用于在另一个应用程序的请求下将数据从一个应用程序传输到另一个应用程序。这些由 ContentResolver 类处理。此类实现了一组 API(应用程序编程接口),使其他应用程序能够执行事务。任何内容提供者都必须实现 ContentProvider 类的父类。

语法:

public class MyContentProvider extends ContentProvider{
   public void onCreate()
   {}
}

3. Android Studio的结构布局

Android Studio的基本结构布局如下:

上图代表了一个应用程序的各种结构。

Manifest 文件夹:Android Manifest是一个 XML 文件,它是项目源集的根目录。它描述了有关应用程序和 Android 构建工具、Android 操作系统和 Google Play 的基本信息。它包含应用程序执行特定任务可能需要的权限。它还包含应用程序的硬件和软件功能,这些功能决定了应用程序在 Play 商店中的兼容性。它还包括特殊活动,如服务、广播接收器、内容提供者、包名称等。

Java 文件夹: JAVA文件夹包含执行应用程序后台任务所需的 java 文件。它由按钮、计算、存储、变量、toast(小弹出消息)、编程功能等功能组成。这些文件的数量取决于创建的活动类型。

资源文件夹: res 或 Resource 文件夹包含应用程序中使用的各种资源。这包括子文件夹,如drawable、layout、mipmap、raw和values。可绘制对象由图像组成。布局由定义用户界面布局的 XML 文件组成。这些存储在 res.layout 中,并作为 R.layout 类访问。原始文件由资源文件组成,如音频文件或音乐文件等。这些文件通过 R.raw.filename 访问。values 用于存储硬编码的字符串(认为可以安全地存储字符串值)值、整数和颜色。它由各种其他目录组成,例如:

  • R.array :arrays.xml 用于资源数组
  • R.integer : integers.xml 用于资源整数
  • R.bool : bools.xml 资源布尔值
  • R.color :colors.xml 用于颜色值
  • R.string : strings.xml 用于字符串值
  • R.dimen :尺寸值的dimens.xml
  • R.style :styles.xml 用于样式

Gradle 文件:Gradle 是一个高级工具包,用于管理构建过程,允许定义灵活的自定义构建配置。每个构建配置都可以定义自己的代码和资源集,同时重用所有应用程序版本共有的部分。Gradle 的 Android 插件与构建工具包一起工作,以提供特定于构建和测试 Android 应用程序的流程和可配置设置。Gradle 和 Android 插件独立于 Android Studio 运行。这意味着您可以在 Android Studio 中构建您的 Android 应用程序。Android 构建系统的灵活性使您能够执行自定义构建配置,而无需修改应用的核心源文件。

基本布局可以在树结构中定义为:

Project/
   app/
      manifest/
         AndroidManifest.xml
   java/
      MyActivity.java   
      res/
         drawable/  
            icon.png
            background.png
         drawable-hdpi/  
            icon.png
            background.png  
         layout/  
            activity_main.xml
            info.xml
         values/  
            strings.xml 

4. Android App中Activity的生命周期

Android App中Activity的生命周期可以通过这张图来展示:

Android 生命周期的状态:

1.OnCreate:首次创建活动时调用。 2.OnStart:当活动对用户可见时调用。 3.OnResume:当 Activity 开始与用户交互时调用。 4.OnPause:当活动对用户不可见时调用。 5.OnStop:当活动不再可见时调用。 6.OnRestart:当活动停止并重新启动时调用。 7.OnDestroy:当要关闭或销毁活动时调用它。

⭐️ 好书推荐

【内容简介】

  • 第1章 全新的Android UI框架
  • 第2章 了解常用UI组件
  • 第3章 定制UI视图
  • 第4章 状态管理与重组
  • 第5章 Compose组件渲染流程
  • 第6章 让页面动起来:动画
  • 第7章 增进交互体验:手势处理
  • 第8章 为Compose添加页面导航
  • 第9章 Accompanist与第三方组件库
  • 第10章 项目实战:小游戏Tetris
  • 第11章 项目实战:聊天应用Chatty

原文地址:https://cloud.tencent.com/developer/article/2115622

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


学习编程是顺着互联网的发展潮流,是一件好事。新手如何学习编程?其实不难,不过在学习编程之前你得先了解你的目的是什么?这个很重要,因为目的决定你的发展方向、决定你的发展速度。
IT行业是什么工作做什么?IT行业的工作有:产品策划类、页面设计类、前端与移动、开发与测试、营销推广类、数据运营类、运营维护类、游戏相关类等,根据不同的分类下面有细分了不同的岗位。
女生学Java好就业吗?女生适合学Java编程吗?目前有不少女生学习Java开发,但要结合自身的情况,先了解自己适不适合去学习Java,不要盲目的选择不适合自己的Java培训班进行学习。只要肯下功夫钻研,多看、多想、多练
Can’t connect to local MySQL server through socket \'/var/lib/mysql/mysql.sock问题 1.进入mysql路径
oracle基本命令 一、登录操作 1.管理员登录 # 管理员登录 sqlplus / as sysdba 2.普通用户登录
一、背景 因为项目中需要通北京网络,所以需要连vpn,但是服务器有时候会断掉,所以写个shell脚本每五分钟去判断是否连接,于是就有下面的shell脚本。
BETWEEN 操作符选取介于两个值之间的数据范围内的值。这些值可以是数值、文本或者日期。
假如你已经使用过苹果开发者中心上架app,你肯定知道在苹果开发者中心的web界面,无法直接提交ipa文件,而是需要使用第三方工具,将ipa文件上传到构建版本,开...
下面的 SQL 语句指定了两个别名,一个是 name 列的别名,一个是 country 列的别名。**提示:**如果列名称包含空格,要求使用双引号或方括号:
在使用H5混合开发的app打包后,需要将ipa文件上传到appstore进行发布,就需要去苹果开发者中心进行发布。​
+----+--------------+---------------------------+-------+---------+
数组的声明并不是声明一个个单独的变量,比如 number0、number1、...、number99,而是声明一个数组变量,比如 numbers,然后使用 nu...
第一步:到appuploader官网下载辅助工具和iCloud驱动,使用前面创建的AppID登录。
如需删除表中的列,请使用下面的语法(请注意,某些数据库系统不允许这种在数据库表中删除列的方式):
前不久在制作win11pe,制作了一版,1.26GB,太大了,不满意,想再裁剪下,发现这次dism mount正常,commit或discard巨慢,以前都很快...
赛门铁克各个版本概览:https://knowledge.broadcom.com/external/article?legacyId=tech163829
实测Python 3.6.6用pip 21.3.1,再高就报错了,Python 3.10.7用pip 22.3.1是可以的
Broadcom Corporation (博通公司,股票代号AVGO)是全球领先的有线和无线通信半导体公司。其产品实现向家庭、 办公室和移动环境以及在这些环境...
发现个问题,server2016上安装了c4d这些版本,低版本的正常显示窗格,但红色圈出的高版本c4d打开后不显示窗格,
TAT:https://cloud.tencent.com/document/product/1340