7天入门Android开发之第1天——初识Android

news2024/10/6 12:19:35

一、Android系统

        1.Linux内核层

        这是安卓系统的底层,它提供了基本的系统功能,如内存管理、进程管理、驱动程序模型等。安卓系统构建在Linux内核之上,借助于Linux的稳定性和安全性。

        2.系统运行库层

        这一层包括了安卓系统的各种运行库,如Surface Manager、Media Framework、SQLite等。这些库提供了访问系统功能的接口,例如图形绘制、多媒体处理、数据库访问等。

        3.应用框架层

        这一层提供了开发应用程序所需的各种API(应用程序接口),如Activity Manager、Content Providers、View System等。开发人员可以利用这些API来创建各种类型的安卓应用,从简单的工具应用到复杂的游戏和社交媒体应用。

4.应用层

        这是用户直接与之交互的层,包括各种安卓应用程序,如电话、短信、浏览器、游戏,还要我们自己开发的应用程序等。用户通过这些应用程序来完成各种任务和活动。

二、Android应用开发特点

        1.多语言支持

         安卓开发不限于一种编程语言。最常用的是Java和Kotlin,但也支持C/C++,通过NDK(Native Development Kit)可以在应用中集成本地代码。这种多语言支持使得开发者可以根据自己的偏好和需求选择最适合的语言进行开发。

        2.四大组件

        这些组件可以独立开发、测试和调试,然后通过清单文件(Manifest)进行集成。这种组件化开发方式使得应用的结构更清晰,易于维护和扩展。

        3.丰富的控件资源

        安卓应用通常使用XML文件定义用户界面的布局。开发者可以使用Android Studio提供的可视化布局编辑器中各种控件直观地设计应用界面,并且还支持自定义控件。

        4.多媒体服务:

        Android系统提供了各种多媒体服务,如视频,音乐,相机,闹钟等,通过这些可以开发出相当精彩的应用。

        5.事件驱动编程   

      (1)安卓应用的开发通常是基于事件驱动的编程模型。开发者可以通过注册监听器(Listener)来响应用户的交互事件,如点击按钮、滑动屏幕等。

      (2)这种事件驱动的编程模型使得应用可以实现丰富的交互功能,与用户进行更加直接和有效的沟通。

三、搭建Android开发环境

        Android Studio 安装配置教程 - Windows(详细版)-CSDN博客

        若官网未找到当前版本安装包,可以从下面链接下载:https://pan.baidu.com/s/1dte5ewoUix5mBJiYNqmhIQ?pwd=43ad 
提取码:43ad :
 

四、第一个Android项目 Hello world

        1.在Android studio中创建Hello world

        1)在android studio欢迎界面点击New project,如图1-1所示

图 1-1 创建新项目

        2)点击Empty Activity,再点击Next.

         Phone and Table : 手机和平板应用

        Wear OS :穿戴设备

        Television: TV电视

        Autumotive:汽车操作设备     

图1-2 选择项目模板

        3)进入下面这个界面设置应用最低兼容版本,其中Name表示项目名称,Package name表示包名,Android系统就是根据包名来区分不同应用程序的,一般会自动生成,也可以自己修改,但是必须要具备唯一性;Save location表示项目保存路径;Language表示当前编程使用的语言默认Java;Minimum SDK表示最低兼容Android版本;build configuration language表示配置文件使用语言,包括Kotlin和Groovy等,默认即可。

图 1-3 设置项目基本信息

        4)接下来点击finish完成项目创建,第一次加载项目需要等待稍微长一点的时间。等待加载配置完,即可编辑项目。现在Hello world项目已经创建好了,点击运行之前需要一台Android手机,或者是一个Android模拟器。

2.创建Android模拟器

        1)项目加载完可以看到下面这个界面,如图1-4

图 1-4 创建模拟器

        2)点击右上角手机图标,再点击Create Device出现下面窗口,选择模拟器类型,我们选择Phone中Pixel Xl设备即可,点击Next完成创建。 如图 1-5

图 1-5 选择模拟器类型

        3)接下来我们选择Android系统版本,我这里是API30,Android 11,我这是已经下载好的界面,那一行就不再显示下载箭头了,如图1-6

图 1-6选择虚拟器的版本

        4)选择好之后若没有下载对应的系统版本即需要点击对应行的下载箭头出现下面界面,选择Accept,再点击Next,如图1-7,否则直接点击图1-6的Next界面

图1-7 下载API

        5) 下载完成后点击fiish

        6)回到图1-6,点击Next进入下面界面,如图1-8

     图1-8

          7) 点击Finish,在右上角即可看到设备。

     图1-9

          8)点击设备三角符号即可运行设备。

        图1-10

五、运行项目,查看效果

        1)点即项目右上角绿色三角形即可,如图1-11

        2)效果

六、项目结构

        现在可能会有人问在MainActivity.java文件中并没有设置Hello World!的语句,那么是在哪设置的呢。其实在Android studio开发中,所有的界面文件都在res目录下中layout文件夹下面,可以从图1-13中看到设置了一个textView。

