UI布局和初级控件的使用_android ui控件的使用,2024年最新网络安全面试题2024高级-程序员宅基地

技术标签: 2024年程序员学习  ui  android  

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新网络安全全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上网络安全知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以添加V获取:vip204888 (备注网络安全)
img

正文

  • layout_centerVertical:设置是否相对于父布局垂直居中,属性值为true
  • layout_centerHorizontal:设置是否相对于父布局水平居中,属性值为true
  • layout_centerInParent:设置是否相对于父布局居中(水平和垂直方向都均居中),属性值为true
  • layout_alignParentTop:设置在父布局的顶部,属性值为true
  • layout_alignParentBottom:设置在父布局的底部,属性值为true
  • layout_alignParentRight:设置在父布局的右侧,属性值为true
  • layout_alignParentLeft:设置在父布局的左侧,属性值为true
  • layout_alignParentStart:设置在父布局开始的位置,属性值为true
  • layout_alignParentEnd:设置在父布局结束的位置,属性值为true

2、子控件之间的相对位置属性:

  • layout_above:组件位于某个组件的上方,属性值为另外一个控件的唯一资源id
  • layout_below:某个组件的下方,属性值同上
  • layout_toLeftOf:某个组件的左侧,属性值同上
  • layout_toRightOf:某个组件的右侧,属性值同上
  • layout_alignTop:和某个组件上方对齐,属性值为另外一个子控件的唯一资源id
  • layout_alignBottom:和某个组件下方对齐,属性值同上
  • layout_alignLeft:和某个组件左侧对齐,属性值同上
  • layout_alignRight:和某个组件右侧对齐,属性值同上

3、其他特殊属性

  • ignoreGravity:忽略容器中的某个组件,使其不受RelativeLayout的空置,属性值是某个控件的唯一资源id
  • gravity:设置内部子控件的显示位置。属性值可以是center_horizonta、top、bottom、left等其中的一个值或者两个值。
FrameLayout 帧布局

1、帧布局的特点是控件层叠显示,默认从布局容器的左上角摆放。

2、子控件摆放顺序:先添加的控件放在最底层,后添加的子控件放在上层。

3、可以通过layout_gravity属性修改FrameLayout的子控件摆放位置。

4、使用场景:相较于LinearLayout和RelatvieLayout,FrameLayout适用场景较少,适合用于重叠布局显示的情景。

GridLayout 网格布局

顾名思义网格布局就是将布局设置成网格,通过网格定位实现对控件的摆放。GridLayout将布局划分为行、列和单元格,同时也支持在行、列上进行交错排列。

1、属性及说明

  • orientation:设置子组件的排列方式,可选值为vertical和horizontal。默认水平方式排列,即horizontal
  • gravity:设置子组件的排列方式,可选值:center、left、right、bottom等,同时使用两种时用|分隔开
  • layout_gravity:如果让某个组件填满行或者列,设置layout_gravity为fill

2、特有属性和说明

  • rowCount:设置网络布局有几行
  • columnCount:设置网络布局有几列
  • layout_row:子组件中,设置组件位于第几行
  • layout_column:子组件中,设置组件位于第几列
  • layout_rowSpan:子组件中,用于设置组件跨几行
  • layout_columnSpan:子组件中,用于设置组件跨几列

AbsoluteLayout 绝对布局

1、通过坐标确定控件的摆放位置,通过宽度和高度显示控件。

2、绝对布局在日常开发中因为适配不方便,所以基本不使用,此处不再赘述,可自行学习使用。

ConstraintLayout 约束布局

为了解决布局嵌套过多的问题,在API9以后,提供了ConstraintLayout 约束布局。android studio 2.3版本后默认的布局样式,可以把ConstraintLayout看做是RelativeLayout布局的升级。

初级控件
TextView 文本

1、android中的文本控件、用于展示字体

2、常用属性:

  • autuLink:设置文本是否为URL链接/email/电话号码,使用该属性时,文本显示为可点击的链接。
  • autoText:设置该属性时,文本将自动执行输入值的拼写纠正。
  • cursorVisible:该属性用于设置光标为显示/隐藏,默认是显示。
  • drawableTop:在展示的text文本正上方显示输出一个drawable。
  • ellipsize:该属性用于设置当文字过长时,文本的展示样式。可选值:start,end,middle。分别表示在文本的开头,结尾和中间省略内容并显示为省略号…
  • maxLines:设置文本的最大显示行数,与width或者layout_width结合使用,超出部分自动换行,超出行数不显示。
  • lineSpacingMultiplier:设置行间距的数值,该数值为标准数值的倍数,比如1.2表示1.2倍。
  • phoneNumber:设置为电话号码的输入方式。
  • textColorHighlight:被选中文字的底色,默认蓝色。
  • textColorHint:设置提示信息文字的颜色,默认为灰色。
  • textStyle:设置字形,可选值为[bold(粗体) 0, italic(斜体) 1, bolditalic(又粗又斜) 2] 可以设置一个或多个,用“|”隔开。
