安卓期末考试知识总结

news2024/11/25 6:56:38

文章目录

  • 第一章:Android基础入门
    • 习题总结
    • 重点知识
  • 第二章:Android常见桌面布局&第三章:Android常见界面控件
    • 知识总结
    • 习题总结

第一章:Android基础入门

习题总结

  1. Android系统采用分层架构,由高到低分为4层,主要为:应用程序层、应用程序框架层、核心类库、Linux内核
  2. 在Android项目程序开发完成后中,必须__打包成_正式的Android安装文件,才能发布到互联网上让用户下载使用。
  3. Android 工程中src目录下存放_java__文件

重点知识

  1. 应用程序层:应用程序层是一个核心应用程序的集合。手机上所有的应用程序都属于这一层,联系人程序、短信程序
  2. 应用程序框架层:应用程序框架层主要提供构建应用程序时用到的各种API,例如:活动管理器、通知管理器、内容提供者
  3. 核心类库:核心类库中包含了系统库及Android运行环境。
    (1)系统库主要通过c/c++库为Android系统提供主要的特性支持
    (2)Android运行时库主要提供一些核心库,允许开发者使用java语言来编写Android应用程序
  4. Linux内核:为Android·设备的各种硬件提供底层的驱动,如显示驱动、音频驱动、蓝牙驱动、电源管理驱动

Android工程中的assets目录主要存放一些文件资源,这些文件会被原封不动的打包到APK文件中

更为细分的5层架构:应用程序层、应用程序框架层、核心类库、硬件抽象层 (HAL)、Linux内核
在这里插入图片描述
硬件抽象层 (HAL) 提供标准界面,向更高级别的 Java API 框架显示设备硬件功能。HAL 包含多个库模块,其中每个模块都为特定类型的硬件组件实现一个界面,例如相机或蓝牙模块。当框架 API 要求访问设备硬件时,Android 系统将为该硬件组件加载库模块。

第二章:Android常见桌面布局&第三章:Android常见界面控件

知识总结

  1. Android应用的界面是由View 对象和 ViewGroup 对象构建而成的。ViewGroup继承自View,ViewGroup作为容器盛装界面中的其他控件
    Android应用的每个界面的根元素必须有且只有一个ViewGroup容器

Android常见布局和特点:
Android中常见的五种布局:相对布局(RelativeLayout)、线性布局(LinearLayout)、表格布局(TableLayout)、帧布局(FrameLayout)、约束布局(ConstraintLayout)

  1. 相对布局(RelativeLayout):相对布局是一种基于相对位置的布局方式,可以通过设置组件相对于其他组件或父容器的位置来实现布局。相对布局的特点是可以实现较为复杂的布局,但是对于嵌套较多的布局会影响性能。
  2. 线性布局(LinearLayout):线性布局是一种按照线性方向排列组件的布局方式,可以设置水平或垂直方向。线性布局的特点是简单易用,但是对于复杂的布局可能不够灵活。
  3. 表格布局(TableLayout):表格布局是一种按照表格形式排列组件的布局方式,可以设置行和列。表格布局的特点是可以实现类似表格的布局,但是对于不规则的布局可能不够灵活。
  4. 帧布局(FrameLayout):帧布局是一种将组件按照层次关系排列的布局方式,后添加的组件会覆盖前面的组件。帧布局的特点是可以实现简单的层叠布局,但是对于复杂的布局可能不够灵活。
  5. 约束布局(ConstraintLayout):约束布局是一种基于约束关系排列组件的布局方式,可以设置组件之间的相对位置和大小。约束布局的特点是可以实现复杂的布局,同时对于性能的影响较小。

Android中ListView和RecyclerView都是常用的列表控件,它们的主要区别如下:

  • 性能方面:RecyclerView的性能比ListView更好,因为RecyclerView使用了ViewHolder模式,可以更好地重用视图,减少了内存的使用。
  • 布局方面:ListView只支持线性布局,而RecyclerView支持多种布局,包括线性布局、网格布局、瀑布流布局等。
  • 动画方面:RecyclerView支持ItemAnimator,可以方便地实现添加、删除和移动Item的动画效果。
  • 数据源方面:ListView使用Adapter作为数据源,而RecyclerView使用Adapter和LayoutManager作为数据源和布局管理器。
  • 缓存方面:RecyclerView支持灵活的缓存机制,可以自定义缓存策略,而ListView的缓存机制比较固定。
  • 总的来说,RecyclerView比ListView更加灵活和高效,而ListView则更加简单易用。

