安卓开发-day

一、安卓项目结构

1、manifests文件夹

Android系统配置文件夹,包含一个AndroidManifest.xml文件;

AndroidMainifest.xml文件是每个android项目必须要包含的文件(项目唯一),创建项目时默认就会生成这个文件,它配置了android运行的基本属性,具有很重要的作用。灵活配置文件中的属性可以处理复杂的页面逻辑操作、简化代码复杂度、提高灵活度等。下面看一下创建项目时默认生成的配置文件:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools">

    <application
        android:allowBackup="true"
        android:dataExtractionRules="@xml/data_extraction_rules"
        android:fullBackupContent="@xml/backup_rules"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/Theme.MyApplication"
        tools:targetApi="31">
        <activity
            android:name=".MainActivity"
            android:exported="true">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

此文件是xml语言编写的,因此在这个文件的最上方也添加了一个xml标签并设置了其version和encoding属性,这里还添加了几个标签,含义如下:

manifest标签:是整个文件的父标签,这个标签中添加了两个属性,xmlns是命名空间属性,同样需设置这个属性的属性值为:http://schemas.android.com/apk/res/android才可以使用“android:”为首的属性;package属性表示包名,这个属性的属性值为新建项目时设置的。

application标签:表示整个android应用,在项目中是唯一的,在这个标签中添加了几个属性:allowBackup属性设置为true表示允许备份应用的数据;icon属性设置了这个APP在桌面上显示的icon图标;label属性设置APP在桌面上显示的名称。

activity标签:一个Activity可以理解成一个APP的界面,这里只添加了一个name属性,设置属性值为 .MainActivity,这里的这个 “.” 表示当前Activity的包名,即name属性值为“包.Activity名”。注意,项目中的每一个Activity都需要在这个布局文件中添加配置。

intent-filter标签:顾名思义,此标签可以添加过滤,一般在隐式启动时用来过滤和匹配Activity。

action标签:添加这个标签并设置其name属性为android.intent.action.MAIN表示这个Activity为项目的主Activity,项目启动时会首先启动这个Activity。

category标签:添加这个标签并设置其name属性为android.intent.category.LAUNCHER,项目将在程序列表中显示,即上图显示在桌面上的图标,若去除这个标签该项目将不会出现在程序列表中。

2、java文件夹

存放Java代码的文件夹,新建项目时默认生成了三个文件夹,com.first.project文件夹用来存放Java文件,这里包含一个名为MainActivity的Java文件,是新建项目时默认生成的。第二个和第三个文件为测试代码文件夹,不是十分常用。

3、res文件夹

存放Android项目的资源文件,包含四个文件夹:drawable(图片资源文件夹)、layout(布局资源文件夹)、mipmap(图片资源文件夹,存放项目图标)、values(存放数值资源文件)。

PS:res下所有的资源文件都会在R.java文件下生成对应的资源id,我们可以直接通过资源id访问到对应的资源,这个R文件可以理解为字典,res下每个资源都都会在这里生成一个唯一的id!

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

RDMA Send Receive操作详解

1. 前言 RDMA指的是远程直接内存访问&#xff0c;这是一种通过网络在两个应用程序之间搬运缓冲区里的数据的方法。RDMA与传统的网络接口不同&#xff0c;因为它绕过了操作系统。这允许实现了RDMA的程序具有如下特点&#xff1a; 绝对的最低时延 最高的吞吐量 最小的CPU足迹 &a…

人工智能 AI 如何让我们的生活更加便利

每个人都可以从新技术中获益&#xff0c;一想到工作或生活更为便利、简捷且拥有更多空余时间&#xff0c;谁会不为之高兴呢&#xff1f;借助人工智能&#xff0c;每天能够多一些空余时间&#xff0c;或丰富自己的业余生活&#xff0c;为培养日常兴趣爱好增添一点便利。从电子阅…

ubuntu18.04 安装mysql(命令)

1.安装MySQL #命令1 sudo apt-get update #命令2 sudo apt-get install mysql-server 2.配置MySQL sudo mysql_secure_installation 2.2 检查mysql服务状态 systemctl status mysql.service 3.配置远程访问 在Ubuntu下MySQL缺省是只允许本地访问的 3.1 首先用根用户进入…

CentOS安装maxwell

CentOs安装maxwell 一、简介二、准备工作三、安装1、下载安装包2、解压3、编写配置文件4、启动maxwell5、验证6、停止maxwell 四、说明1、更新数据2、插入数据3、删除数据 五、遇到问题 一、简介 maxwell是由美国Zendesk公司开源&#xff0c;它通过读取mysql的binlog日志&#…

大语言模型系列-Transformer

文章目录 前言一、Attention二、Transformer结构三、Transformer计算过程1. 编码器&#xff08;Encoder&#xff09;1&#xff09;Self-Attention层2&#xff09;Multi-Head-Attention层3&#xff09;Add & Norm层 2. 解码器&#xff08;Decoder&#xff09;1&#xff09;M…

CC工具箱使用指南:【坡度细碎图斑融合】

一、简介 这算是一个定制的工具&#xff0c;可惜没用上&#xff0c;扔掉也可惜&#xff0c;就放出来&#xff0c;可能会有同样需求的人用得上。 在ArcGIS中通过DEM生成的坡度是栅格格式的&#xff0c;再经过栅格转矢量后&#xff0c;会存在一些碎图斑。 这个工具的目的是&am…

从零开始学习Zeppelin:大数据可视化分析的交互式开发系统!

