2:Android 基本技术及控件:每个界面上有各种按钮、输入框、文本框、列表、以及一些操作对象构成这些元素结合在一起为我们提供产品使用的交互介质,这些元素在技术上称为“控件”。例如一个按钮是一个控件,一个输入框也是一个控件
View:即视图的意思,表示在屏幕上展示的一个可视化控件,是安卓系统所有控件的根。也就是说,所有安卓空间都是基于 View 扩展开来的,可以把 View 理解成所有系统空间的祖先,其他(例如,按钮 Button 和文本展示框 TextView)都是继承View,在具备了 View 的一些基本属性的同时还扩展了属于自己的属性。
Button:Button 是安卓系统默认提供的按钮控件,我们在使用产品中所有可点击的部分都是按钮,对于按钮的形状和外观可以进行自定义设置,还可以设置按钮点击事件,所谓点击事件就是当我们点击某个按钮的时这个按钮会出发什么操作
dp:独立于设备像素的单位,也可以叫 dip,他与像素密度有关
像素密度:每英寸像素数量,单位是 dpi。
安卓系统定义了四种像素密度:低(120dpi)、中(160dpi)、高(240dpi)、超高(320dpi)他们对应的 dp 到 px 系数分别为 0.75、1、1.5、2,这个系数乘 dp 长度就是像素数。Px=系数*dp
Sp:是与缩放无关的抽象像素,一般用于文字大小的单位
TextView:文本展示框,也需要制定高度和宽度,宽高实际上狂顶出文本的范围,同时,还需要定制文本内容的字体大小和颜色等
EditText:文本输入框,也就是我们在产品中输入内容的控件与文本展示框不同的是,他可以进行内容的输入,而且对于输入的内容可以进行类型控制,如明暗文限制,号码输入时限制数字和长度。它还有个属性叫做“hint”,我们在使用文本输入框时,输入框内部往往有提示语句,如“请输入用户名”之类的,当我们触发输入框的时候,提示语句就消失了。通过设置 EditText 可以得到很多个性化的定制
ImageView:ImageView 是图片展示控件,一般也是一个矩形区域,但我们一般都隐藏,所以我们在产品上看到的都是各式各样
ListView:安卓里面列表控件。比如微信里面的联系人会话列表,淘宝浏览商品时的商品列表,以及使用通讯录的联系人列表。ListView 有一个很重要的组成部分,就是每一行展示的条目内容,根据产品内容的不同,条目展示的格式和内容都所有不同,例如,微信联系人会话列表条目,左边是头像,头像右边分别按照一定的布局方式显示名称、聊天内容缩略及更新时间。在安卓系统中 ListViw 是一种容器性控件,可以在它里面放其他控件,如 ImageView 和 TextView。其他控件是不能进行嵌套布局的,如我们不能将 TextView 放在 ImageView 中(但 IOS 中是可以的)
GridView:GridView 和 ListView 类似,也是一种容器控件,区别在于 ListView 以列表的方式展示,而它是以表格的方式展示。比如支付宝的首页,展示了多个入口,每一个入口对应着相应的产品模块
3:Android 界面布局原理
线性布局:空间依次由上到下的布局方式,简单的说就是按照顺序从左至右或者从上至下依次在界面上排列控件,线性布局支持横向和纵向两种方式。标记位置以一个控件上底边与上一个控件的下底边进行标记
相对布局:指定控件与其他控件的相对位置,所谓相对位置就是以某一控件为参考基础,与其他控件的相对位置。比如,可全是用用户输入框来进行参考
4:安卓系统的控制权限安卓系统有专门的权限管理机制,应用访问用户隐私或者获取一些系统权限时需要取得用户的授权后才能使用。
5:安卓系统应用打包及发布安卓应用开发完成后,需要被打包一个扩展名为“apk”的文件,类似于 windows 系统中的“.exe”安装文件。打包安装文件时,我们需要使用一个特殊的签名文件为这个安装包文件进行签名,签名的目的是保证这个应用安装包的唯一性和安全性。由于安卓市场碎片化,每次发布要更新很多应用市场,在发布安卓应用时,我们需要标记当前所发布的版本的版本号,这个版本号和我们在产品里看到版本号不是一样的,这是给别人用户识别的,工作人员的版本号是以自然数标记并给计数机增加,这样就可以区分市场上的新老版本。例如,我们可以标记安装包 1 是给腾讯应用宝市场的,安装包 2 是给小米应用市场的,通过渠道标记来源,我们可以统计安装渠道,从而知道每个应用市场的安装量,同时还可以统计出有问题的版本来自那个应用市场这样就可以更加精确地定位问题
6:安卓多屏幕适配同一个产品会因为不同产品的分辨率而看起来不同,为了解决界面适配的问题,安卓提供了一种使用可拉伸图片作为界面素材的解决方案,这种图片是以扩展名“.9.png”结尾的图像文件们通常叫做”点九图”。点九图分为图片画布、黑点、图片。最外侧的矩形框就是一张画布,内侧有一个图像内容,外侧和内测图片之间隔了一个 1px 像素的距离,背景图片的四条边,我们用欸色像素来标记,表示拉伸区域,要进行拉伸则只会对黑点所标记的相应区域进行复制,从而实现拉伸的效果。点九图配合相对布局就可以解决大部分的屏幕适配问题
7:iOS 基础技术及基本控件:与安卓类似,iOS 中也有许多系统控件其基本表现形式类似,只是叫法不同
UIView:和安卓系统里面的 View 类似,其他控件都是基于 UIView 继承扩展而来,UIView在 iOS 系统中是通过坐标的长宽表示的矩形图形,我们可以指定 UIView 的背景颜色或者矩形的圆角。与安卓系统不同的是:在 iOS 系统中可以实现 UIview 的相互嵌套,也就是说我们可以在 UIView 里面再放一个 UIView,但是在安卓系统中,我们不能再一个TextView 里面再放一个 TextView,这是两者的差异。在 iOS 系统中每个控件在屏幕中都通过坐标轴定位到具体位置,但这个坐标的范围不是根据物理分辨率的像素点去标记,而是通过逻辑像素去标记,所谓逻辑像素就是不管屏幕尺寸,只需要按照固定的逻辑像素定位坐标轴中控件的位置
UIButton:与安卓系统里面的 Button 类似,但不同的是 UView 中间可以镶嵌其他控件
UILabel:文本展示控件,与安卓上的 TextView 类似。在屏幕上布局一个 UILabel 时需要制定控件所处的坐标轴位置,以及控件高度和宽度
UITextField:文本输入控件,对应安卓上的 EditText,安卓中通过“hint”属性来表示文本提示信息,在 iOS 中叫做”placeholder” UIImageView:图片展示控件,类似于安卓中的 ImageView。在 iOS 系统中 UIImageView可以对图片进行展示和一些基本处理,例如对图片进行圆角处理,可以使用系统的一些滤镜功能对图片进行特殊处理。在 iOS 中所有的界面控件开头都使用“UI”开头,UI 的意思是 User Interface,代表用户接口。
UITableView:和安卓系统中的 ListView 类似,用来表示列表型控件,也是一种容器类控件,但 UITableView 在自带功能上更强大,所谓自带功能是指系统已经实现的,不需要另外开发的功能,使用时直接拿来用即可。
UICollectionView:是 iOS 中进行表格展示的控件,和安卓中的 GridView 类似,例如 :IPhone的系统相册、图片社交应用上的瀑布流设计都是用 UICollectionView 原理实现的。
8:iOS 界面布局原理
iOS 界面布局与安卓不同,iOS 使用的是绝对布局,也就是睡哦没一个控件在界面上是通过指定控件的绝对位置进行显示的。由于现在 iOS 尺寸变多,苹果也推出了相对布局。
9:iOS 系统权限控制
iOS 系统授权的控制方式也与安卓不同,安卓的授权是发生在应用的安装阶段,当用户安装安卓应用时会提示用户同意相关权限协议才能进行安装,而 iOS 的授权则是发生在用户使用产品的过程中。
10:iOS 通过苹果开发工具 Xcode 完成,打包完成后,可以进行集中类型的发布,一种就是我们常见的发布之苹果的官方应用市场 APP Store,通过 Xcode 上传安装包只 APP Store 后,需要等待苹果的审核人员对应用进行测试和审核,这个周期一般为一周左右,审核成功后则可以通过 APP Store 下载应用。另一种是发布内部测试版这种方式是在制定的测试设备上安装应用包,这种方式是通过有限授权的方式,苹果个给具备开发资格的开发者账户授权每个账户能开通有限的测试设备,授权的设备可以不通过 APP Store 直接安装应用宝
苹果的开发者证书分为三种,一种是个人开发者,也就是在苹果上署名为个人的开发者,一种是公司开发者,这种开发者在苹果商店署名为公司,申请公司开发者需要提供公司的相关证明材料。第三种是企业开发者,企业开发者恶意自行打包并发布应用,简单说,企业开发者可以绕过 APP Store 提供 APP 下载,但是只能在有限的范围内使用,企业开发者往往是提供企业内部作为内部 APP 开发和下载使用,不面向公共市场,苹果的开发者需要按年付费购买,个人和公司类型的账户是 99 美元一年,企业类型的是 299 美元一年。
11:Web 基础技术知识
通过浏览器访问的网页通常被称为 Web 页,没一个 Web 页都有一个唯一的地址,不同的地址组合在一个,通过链接相互跳转,最终形成一个网站系统
域名:每个网站的唯一地址
http:一个互联网协议
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)
Java核心架构进阶知识点
面试成功其实都是必然发生的事情,因为在此之前我做足了充分的准备工作,不单单是纯粹的刷题,更多的还会去刷一些Java核心架构进阶知识点,比如:JVM、高并发、多线程、缓存、Spring相关、分布式、微服务、RPC、网络、设计模式、MQ、Redis、MySQL、设计模式、负载均衡、算法、数据结构、kafka、ZK、集群等。而这些也全被整理浓缩到了一份pdf——《Java核心架构进阶知识点整理》,全部都是精华中的精华,本着共赢的心态,好东西自然也是要分享的
内容颇多,篇幅却有限,这就不在过多的介绍了,大家可根据以上截图自行脑补
《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》,点击传送门即可获取!
img-xokbUNPj-1712304859079)]
内容颇多,篇幅却有限,这就不在过多的介绍了,大家可根据以上截图自行脑补
《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》,点击传送门即可获取!