Android开发中实现Button按钮点击事件的方式有以下几种:

  1. 在布局文件中声明onClick属性:在布局文件中声明Button的onClick属性,然后在对应的Activity中实现对应的方法,当Button被点击时,该方法会被调用。
  2. 通过匿名内部类实现OnClickListener接口:在对应的Activity中,通过设置Button的setOnClickListener()方法,传入一个实现了OnClickListener接口的匿名内部类,当Button被点击时,该匿名内部类的onClick()方法会被调用。
  3. 通过实现OnClickListener接口:在对应的Activity中,实现OnClickListener接口,并在onClick()方法中处理Button的点击事件,然后通过设置Button的setOnClickListener()方法,将该OnClickListener实例传入,当Button被点击时,onClick()方法会被调用。
  4. 通过继承Button类并重写onClick()方法:在对应的Activity中,创建一个自定义的Button类,继承Button类并重写onClick()方法,在onClick()方法中处理Button的点击事件,然后在布局文件中使用该自定义Button类。

  • GridLayout是Android4.0(API14)之后的布局,它用一组没有宽度的线将屏幕区域划分为纵横交错的格子,将子控件放在格子(cell)里。网格线由网格线下标表示,有n列的网格就有n+1个网格下标,编号从0到n。
  • Cell中的子控件可以通过android:layout_column及android:layout_row来确定它在网格中的位置,由android:layout_columnSpan和android:layout_rowSpan来确定该子控件占据多少列或多少行。
  • 如果没有指定子控件的位置,则由GridLayout的布局属性orientation, rowCount 及 columnCount自动定位。
  • orientation表示布局中View的排列主序; rowCount表示行的个数, columnCount表示列的个数

习题总结

  1. 用于给控件指定主题的属性是style
  2. 用于给Activity指定主题的属性是scheme
  3. Android UI开发中,如果TableLayout的第一个TableRow有两个控件,第二个TableRow有三个控件,那这个TableLayout就有(3)列
  4. Android相对布局中,使控件相对父控件底部对齐使用的属性是android:layout_alignParentBottom
  5. Android UI开发中,设置Activity的(android:theme=“@android:style/Theme.Dialog”)属性可以使Activity显示为对话框样式
  6. 设置GridLayout中的某控件占3行的是android:layout_rowSpan=“3”
  7. android:gravity是用于设置控件内部内容的对齐方式,例如文本、图片等。而android:layout_gravity是用于设置控件在父容器中的对齐方式,例如控件在父容器中的居中、靠左、靠右等。简单来说,android:gravity是设置控件内部内容的对齐方式,而android:layout_gravity是设置控件在父容器中的对齐方式。
  8. Android UI开发中,在GridLayout中如何设置某控件占3行android:layout_rowSpan=“3”
  9. Android UI开发中,如果一个应用中使用了主题,同时应用下的View也使用了样式,那么当主题和样式中的属性发生冲突时,主题的优先级低于样式
  10. Toast.makeText(context,text,time)必须在调用了show()方法后才能把信息显示出来
  11. Android UI开发中,网格布局是【Android4.0】新增的布局,它实现了控件的交错显示,能够避免因布局嵌套对设备性能的影响,更利于自由布局的开发
  12. EditText控件可以输入文字,且可以通过inputType属性控制输入的内容只能是数字或者字母等
  13. Android开发中,想让软件支持简体中文、美式英语两种环境,需要在res目录下新建两个values文件夹,分别命名为values-zh-rCN和values-en-rUS。
  14. Android UI开发中,TableLayout的行数由_ TableRow_对象控制的
  15. 主题 是应用到整个Activity和Application的样式
  16. Android系统中,_样式_用于定义布局显示在界面上的风格
  17. 主题与样式在代码结构上是一样的,不同之处在于主题的引用要在 AndroidManifest.xml 文件中引用
  18. Android有自己的国际化规范和方法,布局中所有文字资源只有通过_ android:text=“@string/xxx”__方式引用才能起到效果
  19. 在清单文件中,标签中的andorid:theme属性,代表的是_整个应用程序_主题的样式,而标签中是改变_当前界面_主题的样式
  20. Android系统中,__样式__用于定义控件的风格
  21. 在Activity代码中同样也可以引用自定义主题,只需要在Activity类onCreate()方法内添加setTheme()方法即可
  22. Toast.makeText(context,text,time)中的text是提示的信息

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

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

