教育资源为主的文档平台

当前位置: 查字典文档网> 所有文档分类> 高等教育> 其它> Android-Application-Fundamentals安卓应用基础大学毕业论文外文文献翻译及原文

Android-Application-Fundamentals安卓应用基础大学毕业论文外文文献翻译及原文

  毕 业 设 计(论文)

  外 文 文 献 翻 译

  文献、资料中文题目:安卓应用基础

  文献、资料英文题目:Android Application Fundamentals 文献、资料来源:

  文献、资料发表(出版)日期:

  院 (部):

  专 业:

  班 级:

  姓 名:

  学 号:

  指导教师:

  翻译日期: 2017.02.14

  英语原文 Android Application Fundamentals

  Android applications are written in the Java programming language. The Android SDK tools compile the code—along with any data and resource files—into an Android package, an archive file with an .apk suffix. All the code in a single .apk file is considered to be one application and is the file that Android-powered devices use to install the application.

  Once installed on a device, each Android application lives in its own security sandbox: ? The Android operating system is a multi-user Linux system in which each

  application is a different user.

  ? By default, the system assigns each application a unique Linux user ID (the ID is

  used only by the system and is unknown to the application). The system sets

  permissions for all the files in an application so that only the user ID assigned to that application can access them.

  ? Each process has its own virtual machine (VM), so an application's code runs in

  isolation from other applications.

  ? By default, every application runs in its own Linux process. Android starts the

  process when any of the application's components need to be executed, then shuts down the process when it's no longer needed or when the system must recover

  memory for other applications.

  In this way, the Android system implements the principle of least privilege. That is, each application, by default, has access only to the components that it requires to do its work and no more. This creates a very secure environment in which an application cannot access parts of the system for which it is not given permission.

  However, there are ways for an application to share data with other applications and for an application to access system services:

  ? It's possible to arrange for two applications to share the same Linux user ID, in which

  case they are able to access each other's files. To conserve system resources,

  applications with the same user ID can also arrange to run in the same Linux process

  and share the same VM (the applications must also be signed with the same

  certificate).

  ? An application can request permission to access device data such as the user's

  contacts, SMS messages, the mountable storage (SD card), camera, Bluetooth, and more. All application permissions must be granted by the user at install time.

  That covers the basics regarding how an Android application exists within the system. The rest of this document introduces you to: ? The core framework components that define your application.

  ? The manifest file in which you declare components and required device features for

  your application.

  ? Resources that are separate from the application code and allow your application to

  gracefully optimize its behavior for a variety of device configurations.

  Application Components

  Application components are the essential building blocks of an Android application. Each component is a different point through which the system can enter your application. Not all components are actual entry points for the user and some depend on each other, but each one exists as its own entity and plays a specific role—each one is a unique building block that helps define your application's overall behavior.

  There are four different types of application components. Each type serves a distinct purpose and has a distinct lifecycle that defines how the component is created and destroyed. Here are the four types of application components:

  Activities

  An activity represents a single screen with a user interface. For example, an email application might have one activity that shows a list of new emails, another activity to compose an email, and another activity for reading emails. Although the activities work together to form a cohesive user experience in the email application, each one is independent of the others. As such, a different application can start any one of these activities (if the email application allows it). For example, a camera application can start the activity in the email application that composes new mail, in order for the user to share a picture.

  An activity is implemented as a subclass of Activity and you can learn more about it in the Activities developer guide.

  Services

  A service is a component that runs in the background to perform long-running operations or to perform work for remote processes. A service does not provide a user interface. For example, a service might play music in the background while the user is in a different application, or it might fetch data over the network without blocking user interaction with an activity. Another component, such as an activity, can start the service and let it run or bind to it in order to interact with it.

  A service is implemented as a subclass of Service and you can learn more about it in the Services developer guide. Content providers

  A content provider manages a shared set of application data. You can store the data in the file system, an SQLite database, on the web, or any other persistent storage location your application can access. Through the content provider, other applications can query or even modify the data (if the content provider allows it). For example, the Android system provides a content provider that manages the user's contact information. As such, any application with the proper permissions can query part of the content provider (such as ContactsContract.Data) to read and write information about a particular person.

  Content providers are also useful for reading and writing data that is private to your application and not shared. For example, the Note Pad sample application uses a content provider to save notes.

  A content provider is implemented as a subclass of ContentProvider and must implement a standard set of APIs that enable other applications to perform transactions. For more information, see the Content Providers developer guide.

  Broadcast receivers

  A broadcast receiver is a component that responds to system-wide broadcast announcements. Many broadcasts originate from the system—for example, a broadcast announcing that the screen has turned off, the battery is low, or a picture was

  captured. Applications can also initiate broadcasts—for example, to let other applications know that some data has been downloaded to the device and is available for them to use. Although broadcast receivers don't display a user interface, they may create a status bar notification to alert the user when a broadcast event occurs. More commonly, though, a broadcast receiver is just a gateway to other components and is intended to do a very minimal amount of work. For instance, it might initiate a service to perform some work based on the event.

  A broadcast receiver is implemented as a subclass of BroadcastReceiver and each broadcast is delivered as an Intent object. For more information, see theBroadcastReceiver class.

  A unique aspect of the Android system design is that any application can start another application’s component. For example, if you want the user to capture a photo with the device camera, there's probably another application that does that and your application can use it, instead of developing an activity to capture a photo yourself. You don't need to incorporate or even link to the code from the camera application. Instead, you can simply start the activity in the camera application that captures a photo. When complete, the photo is even returned to your application so you can use it. To the user, it seems as if the camera is actually a part of your application.

  When the system starts a component, it starts the process for that application (if it's not already running) and instantiates the classes needed for the component. For example, if your application starts the activity in the camera application that captures a photo, that activity runs in the process that belongs to the camera application, not in your application's process.

  Therefore, unlike applications on most other systems, Android applications don't have a single entry point (there's no main() function, for example).

  Because the system runs each application in a separate process with file permissions that restrict access to other applications, your application cannot directly activate a component from another application. The Android system, however, can. So, to activate a component in another application, you must deliver a message to the system that specifies your intent to start a particular component. The system then activates the component for you.

  Activating Components

  Three of the four component types—activities, services, and broadcast receivers—are activated by an asynchronous message called an intent. Intents bind individual components to each other at runtime (you can think of them as the messengers that request an action from other components), whether the component belongs to your application or another.

  An intent is created with an Intent object, which defines a message to activate either a specific component or a specific type of component—an intent can be either explicit or implicit, respectively.

  For activities and services, an intent defines the action to perform (for example, to view or send something) and may specify the URI of the data to act on (among other things that the component being started might need to know). For example, an intent might convey a request for an activity to show an image or to open a web page. In some cases, you can start an activity to receive a result, in which case, the activity also returns the result in

  an Intent (for example, you can issue an intent to let the user pick a personal contact and have it returned to you—the return intent includes a URI pointing to the chosen contact).

  For broadcast receivers, the intent simply defines the announcement being broadcast (for example, a broadcast to indicate the device battery is low includes only a known action string that indicates battery is low).

  The other component type, content provider, is not activated by intents. Rather, it is

  activated when targeted by a request from a ContentResolver. The content resolver handles all direct transactions with the content provider so that the component that's performing transactions with the provider doesn't need to and instead calls methods on

  the ContentResolver object. This leaves a layer of abstraction between the content provider and the component requesting information (for security).

  There are separate methods for activating each type of component:

  ? You can start an activity (or give it something new to do) by passing

  an Intent to startActivity() or startActivityForResult() (when you want the activity to return a result).

  You can start a service (or give new instructions to an ongoing service) by passing an Intent to startService(). Or you can bind to the service by passing

  an Intent tobindService(). ?

