2022年外文翻译Android应用基础资料 .pdf

上传人:C****o 文档编号:34253617 上传时间:2022-08-15 格式:PDF 页数:8 大小:108.20KB
返回 下载 相关 举报
2022年外文翻译Android应用基础资料 .pdf_第1页
第1页 / 共8页
2022年外文翻译Android应用基础资料 .pdf_第2页
第2页 / 共8页
点击查看更多>>
资源描述

《2022年外文翻译Android应用基础资料 .pdf》由会员分享,可在线阅读,更多相关《2022年外文翻译Android应用基础资料 .pdf(8页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、应用程序基础 Android Android 应用程序使用Java 编程语言开发。 aapt 工具把编译后的Java代码连同应用程序所需的其他数据和资源文件一起打包到一个Android 包文件中,这个文件使用 .apk 作为扩展名。此文件是分发并安装应用程序到移动设备的载体;是用户下载到他们的设备的文件。单一.apk 文件中的所有代码被认为是一个应用程序。从多个角度来看,每个 Android 应用程序都存在于它自己的世界之中: 1 默认情况下, 每个应用程序均运行于它自己的Linux 进程中。当应用程序中的任何代码 需要被执行时, Android 启动此进程,而当不再需要此进程并且其它应用程序

2、又请求系统资源时,则关闭这个进程。其独有的虚拟机( VM ) ,所以应用程序代码与所有其它应用程序代码是隔离运行的。 3 默认情况下, 每个应用程序均被赋予一个唯一的Linux用户 ID,并加以权限设置,使得应用程序的文件仅对此用户及此应用程序可见尽管也有其它的方法使得这些文件同样能为其他应用程序所访问。1 应用程序组件Android 的一个核心特性就是一个应用程序可以使用其它应用程序的元素(如果那个应用程序允许的话)。例如,如果你的应用程序需要显示一个图片卷动列表,而另一个应用程序已经开发了一个合用的而又允许别的应用程序使用的话,你可以直接调用那个卷动列表来完成工作,而不用自己再开发一个。

3、你的应用程序并没有吸纳或链接其它应用程序的代码。它只是在有需求的时候启动了其它应用程序的那个功能名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 8 页 - - - - - - - - - 部分。 为达到这个目的,系统必须能够在一个应用程序的任何一部分被需要时启动一个此应用程序的进程, 并将那个部分的Java 对象实例化。因此,不像其它大多数系统上的应用程序, Android应用程序并没有为应用程序提供一个单独的入口点(比如说,没有 main() 函数) , 而是为系统提供

4、了可以实例化和运行所需的必备组件。一共有四种组件类型: 1 Activity activity是为用户操作而展示的可视化用户界面。例如,一个 activity可以展示一个菜单项列表供用户选择,戒者显示一些包含说明文字的照片。一个短消息应用程序可以包括一个用于显示要发送消息到的联系人列表的activity, 一个给选定的联系人写短信的 activity 以及翻阅以前的短信或改变设置的其他activity。尽管它们一起组成了一个内聚的用户界面,但其中每个 activity都不其它的保持独立。每一个都实现为以Activity类为基类的子类。一个应用程序可以只有一个 activity,戒者,如刚才提到

5、的短信应用程序那样,包含很多个。每个 activity 的作用,以及有多少个 activity,当然是取决于应用程序及其设计的。一般情况下,总有一个应用程序被标记为用户在应用程序启动的时候第一个看到的。从一个 activity 转向另一个靠的是用当前的 activity 启动下一个。每个 activity 都被给予一个默认的窗口以进行绘制。一般情况下,这个窗口是满屏的,但它也可以是一个小的位于其它窗口之上的浮动窗口。一个 activity 也可以使用附加窗口例如,一个在 activity 运行过程中弹出的供用户响应的对话框,戒是一个当用户选择了屏幕上特定项目后显示的必要信息的窗口。窗口显示的可

6、视内容是由一系列层次化 view 构名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 8 页 - - - - - - - - - 成的,这些 view 均继承自 View 基类。每个 view 均控制着窗口中一块特定的矩形区域。父级 view 包含并组织其子 view 的布局。叶节点 view (位于层次结构最底端)在它们控制的矩形区域中进行绘制,并对用户直达其区域的操作做出响应。 因此,view 是 activity 与用户进行交互的界面。例如,view 可以显示一个小图

7、片,并在用户指点它的时候产生动作。Android 有一些预置的 view 供开发者使用包括按钮、文本域、滚动条、菜单项、复选框等等。 view 层次结构是由 Activity.setContentView() 方法放入 activity 的窗口之中的。content view 是位于层次结构根位置的 View 对象。 2 Service service没有可视化的用户界面, 而是在一段时间内在后台运行。例如,一个 service 可以在用户做其它事情的时候在后台播放背景音乐、从网络上获取数据或者计算一些东西并提供给需要这个运算结果的activity使用。每个 service都继承自 Servi

8、ce 基类。 一个媒体播放器播放播放列表中的曲目是一个不错的例子。播放器应用程序可能有一个 或多个 activity来给用户选择歌曲并进行播放。然而, 音乐播放这个任务本身丌应该由任何 activity来处理, 因为用户期望即使在他们离开播放器应用程序而开始做别的事情时,音乐 仍在继续播放。为达到这个目的,媒体播放器activity可以启动一个运行于后台的service 。 系统将在这个activity不再显示于屏幕乀后,仍维持音乐播放 service的运行。 连接至(绑定到) 一个正在运行的service (如果 service没有运行,则启动之)是可能的。连接之后,你可以通过那个 serv

9、ice暴露出来的接口不service进行通讯。对于音乐 service名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 8 页 - - - - - - - - - 来说,这个接口可以允许用户暂停、回退、停止以及重新开始播放。如同 activity和其它组件一样,service运行于应用程序进程的主线程内。所以它不会对其它组件或用户界面有任何妨碍,它们一般会派生一个新线程来执行一些时间消耗型任务(比如音乐回放)。 3 Broadcast receiver broadcast

10、receiver是一个与注于接收广播通知信息,并做出相应处理的组件。许多广播是由系统代码产生的例如,通知时区改变、电池电量低、拍摄了一张照片或者用户改变了语言选项。应用程序也可以发起广播例如,通知其它应用程序一些数据已经下载到设备上并处于可用状态。一个应用程序可以拥有任意数量的broadcast receiver,以对所有它认为重要的通知信息予以响应。所有的 receiver均继承自 BroadcastReceiver基类。 broadcast receiver没有用户界面。然而,它们可以启动一个activity来响应它们收到的信息,或者也可以使用NotificationManager来通知用

11、户。 通知可以用多种方式来吸引用户的注意力闪动背光灯、震动设备、播放声音等等。通知一般是在状态栏上放一个持丽的图标,用户可以打开它并获取消息。 4 Content provider content provider将一些特定的应用程序数据供给其它应用程序使用。数据可以存储于文件系统、 SQLite数 据 库 或 其 它 有 意 丿 的 方 式 。 content provider继 承 于ContentProvider 基类,实现了一套使得其他应用程序能够检索和存储它所管理的类型数据的标准方法。然而, 应用程序并不直接调用返些方法,而是使用一个 ContentResolver 对象,调用它的方

12、法作为替代。ContentResolver可以与任何 content provider进行会话;与其合名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 8 页 - - - - - - - - - 作对任何相关的进程间通讯进行管理。每当出现一个需要被特定组件处理的请求时, Android会确保那个组件的应用程序进程处于运行状态,必要时会启动它,并确保那个组件的一个合适的实例可用,必要时会创建那个实例。1.1 激活组件: intent当接收到 ContentResolver发出

13、的请求后, content provider被激活。而其它三种组件 activity、service和 broadcast receiver,被一种叫做 intent的异步消息所激活。 intent是一个保存着消息内容的Intent对象。对于 activity和 service来说,它指明了所请求的操作名称,并指定了用来操作的数据的URI和其它一些信息。例如,它可以承载一个对一个 activity的请求,让它为用户显示一张图片,或者让用户编辑一些文本。而对于 broadcast receiver来说, Intent对象指明了所通报的操作。例如,它可以对所有感兴趣的对象通报照相按钮被按下。对于每

14、种组件来说,激活的方法是不同的:通过传递一IntentContext.startActivity()Activity.startActivityForResult(以 启动(或指定新工作给) 一个 activity。相应的 activity可以通过调用自身的 getIntent() 方法来查看最刜激活它的intent 。 Android通过调用activity的 onNewIntent()方法来传递给它随后的任何intent。 一个 activity经常启动另一个activity。 如果它期望它所启 动 的 那 个activity迒 回 一个 结 果 , 它 会 调 用startActivit

15、yForResult()而不是 startActivity()。例如,如果它启名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 8 页 - - - - - - - - - 动 了另外一个activity以使用户挑选一张照片,它也许想知道哪张照片被选中了。其结果将会被封装在一个Intent对象中,并传递给发出调用的 activity的 onActivityResult() 方法。 2 通过传递一个Intent对象至 Context.startService()以启动一个 se

16、rvice(或向正在运行的service给出一个新的指令)。Android调用此service的onStart()方法并将 Intent 对象传递给它。与此类似,一个 intent可以被传递给 Context.bindService()以建立一个处于调用组件和目标 service乀间的活动连接。此service会通过 onBind() 方法的调用来获取此 Intent对 象(如果此 service尚未运行, bindService()会先启动它)。例如,一个activity可以建立一个不前述的音乐回放service的连接,这样它就可以提供给用户一些途径(用户界面) 来 控制回放。这个activ

17、ity可以调用 bindService()来建立此连接,然后调用 service中定之 的方法来控制回放。 3 应用程序可以通过传递一个Intent对 象至Context.sendBroadcast() ,Context. sendOrderedBroadcast(),以及 Context.sendStickyBroadcast()和其它类似方法来发起一个广播。 Android会调用所有对此广播有兴趣的broadcast receiver的 onReceive()方法, 将此 intent传递给它们。1.2 关闭组件content provider仅在响应来自 ContentResolver的

18、请求时处于活动状态。 而 broadcast receiver仅在响应一条广播信息的时候处于活动状态。所以没有必要去显式地关闭返些组件。 而 activity则不同,它提供了用户界面。只要会话依然持续,无论会话过程有无空闲,名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 8 页 - - - - - - - - - activity同用户进行长时间会话且可能一直处于活动状态。与此相似,service也会在很长一段时间内保持运行。所以Android为关闭activity和 s

19、ervice提供了一系列有序的方法。 activity可以通过调用 自 身 的finish()方 法 来 关 闭 。 一 个activity可以 通 过调 用finishActivity()方 法 来 关 闭 另 外 一 个activity( 它 用startActivityForResult() 启动 的) 。service可以通过调用自身的 stopSelf()方法, 或调用 Context.stopService()来停 止。 系统也会在组件不再被使用的时候戒者当Android 必须为更多的活动组件回收内存时关闭它。1.3 manifest文件当 Android 启动一个应用程序组件之前

20、,它必须知道那个组件是存在的。因此,应用程序会在一个被打包到Android 包中的 manifest文件中声明它的组件,.apk 文件还将涵括应用程序的代码、文件以及其它资源。 manifest文件是一个结构化的XML文件,而且对于所有应用程序,文件名总是 AndroidManifest.xml。除了声明此应用程序各个组件,它会做很多其他工作,比如指明应用程序所需链接到的库的名称 (除了默认的Android 库乀外)以及标出应用程序期望获得的 各种权限。但 manifest文件最重要的任务是向Android 报告此应用程序的各个组件。1.4 Intent过滤器一个 Intent对象可以显式地指

21、定一个目标组件。如果进行了返种指定,Android 会找到 这个组件 (基于 manifest文件中的声明)并激活它。但如果 intent没有显式地指定一个目标, Android就必须找到最合适名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 8 页 - - - - - - - - - 的组件来响应此intent。 这个过程是通过比较Intent对象和所有潜在目标的 intent过滤器完成的。 组件的 intent过滤器会通知Android 它所能处理的 intent 类型。如同组件的其它必要信息一样,这些 intent过滤器是在 manifest文件中进行声明的。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 8 页 - - - - - - - - -

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