相关文章

MySQL数据库 --- 运维篇

一、日志 1.1、错误日志 错误日志是 MySQL 中最重要的日志之一,它记录了当 mysqld 启动和停止时,以及服务器在运行过程中发生任何严重错误时的相关信息。当数据库出现任何故障导致无法正常使用时,建议首先查看此日志。 该日志是默认开启的…

实训笔记6.12

实训笔记6.12 6.12一、座右铭二、知识回顾2.1 面向对象的两大核心概念:类和对象2.2 面向对象的三大特征封装性继承性多态性-必须在继承之上抽象性 2.3 面向对象的常用关键字2.4 Java设计模式中适配器模式2.4.1 接口适配器2.4.2 类适配器2.4.3 对象适配器 三、Java常…

Linux基础知识3

Linux基础知识 适合有Linux基础的人群进行复习。 禁止转载! 用户与用户组管理 Linux系统下的3类用户和功能; 答: root用户(或称根用户、超级用户):Linux的内置用户,权限最高,具有…

wps安装提示nsis error

1.安装时弹出「NSIS error」错误框,无法安装。 此问题为一般为安装包损坏导致,可重新下载安装包尝试安装。 我遇到的提示也是这个。文件损坏。但是换了绿色U盘(格式是FAT32)复制过去就能安装。 之前用白色U盘(格式是N…

一学就会-----链表的回文结构

文章目录 题目描述思路代码示例 题目描述 对于一个链表,请设计一个时间复杂度为O(n),额外空间复杂度为O(1)的算法,判断其是否为回文结构。 给定一个链表的头指针A,请返回一个bool值,代表其是否为回文结构。保证链表长度小于等于90…

1.1 搭建Scala开发环境

一、Windows上安装Scala (一)到Scala官网下载Scala Scala2.13.10下载网址:https://www.scala-lang.org/download/2.13.10.html 单击【scala-2.13.10.msi】超链接,将scala安装程序下载到本地 (二)安装…

Atcoder Beginner Contest 305

A - Water Station AC代码&#xff1a; #include<iostream> #include<algorithm> #include<cstring> using namespace std; int main() {int n;cin>>n;int a,b;for(int in;;i){if(i%50){ai;break;}}for(int in;;i--){if(i%50){bi;break;}}if(a-n<…

【Linux学习】多线程——线程池 | 单例模式

&#x1f431;作者&#xff1a;一只大喵咪1201 &#x1f431;专栏&#xff1a;《Linux学习》 &#x1f525;格言&#xff1a;你只管努力&#xff0c;剩下的交给时间&#xff01; 线程池 | 单例模式 一、 线程池1.1 Thread.hpp1.2 ThreadPool.hpp1.3 main.cpp1.4 RAII方式加锁 …

苹果的Safari私人浏览现在会自动删除URL中的跟踪参数

苹果将对Safari私人浏览器进行重大更新&#xff0c;为用户提供更好的保护&#xff0c;防止他们在浏览网页时被第三方跟踪。 苹果公司表示:“先进的追踪和指纹保护功能可以进一步防止网站利用最新技术追踪或识别用户的设备。” “隐私浏览现在在不使用时锁定&#xff0c;允许用…

百收网SEO问卷调查赚钱项目介绍

百收网SEO问卷调查赚钱项目介绍 大家好&#xff0c;我是百收网SEO 给面子的 也可以叫狂潮哥 哈哈哈哈 认识我比较久的朋友都知道我们做问卷调查项目3年多了这个生意基本没有在朋友圈发过 原因是靠我们自己做 单人一个月就可以产值1到4W 根本没想去收学员 直到看到同行在收学…

基于postman进行接口测试实战

一&#xff1a;接口测试前准备 接口测试是基于协议的功能黑盒测试&#xff0c;在进行接口测试之前&#xff0c;我们要了解接口的信息&#xff0c;然后才知道怎么来测试一个接口&#xff0c;如何完整的校验接口的响应值。 那么问题来了&#xff0c;那接口信息从哪里获取呢&…

加速数字化转型,通过零代码ETL工具实现吉客云数据自动化同步

一、吉客云系统介绍 吉客云是一家SaaS企业服务提供商&#xff0c;主要提供企业级应用服务。吉客云的服务范围涵盖了企业级推广、企业级智能客服、企业级销售管理、企业级客户关系管理、企业级电子商务等方面的服务&#xff0c;并且提供了基于AI技术的解决方案。其目标是通过数…

Maven教程--下(包括手动实现)

Maven教程–下&#xff08;包括手动实现&#xff09; 前言 注意本篇是需要一定的maven基础的 如果没有请移步Maven教程–上 手动创建Maven 项目- 理解Maven 底层机制 需求说明/图解 用手工的方式&#xff0c;创建maven 项目&#xff0c; 深刻理解Maven 工作机制 完成功能…

【Map集合的获取功能】

Map集合的获取功能 V get(Object Key)&#xff1a;根据键获取值 package com.gather.map; //Map集合的获取功能 import java.util.HashMap; import java.util.Map; public class MapDemo03 {public static void main(String[] args) {Map<String,String> mapnew HashMap&…

一步步搭建基于 ts + express + prisma + mongodb + zod 后端服务

环境&#xff1a; windows11、node 18.16.0 、pnpm 1、在合适位置&#xff0c;代开 vscode , 终端执行 mkdir miaooo-backend && cd miaooo-backend && npm init -y 。 创建一个名为一个 miaooo-backend 的项目&#xff0c;并且进入项目 执行 npm 默认初始化。…

【SpringCloud——Seata分布式事务管理框架】

一、分布式事务存在的问题 在分布式系统下&#xff0c;一个业务跨越多个服务或数据源&#xff0c;每个服务都是一个分支事务&#xff0c;要保证所有分支事务最终状态一致&#xff0c;这样的事务就是分布式事务。 分布式事务和传统形式的事务区别有什么&#xff1f;众所周知&a…

【GIS教程】使用高程数据在UE5中创建真实山脉模型

在数字孪生项目中&#xff0c;我们经常需要使用真实的山脉地形作为城市模型展示的基础。然而&#xff0c;UE5的默认地形系统过于复杂&#xff0c;无法像3D模型那样进行实时修改。因此&#xff0c;本教程将指导您如何将高程山脉作为模型导入到UE5引擎中&#xff0c;而不是使用UE…

【微服务】SpringBoot 插件化开发模式详细总结

目录 一、前言 1.1 使用插件的好处 1.1.1 模块解耦 1.1.2 提升扩展性和开放性 1.1.3 方便第三方接入 1.2 插件化常用实现思路 二、Java常用插件实现方案 2.1 serviceloader方式 2.1.1 java spi 2.1.2 java spi 简单案例 2.2 自定义配置约定方式 2.2.1 添加配置文件…

36.SpringBoot实用篇—运维

目录 一、实用篇—运维。 &#xff08;1&#xff09;程序打包与运行&#xff08;Windows版&#xff09;。 &#xff08;2&#xff09;spring-boot-maven-plugin插件作用。 &#xff08;3&#xff09;程序打包与运行&#xff08;Linux版&#xff09;。 &#xff08;4&#…

syntax error: unexpected end of file

运行工程报错误&#xff1a;liporepo.sh: line 2: command not found liporepo.sh: line 19: syntax error: unexpected end of file Command PhaseScriptExecution failed with a nonzero exit code 由于.sh文件的格式为dos格式。而linux只能执行格式为unix格式的脚本。因为在…