版权声明:此文档由查字典文档网用户提供,如用于商业用途请与作者联系,查字典文档网保持最终解释权!

下载文档

热门试卷

2016年四川省内江市中考化学试卷
广西钦州市高新区2017届高三11月月考政治试卷
浙江省湖州市2016-2017学年高一上学期期中考试政治试卷
浙江省湖州市2016-2017学年高二上学期期中考试政治试卷
辽宁省铁岭市协作体2017届高三上学期第三次联考政治试卷
广西钦州市钦州港区2016-2017学年高二11月月考政治试卷
广西钦州市钦州港区2017届高三11月月考政治试卷
广西钦州市钦州港区2016-2017学年高一11月月考政治试卷
广西钦州市高新区2016-2017学年高二11月月考政治试卷
广西钦州市高新区2016-2017学年高一11月月考政治试卷
山东省滨州市三校2017届第一学期阶段测试初三英语试题
四川省成都七中2017届高三一诊模拟考试文科综合试卷
2017届普通高等学校招生全国统一考试模拟试题(附答案)
重庆市永川中学高2017级上期12月月考语文试题
江西宜春三中2017届高三第一学期第二次月考文科综合试题
内蒙古赤峰二中2017届高三上学期第三次月考英语试题
2017年六年级(上)数学期末考试卷
2017人教版小学英语三年级上期末笔试题
江苏省常州西藏民族中学2016-2017学年九年级思想品德第一学期第二次阶段测试试卷
重庆市九龙坡区七校2016-2017学年上期八年级素质测查(二)语文学科试题卷
江苏省无锡市钱桥中学2016年12月八年级语文阶段性测试卷
江苏省无锡市钱桥中学2016-2017学年七年级英语12月阶段检测试卷
山东省邹城市第八中学2016-2017学年八年级12月物理第4章试题(无答案)
【人教版】河北省2015-2016学年度九年级上期末语文试题卷(附答案)
四川省简阳市阳安中学2016年12月高二月考英语试卷
四川省成都龙泉中学高三上学期2016年12月月考试题文科综合能力测试
安徽省滁州中学2016—2017学年度第一学期12月月考​高三英语试卷
山东省武城县第二中学2016.12高一年级上学期第二次月考历史试题(必修一第四、五单元)
福建省四地六校联考2016-2017学年上学期第三次月考高三化学试卷
甘肃省武威第二十三中学2016—2017学年度八年级第一学期12月月考生物试卷