介绍&#xff1a;Apache Zeppelin是一个基于Web的交互式开发系统&#xff0c;主要用于进行大数据可视化分析。其核心概念是notebook&#xff0c;所有的操作都可以在notebook中完成。Zeppelin提供了一套非常全面的数据分析解决方案&#xff0c;支持数据采集、数据发现、数据分析…

7. UE5 RPG修改GAS的Attribute的值

前面几节文章介绍了如何在角色身上添加AbilitySystemComponent和AttributeSet。并且还实现了给AttributeSet添加自定义属性。接下来&#xff0c;实现一下如何去修改角色身上的Attribute的值。 实现拾取药瓶回血功能 首先创建一个继承于Actor的c类&#xff0c;actor是可以放置到…

力扣精选算法100题——四数之和(双指针专题)

上一篇讲到&#xff08;俩数之和and三数之和&#xff09;这一篇我要来解析四数之和&#xff0c;四数之和建立在三数之和的基础上&#xff0c;我们需要熟练掌握三数之和的算法原理&#xff0c;如果大家三数之和还没弄清楚&#xff0c;请点击三数之和and二数之和链接即可看到。 三…

Vue3新特性defineModel()便捷的双向绑定数据

官网介绍 传送门 配置 要求&#xff1a; 版本&#xff1a; vue > 3.4(必须&#xff01;&#xff01;&#xff01;)配置&#xff1a;vite.config.js 使用场景和案例 使用场景&#xff1a;父子组件的数据双向绑定&#xff0c;不用emit和props的繁重代码 具体案例 代码实…

Unity URP切换品质和Feature开关的性能问题

现在对我的项目进行安卓端发布&#xff0c;需要切换品质和一些Feature开关。 我是这样做的。 划分品质 首先Renerer分为2个Android和PC&#xff0c;图中其他不用参考。 每个副本的URP Asset分为pc和android&#xff0c;例如图中的 hall和hall_android。 我们可以看到hall用的…

[设计模式Java实现附plantuml源码~创建型] 集中式工厂的实现~简单工厂模式

前言&#xff1a; 为什么之前写过Golang 版的设计模式&#xff0c;还在重新写Java 版&#xff1f; 答&#xff1a;因为对于我而言&#xff0c;当然也希望对正在学习的大伙有帮助。Java作为一门纯面向对象的语言&#xff0c;更适合用于学习设计模式。 为什么类图要附上uml 因为很…

conda install命令无法安装pytorch

由于网络问题&#xff0c;直接采用conda install命令可能无法直接下载对应的cuda包。 方法一&#xff1a;采用pip命令替代 步骤1&#xff1a;切换pip的源为国内源&#xff1a; 若只是临时切换&#xff1a; pip install -i https://pypi.tuna.tsinghua.edu.cn/simple some-p…

SSM(Spring,SpringMVC,MyBatis)整合项目

文章目录 SSM(Spring,SpringMVC,MyBatis)整合项目1.创建表2.创建工程3.pom.xml4.log4j.properties5.db.properties6.applicationContext-dao.xml7.applicationContext-tx.xml8.applicationContext-service.xml9.springmvc.xml10.web.xml11.pojo12.mapper13.service14.controlle…

学习VUE-安装环境

下载安装Node.js 官网下载最新版本&#xff1a;https://nodejs.org/en/download/ 解压zip包 由于node.js默认安装了npm所以不用额外配置全局命令就可以使用npm命令 在cmd中输入node -v 和 npm -v就可以得到版本信息 配置一下目录&#xff1a; node.js环境配置 配置镜像 安装…

mysql 容器化安装(docker)离线和在线

前言&#xff1a;在部署hive或airflow 升级过程中&#xff0c;总需要一个对应的数据库存储元数据&#xff0c;一个轻量级的mysql容器刚刚好。轻量、可快速移植、具有隔离性。 文章目录 1、查看机器版本2、安装 docker3、启动docker 服务4、docker 常用命令docker5、拉取mysql …

WPF异步高效绘制过万级别的矩形图形矢量图,无限放大缩小,显示效果极佳

WPF异步高效绘制过万级别的矩形图形矢量图&#xff0c;无限放大缩小&#xff0c;显示效果极佳&#xff0c;先看效果如下&#xff1a; 想在WPF上绘制图形&#xff0c;有哪些方式&#xff1f; 1.通过Canvas静态绘图方法&#xff0c;例如&#xff1a; <Canvas><Ellips…

从前端角度浅谈性能 | 京东物流技术团队(转载)

1 前言 自网站诞生以来&#xff0c;页面白屏时间、用户交互的响应速度等一直都是开发者关心的问题&#xff0c;这直接影响了一个网站能否为用户的浏览提供舒适的服务&#xff0c;而这种舒适度&#xff0c;直接关系着对用户的吸引力&#xff0c;毕竟谁都不能忍受一个页面长达10秒…

linux-nfc neard 编译、安装与运行

项目github地址&#xff1a; https://github.com/linux-nfc/neard git clone地址&#xff1a; https://github.com/linux-nfc/neard.git 1.安装依赖库 clone完源码切换到目录neard里。这个项目需要依赖一下库&#xff1a; - GCC compiler - D-Bus library - GLib library …

muduo网络库剖析——监听者EpollPoller类

muduo网络库剖析——监听者EpollPoller类 前情从muduo到my_muduo 概要epoll原理解析epoll提供的接口epoll的触发模式epoll实现多路复用 框架与细节成员函数使用方法 源码结尾 前情 从muduo到my_muduo 作为一个宏大的、功能健全的muduo库&#xff0c;考虑的肯定是众多情况是否…