导航菜单

PM技术课 | Android那些事儿

通博官网

  人人都是产品经理2天前我要分享

Android最初由Andy Rubin和其他人于2003年开发,并于2005年被谷歌收购.Android系统现在由谷歌和其他公司领导的开放手机联盟开发。然后我们来看看有关Android的内容

Android简介

Android是一种基于Linux的开源操作系统,可在智能手机或平板电脑上运行。由于开源,每个制造商都可以免费使用它。我们普通小米的智能手机,华为,OPPO,VIVO,三星等厂商都是基于Android的。这些手机制造商已经在Android系统的基础上进行了修改。拥有操作系统的“定制版”,如小米开发的MIUI。值得一提的是,许多智能电视也都基于Android系统,如小米电视。

Android最初由Andy Rubin和其他人于2003年开发,并于2005年被谷歌收购.Android系统现在由谷歌和其他公司领导的开放手机联盟开发。

Google于2007年发布了Android软件开发套件的第一个测试版。为了推广Android系统,Google为Android系统提供了统一的APP开发方法,这意味着开发人员只需要开发一次,就可以运行数百个数以百万计的Android设备。

数以亿计的市场吸引了众多开发者加入Android开发行列,这也使得Android系统更加强大。

Android应用程序通常使用Google,AndroidStudio提供的免费开发工具开发,使用Java或Kotlin开发。开发完成后,Android应用程序可轻松打包并在应用程序市场上发布。在中国有独立的应用商店,如豌豆荚和应用珍品,以及小米App Store和华为App Store等手机厂商带来的应用商店。国外主要是GooglePlay和Amazon App Store。

AndroidAPP最初是用Java语言开发的。

Java是由美国甲骨文公司开发和维护的开源语言,但在2010年8月,甲骨文开始对谷歌的专利提起诉讼,这违反了谷歌在加利福尼亚州北部地区的专利,需要高达90亿美元。赔偿美元。案件最终上诉到美国联邦巡回上诉法院。直到2016年5月,旧金山联邦法院裁定Android并未构成侵权行为,并最终确定谷歌赢得此案。

虽然它胜诉,但谷歌仍然担心试图避免过度依赖Java。

在2019年,谷歌宣布Kotlin编程语言是Android应用程序开发人员的首选语言。谷歌在声明中写道:“Android开发将越来越多Kotlin首先,许多新的API和功能将首先在Kotlin提供。如果你想开始一个新项目,你应该用Kotlin写。用Kotlin写作通常意味着更少的代码和更少的类型,测试和维护代码。“

AndroidUI

用户界面(UserInterface,UI)是用于系统和用户交互以及信息交换的媒介。我们已经看到文字,图片,视频等都是UI。

产品UI是用户对产品最直接的感受,UI设计也是软件开发的重中之重。

Android应用程序中的所有用户界面元素都是使用View和ViewGroup构建的,View可以绘制用户可以在屏幕上与之交互的内容。ViewGroup对象用于存储其他View(和ViewGroup)对象以定义接口的布局。

View可以简单地理解为视图,ViewGroup可以理解为视图的组合。视图包括控件和控件之间的布局。

Android提供了可在UI中使用的各种控件,例如文本字段,复选框,按钮,图像等。

Android部分控制效果

常用控件列表如下:

每个控件都具有常见属性,例如id,width和height。

布局确定控件之间的相对位置,包括LinearLayout,RelativeLayout,TableLayout,GridLayout。

相对布局,指定子对象相对于彼此的相对位置(例如,子对象A位于子对象B的左侧)或子对象与父对象的相对位置(例如,子对象)与父对象的顶部对齐)。

列表视图,实现滚动的单列列表。

实现滚动行列表网格的网格视图。

Android系统权限

默认情况下,任何应用程序都无权执行任何对其他应用程序,操作系统或用户产生负面影响的操作,包括读取或写入用户的私人数据(如联系人或电子邮件),读取或写入。来自其他应用程序的文件,执行网络访问,保持设备唤醒等等。

默认情况下,Android应用不与权限相关联。如果要使用这些权限,则必须从系统请求权限。经常使用两种权限,即普通权限和危险权限。

普通权限是应用程序需要访问外部数据或资源的区域,但对用户隐私或其他应用程序操作的风险很小。例如,设置时区的权限是正常的。如果应用程序声明它需要正常权限,系统将自动向应用程序授予权限。

危险特权是指应用程序需要涉及用户隐私信息或可能影响用户或其他应用程序存储的数据操作的数据或资源区域。例如,能够读取用户的联系人是一种危险的特权,如果应用程序声明它需要危险的权限,则用户必须明确地将该特权授予应用程序。

从技术上讲,应用程序权限必须在应用程序清单中包含一个或多个标记。例如,您需要获得短信的权限:

包=” com.android.app.myapp”>

.

八卦:如何适应Android显示屏?

市场上只有几十款iPhone和iPad,但有数千款Android手机。随着支持Android系统的设备(手机,平板电脑,电视,手表)的增加,设备碎片化,品牌碎片化,系统碎片化(基于Google原生系统,小米定制MIUI,华为定制EMUI等),屏幕尺寸碎片化(5英寸,5.5英寸,6英寸等),屏幕分辨率碎片(320×480,480×800)度数720×1280,1080×1920等也在不断加深。

谷歌也意识到了这个问题,并为在Android开发官方网站上调整屏幕提供了一个通用的解决方案。有几种解决方案。完整链接如下:

1)灵活的布局

默认情况下,Android会调整页面布局的大小以适应当前屏幕。为确保布局调整能够很好地适应屏幕大小的变化,开发人员需要灵活布局。

必须遵循的核心原则是避免硬编码接口组件的位置和大小。例如,使用相对布局比绝对布局更好。您应该允许拉伸视图大小以及视图相对于父视图或其他同级视图的位置。这样,即使布局被放大,预期的顺序和相对大小也将保持不变。

2)替代布局

灵活的布局很重要,但您还应根据不同设备(例如,手机,平板电脑)上的可用空间设计不同的布局以优化用户体验。因此,Android提供了Alternativelayouts文件,该文件在运行时根据当前设备的屏幕大小应用。

我们的热门应用程序还提供智能手机版和平板电脑版,但这也意味着额外的开发成本。

相同的应用程序针对不同的屏幕尺寸使用不同的布局

3)可拉伸图片

由于布局应该是可伸缩的以适合当前屏幕,因此附加到任何布局视图的图像也应该是可拉伸的。但是,在任何方向上拉伸正常位图都可能导致奇怪的缩放失真和图像倾斜。为了解决这个问题,Android支持九方位图(.9.png),任意拉伸的九方位图,图像仍可保持“原样”而不失真。

4)像素密度

像素密度是屏幕上每单位面积的像素数,称为dpi(每英寸点数)。它与分辨率不同,分辨率是屏幕上的像素总数。

两个相同尺寸但不同像素密度的器件的夸大示例

如果应用程序显示在具有不同像素密度的屏幕上,则会保留界面设计的物理尺寸,表明它“不受密度限制”。保持不受约束是很重要的,因为如果不这样做,界面元素(如按钮)可以在低密度屏幕上变大,在高密度屏幕上变小。通过提供与密度无关的像素(dp或dip)而不是像素(px)作为度量单位,Android系统可以帮助实现与密度无关的屏幕显示。

本文由