Android概述

Android概述,第1张

概述概述AndroidAndroid是google开发的基于的linux内核的、开源的、智能移动设备上的 *** 作系统平台,Android包括 *** 作系统、中间件和应用程序,由于开源所以可以被移植到不同的硬件平台上是由AndyRubin创立的手机 *** 作系统,目标在于建立一个标准化的免费的移动电话软件平台是由G 概述AndroID

AndroID是Google开发的基于的linux内核的、开源的、智能移动设备上的 *** 作系统平台,AndroID包括 *** 作系统、中间件和应用程序,由于开源所以可以被移植到不同的硬件平台上

  是由Andy Rubin创立的手机 *** 作系统,目标在于建立一个标准化的免费的移动电话软件平台  是由Google和OHA开放手机联盟共同开发和维护的  是通过Java虚拟机(优化,不是严格意义上的JVM)来执行,并且需要占用大量的内存来换取执行速度,再加上不定期的内存自动回收机制  目前占全球智能手机 *** 作系统的70%左右的份额
AndroID应用场景

围绕AndroID系统形成了移植开发和上层应用开发两个不同的开发方面。适合通过软硬件结合创新设计

开发人员的收益:1、出售应用下载,和Google分成。2、程序中内嵌广告,每千次点击收费。

开发人员销售的市场Google提供的AndroID Market,2012年更名为Google Play Store

开发方向:1、HAL层开发,不要求开源。2、AndroID系统软硬件结合,进行应用创意的开发。3、编写主动型API。4、设计云计算中的专卖连锁店

AndroID开发特点

1、4大组件:活动Activity、服务Service、广播接收者broadcast Receiver和内容提供者Content ProvIDer
2、丰富的系统空间,方便用户自定义界面的开发
3、sqlite是AndroID系统自带的轻量级、速度很快的嵌入式关系型数据库管理系统
4、强大的多媒体服务,例如音乐、录音、拍照等
5、地理位置服务,内嵌的GPS
6、权限保护,可以用于保护用户的个人隐私,应用必须请求权限才能访问敏感的用户信息和数据
7、Google提供了一套Java核心包的有限子集,并且不承诺遵守Java的编程规范,可能会导致Java阵营的分裂

AndroID系统的架构

AndroID采用4层的分层架构,实现了分散关注的思想


linux内核层是由C语言实现的,主要提供AndroID设备的各种硬件驱动

系统运行库层通过C/C++库为AndroID系统提供主要的核心功能,同时提供了AndroID运行时环境

应用框架层是通过Java语言实现的,主要提供了构建应用时的可能会用到的各种API

应用层是通过Java语言实现的,是安装在手机上的应用程序

AndroID启动流程:1、init进程启动。2、System Server启动。3、AndroID系统服务启动,将各种服务注册到Service Manager中。4、AndroID运行时环境的创建,并且启动Launcher中的应用

AndroID应用内容

AndroID应用一般采用Java编写,通过打包工具将应用和所需的数据资源打包成一个apk的应用资源包文件,可以使用工具将其安装在移动设备上。在AndroID系统中每个apk文件都可以看做一个具体应用
基本设计规则:
1、默认每个应用都运行在自己的linux进程空间中,当前系统资源不足时,系统会自动终止该进程
2、每个进程都有自己的虚拟机,应用之间相互隔离
3、每个应用都分配一个唯一的linux用户ID,拥有相同ID的应用运行在相同的linux进程中,共享一个虚拟机

Activity

Activity提供给用户执行 *** 作的客户化用户界面,充当UI组件的容器,好看是最基本的要求,大多数应用中至少会包含一个Activity,多个Activity保持相互独立

Service

Service是一套适合在后台长期运行,但是没有可视化接口的应用。Service运行于应用进程的主线程中,不会受到其它组件的任何干扰。经常会派生新线程用于指定比较耗时的 *** 作

broadcast Receiver

broadcast Receiver是用于接收广播通知信息处理的组件,广播可以来源于系统事件,也可以使用编程实现的广播告知

ContentProvIDer

内容提供之实现了一组方法,从而实现让不同应用之间可以相互保存或者读取彼此内容。当然也允许实现自己的内容提供者,这些数据可以存储在文件系统中或者使用sqlite保存数据

AndroID发展史

AndroID系统最早是由andy rubin为主开发的,主要支持手机
2005年由Google注资收购
2007年成立OHA
2008年第一部手机发布,首次超过塞班


AndroID5是版本改动最大的一次,使用ART替代了Dalvik虚拟机,提升应用的运行速度,同时提出了新概念用于优化应用的界面设计