Button 按钮
  • drawable:设置图片资源
  • text:设置显示的文本
  • textColor:设置显示文本的颜色
  • textSize:显示文本的字体大小
  • background:设置背景,图片或者颜色
  • onClick:点击事件
EditText 输入框
  • hint:内容为空时显示的文本
  • inputType:限制输入类型,number整数类型,numberDecimal小数点类型,date日期类型,text文本类型(默认值),phone电话,textPassword密码,textVisiblePassword可见密码,textUri网址
  • gravity:设置文本的位置,start、center、end三个可选值。
  • digits:允许设置的字符范围,即限制可以设置哪些字符。
  • drawableLeft:设置输入框左侧的drawable资源。
  • drawablePadding:设置输入内容text与drawable的间隔,需配合drawableLeft、drawableRight、drawableTop、drawableBottom一起使用。
  • 监听事件:TextChangeListener,监听输入框内容变化
  • scrollHorizontally:设置文本超出TextView的宽读时,是否出现横拉条。
RadioButton 单选框按钮

1、定义:单选框表示的是在一组选项当中,只能选择其中一个选项的控件。

2、声明格式:使用RadioGroup标签在xml中定义表示是一个单选框按钮,其中的选项内容使用RadioButton标签进行定义

3、属性:

  • checked:是否为选中状态,可选值为true和false
  • text:选项标签中对应的文本信息
ImageView 视图控件
  • src:设置视图控件的图像引用来源,该值往往是res/drawable目录下的某个图片资源。
  • scaleType:该属性表示视图控件的缩放类型,可选值包括:matrix(默认)、center、centerCrop、centerInside、fitCenter、fitEnd、fitStart、fitXY
    • center:保持原图的大小、显示在ImageView的中心。如果原图的size大于ImageView的size,超出部分做裁剪处理。
    • cneterCrop:让图像填满整个ImageView,原图中心和ImageView中心进行对齐,等比例放大处理。
    • centerInside:以原图完全显示为目的,将图片的内容完整居中显示。
    • matrix:不改变原图大小,从ImageView左上角开始绘制原图,超过ImageView部分做裁剪处理。
    • fitCenter、fitEnd、fitStart:将原图按比例放大(缩小)到ImageView控件的尺寸高度,分别居中、底部、顶部展示。
ProgressBar 进度条
  • Android系统中的进度条默认形状是圆形。
  • 可以通过style来修改进度条的样式。
  • visbility:该属性设置进度条控件的可见性。可选值有三种:visible:肉眼可见、invisible:肉眼不可见但占据空间,gone:消失不占空间。
AlertDialog 对话框
  • 系统中需要通过提示信息与用户进行交互时,可以使用对话框进行实现。
  • 对话框的位置显示在所有的界面元素之上,当对话框弹出时,其他控件无法操作和交互。
  • 在开发中,使用自定义的对话框完成功能实现。
UI布局和基本控件总结
共同属性
  • id:唯一资源编号
  • width:宽度
  • height:高度
  • background:背景属性
  • visible:布局或者控件的可见性,可选值包括:visible、invisible、gone
特殊属性

视不同控件会有不同的特殊属性。

控件交互事件处理
  • findViewById:在Activity中通过资源id解析到控件,需要强制类型转换成对应的控件类型;
  • setOnClickListener:为某个控件设置处理点击事件;
  • setOnLongClickListener:控件长按事件;
布局和控件使用步骤

1、Activity通过setContentView设置对应的layout布局文件(xml文件);

2、在xml布局文件中进行UI布局和控件布局,为控件设置唯一资源id编号

如何在尺寸各异的屏幕上正常显示布局效果?

确保UI布局能在不同尺寸的屏幕上保持统一的展示效果,需要使用屏幕适配方案,对UI布局和各主流尺寸屏幕进行适配,简称为屏幕适配。

