首页 > 其他分享 >面向初学者的 Android 应用开发基础知识

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

时间:2022-10-04 16:01:58浏览次数:42  
标签:xml 应用程序 基础知识 构建 初学者 组件 Android public


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的基本结构布局如下:

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


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

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 应用开发基础知识_应用程序_02

Android 生命周期的状态:

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

⭐️ 好书推荐

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

【内容简介】

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


标签:xml,应用程序,基础知识,构建,初学者,组件,Android,public
From: https://blog.51cto.com/haiyongblog/5731308

相关文章

  • 计算机核心基础知识
    计算机基础操作系统......
  • 初学者了解的Java!
    简单看JavaJava的诞生和发展Java是由SunMicrosystems公司于1995年5月推出的Java面向对象程序设计语言和Java平台的总称。由JamesGosling和同事们共同研发......
  • Android系统10 RK3399 init进程启动(四十) 开机自启动脚本init.rc执行逻辑框架
    说明系统:Android10.0设备:FireFlyRK3399(ROC-RK3399-PC-PLUS)前言这个章节我们开始学习新的知识点,init.rc相关概念,也就是Android开机自启动的脚本,这个脚本能启动shell脚......
  • androidmanifest.xml 反编译
    androidmanifest.xml反编译去除更新只修改androidmanifest.xml内容解压apk文件后得到这个文件androidmanifest.xmlwindwos安装java环境官网java环境安装安装好后......
  • Android Install Termux
    PlayStoreInstallTermuxInstallpackages:pkginstallopensshOpenSSHservice:sshd&SeewhoamI:whoamiSeeIP:ifconfigSetpassword:passwdLoginviaanothercomp......
  • Android将会有无密码登录功能,你信吗?
    谷歌有望在今年年底前取消登录Android应用密码,改用更为先进的人工智能识别模式谷歌可根据用户的使用模式来进行身份验证,从而省去了繁琐的密码输入步骤。根据谷歌透露的......
  • 组装电脑基础知识之固态硬盘
    前言本系列文章是为准备自己组装台式机的小伙伴写的关于中央处理器CPU、主板、显卡等部分的参考资料。一、简介固态硬盘(SolidStateDisk或SolidStateDrive,简称SSD),又......
  • 如何实现Android平台GB28181设备对接Camera2数据
    技术背景在写如何实现Android平台GB28181设备对接Camera2数据说明之前,我在前两年的blog就有针对camera2的RTMP直播推送模块做过技术分享:在Google推出Android5.0的时候,An......
  • Android将倒计时做到极致
    publicclassCountDownTimer{privateintmTimes;privateintallTimes;privatefinallongmCountDownInterval;privatefinalHandlermHandler;pr......
  • (四)MySQL基础知识之union和排序
    继续连着昨天数据库的基本操作,今天看下MySQL的union功能和排序 union:UNION操作符用于连接两个以上的SELECT语句的结果组合到一个结果集合中。如果多个SELECT语句会......