搭建IDE环境

常见的IDE有官方推荐的AndroID Studio和Eclipse+ADT。ADT开发方式Google已经宣布不再更新
先下载对应的AndroID SDK后再安装IDE,其中下载SDK的步骤不是必须的。也可以先安装AndroID Studio,然后通过AndroID Studio自动下载SDK
SDK开发环境使用预编译的内核和文件系统,屏蔽了AndroID软件架构第三层以下的内容,可以者主要基于AndroID的系统API进行应用层的开发。如果需要开发底层的内容,则可以使用NDK
JDK1.7+,系统内存最好不少于8GB
官方帮助文档 https://developer.androID.Google.cn

AS是Google推荐的AndroID应用开发IDE,下载路径http://www.androID-studio.org/
注意在安装选择安装位置时不要使用特殊符号,例如中文、空格等
一般下载时间都比较长,所以保持网络畅通,并耐心等待
提供的平台有3个:windows、linux和Mac OS

AndroID SDK安装

使用提供的SDK的压缩包,进行解压后使用,可以通过SDK Manager.exe针对SDK的版本提供支持
注意不要讲SDK安装在C盘上,因为可能至少需要30G左右的空间
相关的目录结构
add-ons附加的包
docs是HTML格式的离线文档
platforms是sdk的核心内容,其中主要包含各个SDK版本的信息,例如系统映像、工具、实例代码等
tools特定平台的开发
data包含默认字体、资源等
images是模拟器的磁盘镜像
samples样例代码
skins仿真器的皮肤,每个皮肤对应一个屏幕尺寸
androID.jar是AndroID库文件的Java程序包,在编译代码会被使用

AS的安装

使用提供的AS的压缩包,解压后直接可以使用。也可以通过官方网站下载安装https://developer.androID.Google.cn/studio/
AndroID应用开发中必须有对应的运行平台,可以使用实体机或者模拟器运行,目前一般来说因为启动速度问题建议创建x86结构的模拟器

Hello AndroID

AndroID应用属于应用层,构建在AndroID系统所提供的API之上。每个AndroID平台对应支持一个API级别,会隐含对所有早期API的支持
用户开发的应用和AndroID内置的应用层属于同一个层次,调用API的方式相同,只是是否被包含在默认的AndroID系统
1、创建项目
注意事项:1、工程名中不能含有特殊符号,例如中文和空格。2、变量、方法、类名称不要取中文名称。3、应用的包名称事先需要考虑好,因为androID系统是通过包名称来区分不同的应用的,所以包名称必须具备唯一性。实际上事后可以修改
2、项目的目录树结构
项目管理的显示方式的选择,默认采用的是androID显示风格


对应的显示内容

app应用相关的内容都在这里

Mainifest/AndroIDManifest.xml是应用的清单文件,其中包含应用的配置信息
java存放项目相关的java源程序

包名称后没有任何内容就是源程序,如果有提示信息test则是测试程序,一般用于业务逻辑的验证代码,如果有提示信息AndroIDTest则是AndroID的测试程序,一般用于androID相关组件测试

res存放项目相关的静态资源文件,例如图片、声音等

drawable用于存放图片,layout用于存放界面的定义,mipmap主要用于存放具有三维效果的图标,values用于存放常量配置

Gradle scripts主要用于存放gradle相关的脚本程序,通过脚本可以实现打包

Gradle是一个被androID所采用的主要面向Java的项目构建系统,可以将AndroID项目构建编译成一个可安装的APK包,然后在具体的设备上进行安装Activity

Activity主要用于实现提供给用户的UI界面,并针对用户的动作提供对应的处理

public class MainActivity extends AppCompatActivity {   //onCreate方法时在activity初始化的时候自动调用的,当窗口从无到有时第一次创建activity对象时自动回调,主要功能为这个activity启动时进行一些必要的初始化工作。    protected voID onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentVIEw(R.layout.activity_main);//setContentVIEw方法用于加载对应的UI定义文件,位于res/layout/目录下的activity_main.xml文件。可以打开这个布局文件在PrevIEw视图中查看预览效果    }}

注意:在一个activity真正启动之前任何耗时的 *** 作导致activity启动缓慢,尤其是在onCreate方法中调用耗时 *** 作可能会导致非常差的用户体验
资源文件activity_main.xml
双击资源文件,查看窗口

总结

以上是内存溢出为你收集整理的Android概述全部内容,希望文章能够帮你解决Android概述所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/web/1046271.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-24
下一篇2022-05-24

发表评论

登录后才能评论

评论列表(0条)

    保存