屏幕适配基础知识
  • 屏幕尺寸:手机对角线的物理尺寸,简单说就是指屏幕大小,单位是英寸。比如小米9(6.39寸)、荣耀20(6.26寸)、OPPO Reno(6.4寸)、华为P30(6.1寸)、华为P30Pro(6.47寸)、小米10(6.67寸)
  • 屏幕分辨率:显示设备在屏幕的横向、纵向上的像素点数的总和。格式为宽X高。比如华为P30(2340 x 1080像素)、小米10(2340 x 1080像素)、小米Mix 3(2340 x 1080像素)。分辨率单位是像素,英文px;1px = 1像素点
  • 屏幕像素密度:dosts per ich,每英寸的像素点数,单位是简称dpi。
屏幕尺寸、分辨率、像素密度的关系

分辨率为宽x高,屏幕大小为英寸。像素密度与另外两者的关系公式为:

根据分辨率和屏幕大小尺寸两个方面的数据,结合上述三者关系的公式,最后可以计算得到像素密度的最终值。

如上图所示,根据最后的像素密度按从小到大进行密度类型的分类,五个等级分别对应:ldpi、mdpi、hdpi、xhdpi以及xxhdpi。

使用上述公司可以在由需要的时候,设置控件的尺寸及布局的尺寸,设置的时候单位是px。但是因为屏幕的分辨率不同,所以对不同的尺寸屏幕要想保持效果一致,就需要设置不同的px,这显然是灾难。因此,Android还有一个特有的单位:密度无关像素

密度无关像素

density-independent pixel,简称为dip或者dp,其含义是表示与终端上的实际物理像素点无关,因此可以保证在不同像素密度的设备上显示相同的效果。所以:

1、Android应用开发中要使用dp作为控件和布局尺寸,而不是px。

2、dp和px有一个转换的关系。UI设计师给到开发的设计图是px的单位,Android开发使用dp作为单位,因此需要对两者进行转换。

独立比例像素

在Android中还有一个概念为scale-independent pixel,简称为sp或者sip,可以翻译为独立比例像素。单位是sp。对于独立比例像素,有两点需要掌握:

1、应用场景:在Android的开发中,使用sp单位进行文字大小的设置,可以根据字体的大小首选项进行缩放。

2、常用:一般使用12sp、14sp、16sp等类似偶数的整数作为字体字号的大小。奇数和小数容易造成精度的丢失。

Android屏幕碎片化适配方法
一、布局匹配

结论:首选RelativeLayout(相对布局),禁止使用AbsoluteLayout(绝对布局)

常用的布局:Linearlayout(线性布局)、RelativeLayout(相对布局)、帧布局(FrameLayout)

根据屏幕大小配置不同的布局文件

当需要为不同的屏幕尺寸进行界面适配时,往往需要通过设计不同的布局来进行实现。让Android设备能自动的在不同的设备上加载不同的布局。

如何自学黑客&网络安全

黑客零基础入门学习路线&规划

初级黑客
1、网络安全理论知识(2天)
①了解行业相关背景,前景,确定发展方向。
②学习网络安全相关法律法规。
③网络安全运营的概念。
④等保简介、等保规定、流程和规范。(非常重要)

2、渗透测试基础(一周)
①渗透测试的流程、分类、标准
②信息收集技术:主动/被动信息搜集、Nmap工具、Google Hacking
③漏洞扫描、漏洞利用、原理,利用方法、工具(MSF)、绕过IDS和反病毒侦察
④主机攻防演练:MS17-010、MS08-067、MS10-046、MS12-20等

3、操作系统基础(一周)
①Windows系统常见功能和命令
②Kali Linux系统常见功能和命令
③操作系统安全(系统入侵排查/系统加固基础)

4、计算机网络基础(一周)
①计算机网络基础、协议和架构
②网络通信原理、OSI模型、数据转发流程
③常见协议解析(HTTP、TCP/IP、ARP等)
④网络攻击技术与网络安全防御技术
⑤Web漏洞原理与防御:主动/被动攻击、DDOS攻击、CVE漏洞复现

5、数据库基础操作(2天)
①数据库基础
②SQL语言基础
③数据库安全加固

6、Web渗透(1周)
①HTML、CSS和JavaScript简介
②OWASP Top10
③Web漏洞扫描工具
④Web渗透工具:Nmap、BurpSuite、SQLMap、其他(菜刀、漏扫等)
恭喜你,如果学到这里,你基本可以从事一份网络安全相关的工作,比如渗透测试、Web 渗透、安全服务、安全分析等岗位;如果等保模块学的好,还可以从事等保工程师。薪资区间6k-15k