图 1-13

        上面图1-13的项目结构并不是真是的目录结构,这样的目录结构只是为了方便管理,以及清楚明了,可以点击左上方的Android绿色图标,选择Project,这个项目结构才是真的目录结构。

图 1-14 项目结构选择项

图 1-15 真正的项目结构

1)项目基本组成

      我们可以从Android项目结构下,看到一个项目主要由四个部分组成,第一部分为manifests下的Androidmanifest.xml文件;第二部分是java目录下的存放的Java类文件;第三部分是res目录下的资源文件;第四部分是Gradle Scripts下的配置文件。这些文件的作用

  1. Androidmanifest.xml 文件

    • 这是整个 Android 项目的配置文件,位于 app/src/main 目录下。
    • 在这个文件中,您需要注册应用程序的四大组件(Activity、Service、BroadcastReceiver、ContentProvider)。
    • 此外,您还可以在 AndroidManifest.xml 中声明应用程序所需的权限。
    • 这个文件非常重要,因为它定义了应用程序的整体行为和特性。
  2. java 目录

    • 位于 app/src/main 目录下,用于存放所有的 Java 代码文件。
    • 您的应用程序的主要业务逻辑和功能将在这里实现。
    • 例如,您刚刚创建的 HelloWorldActivity 文件就应该放在这个目录中。
  3. res 目录

    • 位于 app/src/main 目录下,用于存放各种资源文件。
    • 这些资源包括图片、布局文件、字符串等。
    • 具体的子目录包括:
      • drawable:存放图形文件(例如图标、背景图等)。
      • anim:存放动画文件。
      • layout:存放布局文件,定义了应用程序的界面结构。
      • values:存放字符串、颜色、尺寸等常量值。
  4. Gradle Scripts 目录

    • 位于项目根目录下,包含了与 Gradle 构建相关的配置文件。
    • build.gradle.kts(project: HelloWorld):全局的 Gradle 构建脚本,通常不需要修改。
    • build.gradle.kts(Module: app):app 模块的 Gradle 构建脚本,指定了项目构建相关的配置。
    • proguard-rules.pro:用于指定代码混淆规则,以增加应用程序的安全性。
    • gradle.properties:全局的 Gradle 配置文件,影响整个项目的编译过程。
    • gradle-wrapper.properties:Gradle Wrapper 的配置文件,用于自动下载 Gradle。
    • local.properties:指定本机中的 Android SDK 路径。
    • settings.gradle:指定项目中所有引入的模块。

7、小结

        这些项目结构中的文件看起来很复杂,但是其实大部分操作都会由android studio自动帮我们添加,我们自己需要的动手的操作其实就那么几个文件,如Androidmanifest.xml,layout文件夹下面文件,build.gradle.kts等,这些文件操作将会后面的学习慢慢的解释出来。

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

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

相关文章

Python用于高级异常检测和聚类的工具库之BanditPAM使用详解

概要 Python BanditPAM库是一个用于高级异常检测和聚类的工具,具有强大的特性和灵活的功能,可以发现数据中的异常点并进行有效的聚类分析。本文将详细介绍Python BanditPAM库的安装、特性、基本功能、高级功能以及总结。 安装 首先,需要安装Python BanditPAM库。 可以使用…

Hadoop之路

hadoop更适合在liunx环境下运行,会节省后期很多麻烦,而用虚拟器就太占主机内存了,因此后面我们将把hadoop安装到wsl后进行学习,后续学习的环境是Ubuntu-16.04 (windows上如何安装wsl) 千万强调,有的命令一…

Python-VBA函数之旅-list函数

目录 一、list函数的常见应用场景: 二、list函数使用注意事项: 三、如何用好list函数? 1、list函数: 1-1、Python: 1-2、VBA: 2、推荐阅读: 个人主页:https://blog.csdn.net…

2015-2023年上市公司商道融绿ESG评级数据

2015-2023年上市公司商道融绿ESG评级数据 1、时间:2015-2023年 2、来源:整理自WIND 3、指标:代码、名称、商道融绿ESG评级 4、范围:上市公司 5、指标解释: 商道融绿ESG评级体系是一种全新的评级体系,…

Restful API 具体设计规范(概述)

协议 https 域名 https://www.baidu.com/api 版本 https://www.baidu.com/v1 路径 https://www.baidu.com/v1/blogs 方法 数据过滤 状态码返回结果 返回的数据格式 尽量使用 JSON,避免使用 XML。 总结: 看 url 就知道要什么看 http method 就知道干…

【网络技术】【Kali Linux】Wireshark嗅探(十一)以太网Ethernet协议报文捕获及分析

往期 Kali Linux 上的 Wireshark 嗅探实验见博客: 【网络技术】【Kali Linux】Wireshark嗅探(一)ping 和 ICMP 【网络技术】【Kali Linux】Wireshark嗅探(二)TCP 协议 【网络技术】【Kali Linux】Wireshark嗅探&…

