网站留言模块,app设计理念,高端品牌名称,哪家公司建设网站好安卓开发从0到1~基础讲解 文章目录 安卓开发从0到1~基础讲解1.为什么开始学习android开发2. android发展历程3. android的工程目录结构1. app/#xff1a;该目录下包含应用程序的源代码和资源文件。2. gradle/#xff1a;包含 Gradle 构建脚本文件。3. Gradle Wrapper/#…安卓开发从0到1~基础讲解 文章目录 安卓开发从0到1~基础讲解1.为什么开始学习android开发2. android发展历程3. android的工程目录结构1. app/该目录下包含应用程序的源代码和资源文件。2. gradle/包含 Gradle 构建脚本文件。3. Gradle Wrapper/包含 Gradle Wrapper 的相关文件用于自动下载并使用指定版本的 Gradle。4. build/构建过程中生成的输出文件和临时文件。5. libs/用于存放第三方库JAR 文件的目录。6. tests/包含单元测试和仪器化测试的相关代码。 4.其他一些概念1.什么是gradle2.对项目中的两个build.gradle的解释1. 项目级别的 build.gradle2. 模块级别的 build.gradle3. Android的SDK对应版本号4.对清单文件AndroidManifest.xml的解析1.包名Package Name2.应用程序图标Application Icon3.应用程序名称Application Name4.权限声明Permissions Declaration5.应用程序组件Application Components6.应用程序启动器Launcher7.其他配置项 5.Android中的log日志VERBOSEDEBUGINFOWARNERROR 6.什么是Activity用户界面生命周期管理界面导航数据传递和返回生命周期状态保存与恢复生命周期状态保存与恢复 1.为什么开始学习android开发
我本是一名java后端开发人员因为换了一份工作找到了一份android开发工程师的工作并且自己也想在移动端有所建树时间原因不说废话直接干货从0走起。
2. android发展历程 2003年Android Inc. 成立由安迪·鲁宾、里奇·马兰尼等人创建。他们着手开发一种基于Linux内核的移动设备操作系统。 2005年Google 收购了 Android Inc.并将其作为未来移动设备操作系统的基础。 2007年首款搭载 Android 操作系统的智能手机 HTC Dream也称为 T-Mobile G1发布标志着 Android 手机的诞生。 2008年Google 发布了首个 Android 版本——Android 1.0。这个版本包含了许多现在被视为经典的功能和设计元素。 2009年随着 Android 2.0 的发布Google 推出了名为 Nexus One 的旗舰级 Android 手机。 2010年Android 应用程序商店 Google Play当时称为 Android Market开始运营为开发者提供了一个广泛分发和销售他们应用程序的平台。 2011年随着 Android 4.0冰淇淋三明治的发布Google 引入了全新的用户界面设计语言——Material Design并改进了操作系统的稳定性和性能。 2014年随着 Android 5.0棒棒糖的发布Google 推出了 Android 开发者预览计划使开发者能够在新发布之前提前体验和测试最新版本。 2016年Android Studio 成为官方的集成开发环境IDE取代了 Eclipse并为开发者提供更强大、高效的开发工具。 2017年随着 Android 8.0奥利奥的发布Google 引入了 Project Treble旨在简化 Android 设备制造商对操作系统升级的过程加快设备广泛采用新版本的速度。
3. android的工程目录结构 1. app/该目录下包含应用程序的源代码和资源文件。
src/Java 或 Kotlin 源代码文件所在的目录。res/包含应用程序使用到的各种资源文件如布局文件、图像、字符串等。manifests/AndroidManifest.xml 文件所在的目录其中声明了应用程序的配置信息、权限等。assets/可选目录可以存放应用程序需要用到的一些原始数据文件。
2. gradle/包含 Gradle 构建脚本文件。
build.gradle项目级别的配置文件用于指定项目的依赖和构建配置。settings.gradle设置项目模块的信息。
3. Gradle Wrapper/包含 Gradle Wrapper 的相关文件用于自动下载并使用指定版本的 Gradle。
gradlewUNIX 系统下的 Gradle Wrapper 脚本。gradlew.batWindows 系统下的 Gradle Wrapper 脚本。gradle/wrapper/gradle-wrapper.jarGradle Wrapper 的 JAR 文件。gradle/wrapper/gradle-wrapper.propertiesGradle Wrapper 配置文件指定下载的 Gradle 版本。
4. build/构建过程中生成的输出文件和临时文件。
generated/包含在编译期间生成的代码和资源。outputs/包含构建结果的文件如 APK 文件、AAR 文件等。
5. libs/用于存放第三方库JAR 文件的目录。
6. tests/包含单元测试和仪器化测试的相关代码。 此外根目录下还有一些其他的文件如 build.gradle项目的根级别 Gradle 构建脚本文件。 gradlewUNIX 系统下的用于执行 Gradle 命令的脚本。 settings.gradle指定项目模块的信息。
4.其他一些概念
1.什么是gradle
Gradle 是一种构建工具用于自动化构建、测试和部署软件项目。它是一个开源的构建工具旨在提供一种灵活、效率高且易于使用的方式来构建各种类型的项目。
Gradle 使用 Groovy 或 Kotlin 作为构建脚本的DSL领域特定语言允许开发者通过编写脚本来定义项目的构建过程包括依赖管理、编译、打包等操作步骤。
相比于传统的构建工具如 Ant 或 MavenGradle 提供了更强大和灵活的功能。它支持基于约定的配置同时也支持自定义任务和插件可以方便地集成第三方库和工具以满足不同项目的需求。
Gradle 具有以下特点和优势
声明式构建通过声明依赖关系、任务和插件使构建过程更清晰、可维护。灵活性可以根据项目的需要自定义构建过程适应各种复杂的构建场景。高性能采用增量构建和缓存策略只重新构建必要的部分提高构建速度。多语言支持支持多种编程语言和技术栈如 Java、Kotlin、Android、C/C等。插件生态系统丰富的插件仓库和社区支持提供了大量可重用的构建任务和功能扩展。
Gradle 在 Android 开发中得到广泛应用作为 Android Studio 的默认构建系统它能够帮助开发者管理依赖、编译代码、生成 APK 文件等。此外Gradle 还可以用于其他类型的项目如 Java 应用程序、Web 应用程序等。
2.对项目中的两个build.gradle的解释
在 Android 项目中存在两个 build.gradle 文件分别位于项目级别和模块级别。
1. 项目级别的 build.gradle
// Top-level build file where you can add configuration options common to all sub-projects/modules.
plugins {id com.android.application version 8.0.2 apply falseid com.android.library version 8.0.2 apply false
} 在 Android 项目的根目录下有一个名为 build.gradle 的文件。这个文件定义了整个项目的全局配置包括构建脚本的版本、项目的仓库依赖等。主要包含以下内容 buildscript用于配置构建脚本的相关信息如依赖项和插件。 repositories指定构建所需的仓库地址从中下载依赖库。 dependencies定义构建脚本自身所需要的依赖项。
通过修改项目级别的 build.gradle 文件可以添加或修改构建工具的版本、引入全局依赖项等。
2. 模块级别的 build.gradle
plugins {id com.android.application
}android {namespace com.example.myapplicationcompileSdk 33defaultConfig {applicationId com.example.myapplicationminSdk 21targetSdk 33versionCode 1versionName 1.0testInstrumentationRunner androidx.test.runner.AndroidJUnitRunner}buildTypes {release {minifyEnabled falseproguardFiles getDefaultProguardFile(proguard-android-optimize.txt), proguard-rules.pro}}compileOptions {sourceCompatibility JavaVersion.VERSION_1_8targetCompatibility JavaVersion.VERSION_1_8}
}dependencies {implementation androidx.appcompat:appcompat:1.4.1implementation com.google.android.material:material:1.5.0implementation androidx.constraintlayout:constraintlayout:2.1.3testImplementation junit:junit:4.13.2androidTestImplementation androidx.test.ext:junit:1.1.3androidTestImplementation androidx.test.espresso:espresso-core:3.4.0
}在 Android 项目中的每个模块如 app 模块都有一个对应的 build.gradle 文件。该文件位于模块目录下通常是 app/build.gradle。这个文件指定了特定模块的构建配置包括编译选项、依赖项、签名配置等。主要包含以下内容 android指定与 Android 相关的构建选项如编译版本、最小 SDK 版本、目标 SDK 版本等。 dependencies定义模块所依赖的其他模块或第三方库。 buildTypes定义不同编译类型的配置如 Debug、Release 等。 signingConfigs指定应用程序签名配置的信息。
通过修改模块级别的 build.gradle 文件可以针对特定模块进行不同的构建配置添加所需的依赖项和自定义编译选项。
这两个 build.gradle 文件是 Android 项目中重要的构建配置文件用于控制整个项目的构建过程包括各种编译选项、依赖管理等。
3. Android的SDK对应版本号 4.对清单文件AndroidManifest.xml的解析
AndroidManifest.xml是Android应用程序的清单文件它承载了应用程序的基本信息、设置和配置。
?xml version1.0 encodingutf-8?
manifest xmlns:androidhttp://schemas.android.com/apk/res/androidxmlns:toolshttp://schemas.android.com/toolsapplicationandroid:allowBackuptrue//是否容许备份android:dataExtractionRulesxml/data_extraction_rulesandroid:fullBackupContentxml/backup_rulesandroid:iconmipmap/ic_launcherandroid:labelstring/app_nameandroid:roundIconmipmap/ic_launcher_roundandroid:supportsRtltrueandroid:themestyle/Theme.MyApplicationtools:targetApi31activityandroid:name.MainActivityandroid:exportedtrueintent-filteraction android:nameandroid.intent.action.MAIN /category android:nameandroid.intent.category.LAUNCHER //intent-filter/activity/application/manifest1.包名Package Name
AndroidManifest.xml文件的第一行指定了应用程序的包名它必须是全局唯一的标识符用于区分不同的应用程序。
2.应用程序图标Application Icon
通过在application标签内部设置android:icon属性可以指定应用程序在应用列表和桌面上显示的图标。
3.应用程序名称Application Name
通过在application标签内部设置android:label属性可以指定应用程序的名称在应用列表和标题栏显示。
4.权限声明Permissions Declaration
通过在manifest标签内部声明uses-permission子标签可以列出应用程序所需的各种权限如访问网络、读写存储等。
5.应用程序组件Application Components
-通过在application标签内部声明activity、service、receiver和provider子标签可以定义应用程序的四个核心组件。
-Activity表示用户界面的独立屏幕通过声明activity标签来定义。 -Service后台运行的组件通过声明service标签来定义。 -BroadcastReceiver接收系统广播或自定义广播的组件通过声明receiver标签来定义。 -Content Provider提供数据给其他应用程序访问的组件通过声明provider标签来定义。
6.应用程序启动器Launcher
通过在activity标签内部设置intent-filter和category属性可以指定应用程序的启动界面入口点即点击应用图标后打开的第一个界面。
7.其他配置项
AndroidManifest.xml还可以包含其他各种配置项如版本号、最低SDK版本要求、屏幕方向、多语言支持等。
5.Android中的log日志
在Android中日志系统提供了不同的日志等级Log Level来区分和指示日志的重要程度和详细程度。常见的五个日志等级从低到高如下 VERBOSE 最低的日志等级用于输出详细的调试信息。通常在调试阶段使用用于记录程序执行过程中的详细信息。 DEBUG 调试日志等级用于输出调试信息辅助应用程序的开发和调试工作。一般情况下DEBUG级别的日志信息在发布应用程序时会被禁用或移除掉。 INFO 信息日志等级用于输出一般的信息性消息。这些消息可以用来追踪应用程序的运行状态但不是那么具体或详细。 WARN 警告日志等级表示潜在的异常情况可能会导致应用程序出现问题。这些警告信息表明应用程序在某些方面存在潜在的风险或错误但并不会导致应用程序崩溃。 ERROR
最高的日志等级用于输出错误消息。当应用程序遇到严重的错误或异常情况时会使用ERROR级别记录相应的错误信息这些错误可能导致应用程序终止或无法正常运行。
开发者可以使用不同日志等级的打印方法如Log.v()、Log.d()、Log.i()、Log.w()、Log.e()根据实际需求和场景输出相应等级的日志信息。在正式发布应用程序时应该避免过多地输出低级别的日志以提高应用性能和减少不必要的日志信息。 6.什么是Activity
在Android中Activity活动是一种表示用户界面的组件它通常代表应用程序中的一个屏幕或一个交互页面。每个Activity都提供了与用户交互的界面并且可以包含用户输入、数据展示、响应事件等功能。
Activity在Android应用程序中扮演着重要角色它负责处理以下任务 用户界面 Activity定义了应用程序的用户界面通过在屏幕上显示视图元素如按钮、文本框、图像等来与用户进行交互。每个Activity都会占据整个屏幕或位于其他Activity之上的一个窗口。 生命周期管理 Android系统按照一定的生命周期管理Activity的创建、启动、暂停、恢复、停止和销毁等过程。开发者可以根据需要重写不同生命周期方法如onCreate()、onStart()、onResume()、onPause()、onStop()、onDestroy()等在这些方法中执行相关操作。 界面导航 由于应用程序通常由多个Activity组成Activity之间可以相互切换和导航。例如从一个Activity启动另一个Activity从而实现应用程序内部的页面跳转和交互。 数据传递和返回 Activity之间可以通过Intent对象传递数据一个Activity可以启动另一个Activity并且传递参数。同时当从一个Activity返回到前一个Activity时可以携带返回的数据。 生命周期状态保存与恢复 在某些情况下如设备旋转、内存紧张Activity可能会被销毁并重新创建。通过合理保存和恢复Activity的状态可以避免数据丢失和用户体验不连续的问题。 总之Activity是Android应用程序的核心组件之一用于展示用户界面、处理用户交互以及管理生命周期等功能。通过合理设计和使用Activity可以构建出丰富、灵活的 Android 应用程序。
通过Intent对象传递数据一个Activity可以启动另一个Activity并且传递参数。同时当从一个Activity返回到前一个Activity时可以携带返回的数据。 生命周期状态保存与恢复 在某些情况下如设备旋转、内存紧张Activity可能会被销毁并重新创建。通过合理保存和恢复Activity的状态可以避免数据丢失和用户体验不连续的问题。 总之Activity是Android应用程序的核心组件之一用于展示用户界面、处理用户交互以及管理生命周期等功能。通过合理设计和使用Activity可以构建出丰富、灵活的 Android 应用程序。