网友关注视频

【部编】人教版语文七年级下册《泊秦淮》优质课教学视频+PPT课件+教案,天津市
外研版英语三起6年级下册(14版)Module3 Unit1
8.练习八_第一课时(特等奖)(苏教版三年级上册)_T142692
七年级下册外研版英语M8U2reading
《小学数学二年级下册》第二单元测试题讲解
冀教版英语四年级下册第二课
冀教版小学数学二年级下册第二单元《余数和除数的关系》
冀教版小学英语五年级下册lesson2教学视频(2)
冀教版小学数学二年级下册第二单元《有余数除法的整理与复习》
3月2日小学二年级数学下册(数一数)
【部编】人教版语文七年级下册《泊秦淮》优质课教学视频+PPT课件+教案,湖北省
【获奖】科粤版初三九年级化学下册第七章7.3浓稀的表示
第五单元 民族艺术的瑰宝_15. 多姿多彩的民族服饰_第二课时(市一等奖)(岭南版六年级上册)_T129830
【部编】人教版语文七年级下册《过松源晨炊漆公店(其五)》优质课教学视频+PPT课件+教案,辽宁省
19 爱护鸟类_第一课时(二等奖)(桂美版二年级下册)_T3763925
【部编】人教版语文七年级下册《逢入京使》优质课教学视频+PPT课件+教案,辽宁省
二年级下册数学第一课
【部编】人教版语文七年级下册《逢入京使》优质课教学视频+PPT课件+教案,安徽省
沪教版牛津小学英语(深圳用)五年级下册 Unit 1
第19课 我喜欢的鸟_第一课时(二等奖)(人美杨永善版二年级下册)_T644386
第12章 圆锥曲线_12.7 抛物线的标准方程_第一课时(特等奖)(沪教版高二下册)_T274713
精品·同步课程 历史 八年级 上册 第15集 近代科学技术与思想文化
人教版历史八年级下册第一课《中华人民共和国成立》
冀教版英语三年级下册第二课
【部编】人教版语文七年级下册《泊秦淮》优质课教学视频+PPT课件+教案,广东省
小学英语单词
冀教版小学数学二年级下册1
北师大版数学 四年级下册 第三单元 第二节 小数点搬家
第五单元 民族艺术的瑰宝_16. 形形色色的民族乐器_第一课时(岭南版六年级上册)_T3751175
七年级英语下册 上海牛津版 Unit5