BUUCTF--web(2)

1、[HCTF 2018]admin1 打开题目后发现有注册和登录两个页面,因为题目提示admin,尝试用admin进行爆破 爆破得到密码为123 登录得到flag 2、[护网杯 2018]easy_tornado1 打开题目后有三个文件,分别打开查看 在url地址栏中发现包含两个参数&a…

DBSCAB算法介绍(Python3实现)

一、DBSCAB算法简介 1、DBSCAN算法 基于密度的空间聚类的应用(Density-based spatial clustering of applications with noise,DBSCAN)算法是由Martin Ester, Hans-Peter Kriegel, Jrg Sander和Xiaowei Xu于1996年提出的一种聚类分析算法。 其原始论文是在1996年的…

ASP.NET某企业信息管理系统的设计与实现

摘 要 信息管理系统就是我们常说的MIS(Management Information System),它是一个计算机软硬件资源以及数据库的人-机系统。经过对题目和内容的分析,选用了Microsoft公司的ASP.NET开发工具,由于它提供了用于从数据库中访问数据的强大工具集,使用它可以建立开发比较完善的数据库…

untiy avpro播放超过8K视频的解决方案

安转LAV Filters解码器,然后指定Avpro使用这个解码器播放即可 第一步 安装解码器 下载链接 第二步 AVPro设置 MediaPlayer脚本中一共两处

计算完美数

一、概要 完全数(Perfect number),又称完美数或完备数,是一些特殊的自然数。 它所有的真因子(即除了自身以外的约数)的和(即因子函数),恰好等于它本身。 例如&#xf…

排序算法-计数排序

一、计数排序 这种排序算法 是利用数组下标来确定元素的正确位置的。 如果数组中有20个随机整数,取值范围为0~10,要求用最快的速度把这20个整数从小到大进行排序。 很大的情况下,它的性能甚至快过那些时间复杂度为O(nlogn)的排序。…

API和微服务设计的优化方式有哪些?

在构建响应迅速、用户体验良好的应用程序中,API性能的优化至关重要。在构建高性能的API时,采取综合策略是至关重要的。通过采用一系列策略,我们可以确保API在处理请求时高效运行,提供流畅的服务。 一、API和微服务设计的优化可以…

Linux系统安全及应用(1)

目录 一.账号安全控制 系统账号清理 二.密码安全控制 密码安全控制 三.命令历史限制 命令历史限制 四.限制su切换用户 1)将信任的用户加入到wheel组中 2)修改su的PAM认证配置文件 ​编辑五.PAM认证的构成 六.使用sudo机制提升权限…

机器人系统ros2-开发实践03-监听节点的参数变化(C++)

背景: 通常,节点需要响应其自身参数或另一个节点参数的更改。 ParameterEventHandler 类可以轻松侦听参数更改,以便您的代码可以响应它们。本教程将向您展示如何使用 ParameterEventHandler 类的 C 版本来监视节点自身参数的更改以及另一个节…

深入了解Semaphore、CountDownLatch等实用工具的用法

哈喽,各位小伙伴们,你们好呀,我是喵手。 今天我要给大家分享一些自己日常学习到的一些知识点,并以文字的形式跟大家一起交流,互相学习,一个人虽可以走的更快,但一群人可以走的更远。 我是一名后…

Android使用ProtoBuf 适配 gradle7.5 gradle8.0

ProtoBuf 适配 Gradle7.5 gradle-wrapper.properties 配置 distributionUrlhttps\://services.gradle.org/distributions/gradle-7.5-bin.zipProject:build.gradle: plugins {id com.android.application version 7.4.2 apply falseid com.android.library versio…

【智能算法】囊状虫群算法(TSA)原理及实现

目录 1.背景2.算法原理2.1算法思想2.2算法过程 3.结果展示4.参考文献 1.背景 2020年,S Kaur等人受到囊状虫群自然行为启发,提出了囊状虫群算法(Tunicate Swarm Algorithm, TSA)。 2.算法原理 2.1算法思想 TSA模拟了囊状虫群在导…

2分钟自己写小游戏:使用js和css编写石头剪刀布小游戏、扫雷小游戏、五子棋小游戏。新手老手毕业论文都能用。

系列文章目录 【复制就能用1】2分钟玩转轮播图,unslider的详细用法 【复制就能用2】css实现转动的大风车,效果很不错。 【复制就能用3】2分钟自己写小游戏:剪刀石头布小游戏、扫雷游戏、五子棋小游戏 【复制就能用4】2024最新智慧医疗智慧医院大数据…

【介绍下OneFlow概念清单】

🌈个人主页: 程序员不想敲代码啊 🏆CSDN优质创作者,CSDN实力新星,CSDN博客专家 👍点赞⭐评论⭐收藏 🤝希望本文对您有所裨益,如有不足之处,欢迎在评论区提出指正,让我们共…