【实习笔记】客户端基础技术

一、Andriod&iOS
\ Andriod iOS
背景 2008年,谷歌发布了1.0版本的Android系统并宣布所有系统源代码**开源**。Andriod** 基于成熟的 Linux开发而来,在应用开发层使用主流的 Java语言**进行开发。(**Kotlin**) iOS第一版发布于2007年。iOS是**基于UNIX操作系统,在应用层使用苹果自家的开发语言 Objective-C进行开发,目前也可以使用苹果自己推出的 Swift语言进行开发。iOS系统是一个 闭源**系统。 (瓴氪的开发老师们使用的是OC)
基本控件 视图 (表示在屏幕上展示的一个可视化控件) View 其他控件都继承自View UIView ++与Andriod不同,在iOS系统中可以实现UIView的相互嵌套++ 其他控件都基于UIView继承而来
按钮控件 Button UIButton ++与Andriod不同,在UIButton中可以嵌套其他控件++
文本展示框 TextView UILabel (例如:超出文本框宽度范围,系统自动以"..."方式处理)
文本输入框 EditText (例如:使用hint属性自定义文本提示信息) UITextField (例如:使用placeholder自定义文本提示信息)
图片展示控件 ImageView UIImageView
列表控件 ListView UITableView 自带功能比Andriod的ListView更强大 (例如:实现列表中某一项的拖动排序和多选操作)
表格容器控件 GridView UICollectionView
界面布局原理 (布局:有规则的排列方式) 线性布局:按照顺序从上到下或者从左到右依次在界面上排列控件,支持横向和纵向两种方式。 绝对布局:每一个控件在界面上是通过指定控件的绝对位置进行显示的。
相对布局:指定控件与其他控件的相对位置,所谓相对位置就是以某一控件为参考基准,与其他控件的空间位置。 响应式布局(相对布局)
权限控制 在Android系统中,基本所有涉及隐私的操作都需要进行权限控制。这些权限的设置是在开发阶段由开发人员标记在代码中的。Andriod的权限控制实际上是对用户授权的一种向后保证。在权限控制的保护下,在开发阶段技术人员若需要使用某一项系统功能,需要在权限列表中登记,若没有登记,则系统会报错。 iOS系统权限在开发阶段不需要声明 ,而是在使用阶段由用户授权。 **** Andriod授权发生在应用安装阶段,iOS授权发生在用户使用产品的过程中。
打包及发布 .apk .ipa

*在iOS系统中,界面控件一般以UI开头,UI意为User Interface(用户接口)

二、Web App和Native App

移动App的实现有两种形态:一种是通过Web的方式实现,也就是在App内通过加载Web网页的方式实现产品功能;另一种是Native或者叫原生的方式实现,这种方式是使用移动平台原生的控件开发而成。

三、Hybrid App

Hybrid App是一种混合开发技术,所谓混合开发就是指在一个产品中同时使用Native技术和Web技术

Hybrid App开发的两种模式:

模式一:同一个产品的不同界面实现方式不同

(例如:界面A是一个通用入口页面,界面B是一个运营活动页面,界面B可以根据不同时期运营活动发生变化)

模式二:同一个界面中不同模块实现方式不同

(例如:首页顶部滚动广告栏产品,广告可以在不更新App的情况下随时修改)

四、客户端推送实现方式

App和后台建立连接的方式有两种:

①pull,也叫轮询,就是定期地不断向后台请求。缺点是耗电、费流量、不环保。

push,App和后台建立一条长连接通信通道,不定期发送心跳包,也可以携带信息。缺点是容易受到系统或其他安全类软件影响而断开。

长连接:一个能够提供多个请求多次传输数据,并在数据传输完成后不会立即释放的连接。

当每条push信息的数据量一定时,服务器的并发连接数和带宽越高,越能在短时间内触达全体目标用户。push系统的客户端需要用最低的心跳频率保证长连接存活时长。频繁发送心跳包和重连都会增大服务器负担而导致断链,影响消息送达实时性。

五、Andriod屏幕适配

①为解决界面适配问题,Andriod提供了一种使用可拉伸图片作为界面素材的解决方案,这种图片是以扩展名".9.png"结尾的图像文件,通常叫做"点九图"。

".9.png":外侧是一张透明画布,内侧是一个图像内容。外侧和内侧之间隔了一个像素(1px)的距离,背景图像的四条边用黑色像素点进行了标记。

如果图片要进行横向拉伸,则会对上边距黑色像素点进行横向复制;如果图片要进行纵向拉伸,就会对左侧黑色像素点进行延伸。右侧和底部黑色像素点控制的是内部的内容展示的拉伸区域。

在真实效果展示时,黑色像素点是不会被显示出来的,系统会自动对点九图进行处理。

②需要根据屏幕分辨率同时制作几个尺寸的图片,系统会根据当前屏幕分辨率和尺寸自动加载合适素材。

六、前端适配手机屏幕

viewport俗称"视口",用来描述一块区域,浏览器可以在这块区域渲染网页。这块区域的大小要非常接近PC屏幕大小才能不破坏页面结构,苹果公司将宽度定为980px,后来Andriod也采用了这个值。但是这样的网页要想正确的在更小的屏幕上显示出来必须经过缩放或者使用滚动条。所以使用另一个width=device-width的viewport,然后CSS的1像素与物理设备的1像素会自动根据屏幕密度进行换算,最后实现在不同手机上看起来一样大。

相关推荐
laplace01232 小时前
第八章 agent记忆与检索 下
数据库·人工智能·笔记·agent·rag
狐572 小时前
2026-01-19-牛客每日一题-阅读理解
笔记·算法·牛客
不会代码的小猴3 小时前
Linux环境编程第一天笔记
linux·笔记
航行的pig3 小时前
Python基础学习笔记
笔记·python
狐573 小时前
2026-01-19-论文阅读-AgiBot-1
论文阅读·笔记·具身智能
HiTomcat4 小时前
一键自动化部署 macOS 开发环境
运维·macos·自动化
魔芋红茶5 小时前
Spring Security 学习笔记 1:快速开始
笔记·学习·spring
皇夜_5 小时前
【AI发电】极简笔记:支持安卓和H5协同笔记
笔记
小程同学>o<5 小时前
嵌入式之ARM体系与架构面试题(四)通信协议篇
arm开发·笔记·架构·嵌入式软件·通信协议·面试题库