像素密度:每英寸像素数量,单位是 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可以对图片进行展示和一些基本处理,例如对图片进行圆角处理,可以使用系统的一些滤镜功能对图片进
《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》
【docs.qq.com/doc/DSmxTbFJ1cmN1R2dB】 完整内容开源分享
行特殊处理。在 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:一个互联网协议
www 代表万维网,是一个网页地址前缀,后面的是域名,域名的存在是为了方便使用者更方便的记住,域名实际上是一个数字化的 IP 地址进行了表达方式的转换,例如我们访问一个网站的时候,实际访问的是这个互联网的 IP 地址
我们利用 HTML 语言编制 Web 页面,通过 CSS 样式表对 Web 页面进行美化只要有浏览器,我们就可以方便的访问任何一个 Web 网页。CSS(Cascading Style Sheets)全称层样式表,是一种将网页内容与网页样式分离的技术,简单地说,CSS 是给只有内容的 HTML 页面传衣服,让 HTML 页面好看起来
URL(Uniform Resource Locator)全称是统一资源定位符,互联网上所有的资源都有唯一一个唯一的 URL 地址,资源的类型可以是一个网页、一张图片、一首歌曲或者一段视频。
HTTP:全称超文本传输协议,是互联网的基本协议。字面的意思是通过该协议我们可以在互联网上传递文字以外的其他内容,例如网页、音乐、图片等。他还有安全版本 HTTPS,当我们的浏览器使用网银或者跟支付相关的服务的时候,浏览器的地址协议通常是”https://”HTTPS 是加密协议的传输协议,其加密方式 OpenSSL 组织研发的 SSL 加密方式
六:服务端技术知识:
1:服务端基本架构
服务端通常被叫做云端,也就是我们说的云服务器,云服务器是指物理机房托管在第三方,而不用自建机房。每个机房都有应用服务器、数据库服务器、交换机、网络端口和外网光缆构成。
负载均衡服务器是用来处理大规模请求的服务器,通常对于一些访问量比较高的系统来说,负载均衡就显得尤为重要,负载均衡服务器的作用就是将同时进来的大量访问请求根据系统应用服务器的忙碌程度进行动态调度,可以把负载均衡服务器理解成服务端的调度中心,它负责流量的动态分配,根据对应的应用服务器的负载情况,动态分配请求到不同的应用服务器。