到此为止,大概1个月的时间。你已经成为了一名“脚本小子”。那么你还想往下探索吗?

如果你想要入坑黑客&网络安全,笔者给大家准备了一份:282G全网最全的网络安全资料包评论区留言即可领取!

7、脚本编程(初级/中级/高级)
在网络安全领域。是否具备编程能力是“脚本小子”和真正黑客的本质区别。在实际的渗透测试过程中,面对复杂多变的网络环境,当常用工具不能满足实际需求的时候,往往需要对现有工具进行扩展,或者编写符合我们要求的工具、自动化脚本,这个时候就需要具备一定的编程能力。在分秒必争的CTF竞赛中,想要高效地使用自制的脚本工具来实现各种目的,更是需要拥有编程能力.

如果你零基础入门,笔者建议选择脚本语言Python/PHP/Go/Java中的一种,对常用库进行编程学习;搭建开发环境和选择IDE,PHP环境推荐Wamp和XAMPP, IDE强烈推荐Sublime;·Python编程学习,学习内容包含:语法、正则、文件、 网络、多线程等常用库,推荐《Python核心编程》,不要看完;·用Python编写漏洞的exp,然后写一个简单的网络爬虫;·PHP基本语法学习并书写一个简单的博客系统;熟悉MVC架构,并试着学习一个PHP框架或者Python框架 (可选);·了解Bootstrap的布局或者CSS。

8、超级黑客
这部分内容对零基础的同学来说还比较遥远,就不展开细说了,附上学习路线。
img

网络安全工程师企业级学习路线

img
如图片过大被平台压缩导致看不清的话,评论区点赞和评论区留言获取吧。我都会回复的

视频配套资料&国内外网安书籍、文档&工具

当然除了有配套的视频,同时也为大家整理了各种文档和书籍资料&工具,并且已经帮大家分好类了。

img
一些笔者自己买的、其他平台白嫖不到的视频教程。
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip204888 (备注网络安全)
img

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

一些笔者自己买的、其他平台白嫖不到的视频教程。
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip204888 (备注网络安全)
[外链图片转存中…(img-2Oftyf7x-1713412691279)]

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/2401_83620654/article/details/137915440

智能推荐

###好好好好##知识图谱在金融风控领域的应用现状_金融风控模型知识图谱-程序员宅基地

文章浏览阅读572次。2020年是个人触碰知识图谱时间最多的一年,技术知识的重新梳理和学习,相关项目的参与,几乎从年初持续到年末。一直想总结知识图谱在金融领域的应用现状,但总是挣不脱一个字:乱。最直观的“乱象”是不同机构对这项技术的称呼五花八门——关联网络、关系图谱、复杂网络、知识图谱。严格来讲它们彼此之间紧密相连又有所区别,本文并不打算严谨地去论证它们的区别和联系,请允许我偷懒采用图谱这个名称来泛指这项技术,就是各位所想的——节点-关系网络。图谱之乱远不止此。 金融风控技术演进路线是规则-模型-图谱,对应的技术分别是数_金融风控模型知识图谱

springboot141夕阳红公寓管理系统的设计与实现-程序员宅基地

文章浏览阅读788次,点赞21次,收藏26次。文章仅展示部分内容,详细的毕设论文和演示视频源代码可以私信我的扣扣。

Flink、Spark、Hive集成Hudi_flink-table-hive-1.15.2-程序员宅基地

文章浏览阅读639次。版本:0.13.1版本:flink-1.15.2spark版本:3.3.2Hive版本:3.1.3Hadoop版本:3.3.4。_flink-table-hive-1.15.2

Hacker_Kid-v1.0.1靶机-程序员宅基地

文章浏览阅读665次。实验主机:Hacker_Kid-v1.0.1靶机一台/Kali linux攻击机一台Hacker_Kid-v1.0.1靶机 IP:192.168.3.225Kali linux攻击机 IP:192.168.3.32实验网络:桥接模式实验目标:获取靶机的Root权限。_hacker_kid-v1.0.1

六级考研单词之路-三十三_implement compencate-程序员宅基地

文章浏览阅读185次。title: 六级考研单词之路-三十三date: 2020-12-23 12:29:58tags: 六级考研单词之路Day331.bin[n.大口箱,垃圾箱,仓;v.扔掉]eg:It’ s the time to bin that old thing. 是时候把那些旧东西给扔了。考研:bin 垃圾桶,箱子dustbin 纸篓2.compatibleadj.兼容的,可和谐共存的]eg:Their._implement compencate

如何将ubuntu LTS升级为Pro_ubuntu pro-程序员宅基地

文章浏览阅读2.7w次。去年年末,Canonical 宣布,Ubuntu Pro,即我们的扩展安全维护和合规性订阅现可作为公测版用于数据中心和桌面。Ubuntu Pro 订阅涵盖 Landscape,这是 Canonical 针对所有 Ubuntu 版本的监控和管理工具,为实体和虚拟机群提供软件更新、配置管理、政策合规性和权限控制。这些功能让 Ubuntu 的 Active Directory 管理经验尽可能地与 Windows 保持一致,让系统管理员安全管理大规模的 Ubuntu 桌面所需的学习曲线变得平缓。_ubuntu pro

随便推点

EA(Enterprise Architect)(转载)-程序员宅基地

文章浏览阅读65次。转自:http://www.cnblogs.com/westsource/archive/2008/05/28/EA.html以前我写过一篇文章 ,介绍自己用过最好的两个UML工具Visual Paradigm和MagicDraw UML。话说岁月如梭、韶华易逝,到现在也快一年了,恰好昨天一个老朋友问用啥工具来画UML图,于是就有了这篇文章。我现在用什么工具来进行画UML图?答案是EA,即..._visual paradigm enterprise architect

深度学习----命名实体识别与关系抽取总结_命名实体识别和关系抽取-程序员宅基地

文章浏览阅读6.3k次,点赞6次,收藏74次。参考:https://blog.csdn.net/qq_36426650/article/details/84668741#t6          ~~~~~~~~~~        &_命名实体识别和关系抽取

C++ 打开文件/读取文件 基本方法与操作 (文件模式、读取方式等)_c++打开文件-程序员宅基地

文章浏览阅读2.4w次,点赞15次,收藏63次。文章目录1. 打开文件的方法1.1 文件模式1.2 判断打开是否成功2. 读取内容3. 关闭文件打开文件有三步:1. 打开文件的方法创建一个文件流,并绑定一个文件。操作说明fstream fs;创建一个未绑定的流fsfstream fs(s);创建一个流,并打开名为s的文件,s可以是string或C风格字符串fstream fs(s, mode);同上,并指定以mode模式打开如果创建的时候没有绑定,也可以用open()函数打开:fs.open(s); _c++打开文件

solidworks有限元分析_新手学习心得体会_sw有限元分析-程序员宅基地

文章浏览阅读1.2w次,点赞14次,收藏39次。什么是有限元分析?  有限单元法:把一个连续的零件模型划分为很多个小块,因为对一个零件模型直接求解受力,很难得出解析解,必须用到数值求解法(有限单元法),把零件模型划分为多个小块,因为小块是有体积的,所以是有限个小块。  有限元分析:使用有限单元法进行分析有限元分析的常用术语1、 网格:使用四面体或三角形来近似地模拟真实的几何模型。进行有限元分析时画网格(把一个连续的实体分成有限个单元)..._sw有限元分析

系统架构设计热点知识_软件体系结构与设计技术专业网站的技术热点(1)-程序员宅基地

文章浏览阅读915次,点赞10次,收藏28次。最近很多小伙伴找我要Linux学习资料,于是我翻箱倒柜,整理了一些优质资源,涵盖视频、电子书、PPT等共享给大家!

SpringBoot+Vue在线商城系统(源码+论文+任务书)_基于spring boot和vue的网上商城-程序员宅基地

文章浏览阅读554次。近10年中国的互联网市场发生巨变,线上消费得到快速发展,越来越多的人通过网络购物。商品信息管理页面,此页面提供给管理员的功能有:根据商品信息进行条件查询,还可以对商品信息进行新增、修改、查询操作等等。用户信息管理页面,此页面提供给管理员的功能有:用户信息的查询管理,可以删除用户信息、修改用户信息、新增用户信息。商品分类管理页面,此页面提供给管理员的功能有:查看已发布的商品分类数据,修改商品分类,商品分类作废,即可删除。轮播图管理页面,此页面提供给管理员的功能有:根据轮播图进行新增、修改、查询操作等等。_基于spring boot和vue的网上商城

推荐文章

热门文章

相关标签