搜档网
当前位置:搜档网 › 外文翻译---安卓系统的基本描述

外文翻译---安卓系统的基本描述

外文翻译---安卓系统的基本描述
外文翻译---安卓系统的基本描述

附录二外文文献(原文)

The basic of description of android system The mainstream of the next generation of open operating systems will not be on the desktop, but will appear in the phone that we carry every day. Open environment will lead these new applications may be integrated into these online services that already exist, of course, as with growing data services on mobile phones support the security flaws on the phone is also becoming increasingly clear. The nature of the next-generation operating system, whether to provide a complete integrated security platform.

By the Open Mobile Alliance (open Handset Alliance led by Google) developed the android system is a widely optimistic about an open source phone system, the system provides a basic operating system, a middle ware application layer, a java development tools and a system Application collector (collection of system applications). The android the SDK since 2007 on the release of the first android phone in October 2008 before the birth. Google opened since then on his own time, Taiwan's HTC, the manufacturer of the T-Mobile G1 estimate G1 shipments have more than one million at the end of 2008. According to industry insiders expect the G1 mobile phone sales in 2009 continue. Many other mobile phone suppliers in the near future plans to support this system.

Around an android and a huge developer community has been established, while a lot of new products and applications on the android. Android's main selling point is that it enables developers to seamlessly expand online services to mobile phones. This is the most obvious example is Google's tightly integrated with Gmail, Calendar and Contacts Web applications through the system. Users only need to provide an android user name and password, the phone automatically sync with Google services. The other vendors are quickly adapt their existing instant messaging, social networking and gaming services. Android and many companies find new ways to integrate their existing business to the android.

Traditional desktop and server operating system has been working for the integration of security features. These individuals and business applications on a single platform is very good, however a business phone platform like android is not very useful. It gives the hope of many researchers. Android is not parked in the body for other platform application support: the implementation of the application depends on a top-level JA V A middle ware, the middle ware running on the embedded Linux kernel. Therefore, developers should deploy their applications to the Android must

use a custom user interface environment.

In addition, the android system applications limit the application to call each other API collaboration, and the other to authenticate the user application. Although these applications have certain safety features, some of our experienced developers to create Android applications who revealed that the design of security applications is not always straight forward. Android uses a simple permission label distribution mode to restrict access to resources, but the reasons for the necessity and convenience of other applications, the designers have increased the confusion on this system. This paper attempts to explain the complexity of the Android security, and pay attention to some of the possible development defects and application security. We try to draw some lessons learned, and hope that the safety of the future.

Android application framework for developers is a mandatory framework. It does not have a main () function function or a single entry point for the implementation of the contrary, the developer must in the design of application components. We developed applications to help the API of the android sdk

The Android system defines four kinds of component type.

Activity component that defines the application user interface. Usually, the application developer defines each activity screen. Activity can start, it may pass and return values. Can be handled at a time only a keyboard system Activity, all other Activity will be suspended at this time.

Service components perform background processing. The need for some operations when an activity, after the disappearance of the user interface (such as downloading a file or playing music), it usually take such action specially designed services. Developers can also use a special daemon at system startup, the service is usually defined a remote procedure call (RPC), and other system components can be used to send the interface command and retrieve data, as well as to register a callback function.

ContentProvider component storage and share data with relational database interfaces. Each Content supplier has an associated "rights" to describe its contents contains. Other components when used as a handle to execute SQL queries (eg SELECT, INSERT, or DELETE content. Content suppliers are typically stored the values on the database records, data retrieval is a special case, the file is also shared by the content provider interface.

The components of the broadcast receiver as to send a message from the mailbox to the application. Typically, the broadcast message, the application code implicit destination. Therefore, the radio receiver subscribe to these destinations receive messages sent to it. The application code can also be solved explicitly broadcast receivers, including the name space allocation.

The main mechanism of the interaction of the components of the Component Interaction, is an intent, which is a simple message object, which contains a destination address and data components. The Android API defines his approach into intent, and use that information to initiate an activity such as start an activity (startActivity (An intent)) start services (the startService (An intent)) and radio (sendBroadcast (An intent)). Android framework to inform the calls to these methods began to perform in the target application code. This process, the internal components of communication is called an action. Simply put, the Intent object defined in the "Intent to implement the" action ". One of the most powerful features of the Android is allowed a variety of intent addressing mechanism. The developer can solve the space of a target component using its applications, they can also specify an implicit name. In the latter case, the system determines the best components of an action by considering the installed applications and user choice.

Implicit name is called the action string because of his special type of the requested action. Such as a view action string, in an intent data field points to an image file, the system will directly referring to the preferred image viewer.

Developers can also use the action string a large number of radio to send and receive. Receiver at the receiving end, the developers use an intent filter to customize the special action string. Android Department, including the additional goal of the resolution rules, but an optional string type of data manipulation is the most common.

Android applications are written in the Java programming language.The compiled Java code —along with any data and resource files required by the application —is bundled by the apt tool into an Android package,an archive file marked by an .apk suffix.This file is the vehicle for distributing the application and installing it on mobile devices;it's the file users download to their devices.All the code in a single.apk file is considered to be one application.

In many ways,each Android application lives in its own world:

(1)By default,every application runs in its own Linux process.Android starts the process when any of the application's code needs to be executed,and shuts down the process when it's no longer needed and system resources are required by other

applications.

(2)Each process has its own virtual machine(VM),so application code runs in isolation from the code of all other applications.

(3)By default,each application is assigned a unique Linux user ID.Permissions are set so that the application's files are visible only to that user and only to the application itself —altough there are ways to export them to other applications as well.

It's possible to arrange for two applications to share the same user ID,in while case they will be able to see each other's files.To conserve system resources,applications with the same ID can also arrange to run in the same Linux process,sharing the same VM.

Application Components

A central feature of Android is that one application can make use of elements of other application (provided those application permit it).For example,if your application needs to display a scrolling list of images and another application has developed a suitable scroller and made it available to others,you can call upon that scroller to do the work,rather than develop your own.Your application doesn't incorporate the code of the other application or link to it.Rather,it simply starts up that piece of the other application when the need arises.

For this to work,the system must be able to start an application process when any part of it is needed,and instantiate the Java objects for that part.Therefore,unlike applications on most other systems,Android applications don't have a single entry point for everything in the application(no main()function,for example).Rather,they have essential components that the system can instantiate and run as needed.There are four types of components:

Activities

An activity presents a visual user interface for one focused endeavor the user can undertake.For example,an activity might present a list of menu items users can choose from or it might display photographs along with their captions.A text messaging application might have one activity that shows a list of contacts to send messages to,a second activity to write the message to the chosen contact,and other activities to review old messages or change or change settings.Tough they work together to form a cohesive user interface,each activity is independent of the others.Each one is implemented as a subclass of the Activity base class.

An application might consist of just one activity or,like the text messaging application just mentioned,it may contain several.What the activities are,and how many there are depends,of course,on the application and its design.Typically,one of the activities is marked as the first one that should be presented to the user when the application is launched.Moving from one activity to another is accomplished by having the current activity start the next one.

Each activity is given a default window to draw in.Typically,the window fills the screen,but it might be smaller than the screen and float on top of other windows.An activity can also make use of additional windows —for example,a pop-up dialog that calls for a user response in the midst of the activity,or a window that presents users with vital information when they select a particular item on-screen.

The visual content of the window is provided by a hierarchy of views —objects derived from the base View class.Each view controls a particular rectangular space within the window.Parent views contain and organize the layout of their children.Leaf views(those at the bottom of the hierarchy)draw in the rectangles they control and respond to user actions directed at that space.Thus,views are where the activity's interaction with the user takes place.

For example,a view might display a small image and initiate an action when the user taps that image.Android has a number of ready-made views that you can use —including buttons,text fields,scroll bars,menu items,check boxes,and more.

A view hierarchy is placed within an activity's window by the Activity.setContentView()method.The content view is the View object at the root of the hierarchy.(See the separate User Interface document for more information on views and the hierarchy.)

Services

A service doesn't have a visual user interface,but rather runs in the background for an indefinite period of time.For example,a service might play background music as the user attends to other matters,or it might fetch data over the network or calculate something and provide the result to activities that need it.Each service extends the Service base class.

A prime example is a media player songs from a play list.The player application would probably have one or more activities that allow the user to choose songs and start playing them.However,the music playback itself would bot be handled by an activity because users will expect the music to keep the music going,the media player activity could start a service to run in the background.The system would then keep the

music playback service running even after the activity that started it leaves the screen.

It's possible to connect to (bind to)an ongoing service(and start the service if it's not already running).While connected,you can communicate with the service through an interface that the service exposes.For the music service,this interface might allow users to pause,rewind,stop,and restart the playback.

Like activities and the other components,services run in the main thread of the application process.So that they won't block other components or the user interface,they often spawn another thread for time-consuming tasks(like music playback).See Processes and Thread,later.

Broadcast receivers

A broadcast receiver is a component that does nothing but receive and react to broadcast announcements.Many broadcasts originate in system code —for example,announcements that the timezone has changed,that the battery is low,that a picture has been taken,or that the user changed a language preference.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.

An application can have any number of broadcast receivers to respond to respond to respond to any announcements it considers important.All receivers extend the BroadcastReceiver base class.

Broadcast receivers do not display a user interface.However,they may start an activity in response to the information they receive,or they may use the NotificationManager to alert the user.Notifications can get the user's attention in various ways —flashing the backlight,vibrating the device,playing a sound,and so on,They typically place a persistent icon in the status bar,which users can open to get the message.

Content providers

A content provider makes a specific set of the application's data available to other applications.The data can be stored in the file system,in an SQLite database,or in any other manner that makes sense.The content provider extends the ContentProvider base class to implement a standard set of methods that enable other applications to retrieve and store data of the type it controls.However,applications do not call these methods directly.Rather they use a ContentResolver object and call its methods instead.A ContentResolver can talk to any content provider;it cooperates with the provider to manage any interprocess communication that's involved.

See the separate Content Providers document for more information on using content providers.

Whenever there's a request that should be handled by a particular component,Android makes sure that the application process of the component is running,starting it if necessary,and that an appropriate instance of the component is available,creating the instance if necessary.

Activating components:intents

Content providers are activated when they're targeted by a request from a ContentResolver.The other three components —activities,services,and broadcast receivers —are activated by asynchronous messages called intents.An intent is an Intent object that holds the content of the message.For activities and services,it names the action being requested and specifies the URI of the data to act on,among other things.For example,it might convey a request for an activity to present an image t the user or let the user edit some text.For broadcast receivers,the Intent object names the action being announced.For example,it might announce to interested parties that the camera button has been pressed.

There are separate methods for activating each type of component:

1.An activity is launched(or given something new to do)by passing an Intent object to Context.startActivity() or Activity.startActivityForResult().The responding activity can look at the initial intent that caused it to be launched by calling its getIntent() method.Android calls the activity's onNewIntent()method to pass it any subsequent intents.One activity often starts the next one.If it expects a result back from the activity it's starting,it calls startActivityForResult() instead of startActivity().For example,if it starts an activity that lets the user pick a photo,it might expect to be returned the chosen photo.The result is returned in an Intent object that's passed to the calling activity's onActivityResult() method.

2.A service is started(or new instructions are given to an ongoing service)by passing an Intent object to Context.startService().Android calls the service's onStart() method and passes it the Intent object.Similarly,an intent can be passed to Context.bindService() to establish an ongoing connection between the calling component and a target service.The service receives the Intent object in an onBind() call.(If the service is not already running,bindService() can optionally start it.)For example,an activity might establish a connection with the music playback service mentioned earlier so that it can provide the user with the means(a user interface)for controlling the playback.The activity would call bindService() to set up that

connection,and then call methods defined by the service to affect the playback.

A later section,Remote procedure calls,has more details about binding to a service.

3.An application can initiate a broadcast by passing an Intent object to methods like Context.sendStickyBroadcast() in any of their variations.Android delivers the intent to all interested broadcast receivers by calling their onReceive() methods.For more on intent messages,see the separate article,Intents and Intent Filters.

Shutting down components

A content provider is active only while it's responding to a request from a ContentResolver.And a broadcast receiver is active only while it's responding to a broadcast message.So there's no need to explicitly shut down these components.Activities,on the other hand,provide the user interface.They're in a long-running conversation with the user and may remain active,even when idle,as long time.So Android has methods to shut down activities and services in an orderly way:

1.An activity can be shut down by calling its finish() method.Onte activity can shut down another activity (one it started with startActivityForResult())by calling finishActivity().

2.A service can be stopped by calling its stopSelf() method,or by calling Context.stopService().

Components might also be shut down by the system when they are no longer being used or when Android must reclaim memory for more active components.A later section,Component Lifecycles,discusses this possibility and its ramifications in more detail.

The manifest file

Before Android can start an application component,it must learn that the component exists.Therefore,applications declare their components in a manifest file that's bundled into the Android package,the .apk file that also holds the application's code,files, and resources.

The manifest is a structured XML file and is always named AndroidManifest.xml for all applications.It does a number of things in addition to declaring the application's components,such as naming any libraries the application needs to be linked against(besides the default Android library)and identifying any permissions the application expects to be granted.

But the principal task of the manifest is to inform Android about the application's components.For example,an activity might be declared as follows:

The name attribute of the element names the Activity subclass that implements the activity.The icon and label attributes point to resource files containing an icon and label that can be displayed to users to resource files containing an icon and label that can be displayed to users to represent the activity.

The other components are declared in a similar way —elements for services,elements for broadcast receivers,andelements for content providers.Activities,services,and content providers that are not declared in the manifest are not visible to the system and are consequently never run.However,broadcast receivers can either be declared in the manifest,or they can be created dynamically i code (as BroadcastReceiver objects)and registered with the system by calling Context.registerReceiber().

For more on how to structure a manifest file for your application,see The Android Manifest.xml File.

Intent filters

An Intent object can explicitly name a target component.If it does,Android finds that component(based on the declarations in the manifest file)and activates it.But if a target is not explicitly named,Android must locate the best component to respond to the intent.It does s by comparing the Intent object to the intent filters of potential targets.A component's intent filters inform Android of the kinds of intents the component is able to handle.Like other essential information about the component,they're declared in the manifest.Here's an extension of the previous example that adds two intent filters to the activity:

The first filter in the example —the combination of the action "android.intent.action.MAIN"and the category "https://www.sodocs.net/doc/4514101685.html,UNCHER"—is a common one.It marks the activity as one that should be represented in the application launcher,the screen listing applications users can launch on the device.In other words,the activity is the entry point for the application,the initial one users would see when they choose the application in the launcher.

The component can have any number of intent filters,each one declaring a different set of capabilities.If it doesn't have any filters,it can be activated only by intents that explicitly name the component as the target.

For a broadcast receiver that's created and registered in code,the intent filter is instantiated directly as an IntentFilter object.All other filters are set up in the manifest.

For more on intent filters,see a separate document, Intents and Intent Filters.

附录三外文文献(译文)

安卓系统的基本描述

下一代开放操作系统的主流将不会在桌面上,但是将会出现在我们每天携带的手机上。这些开放性的环境将会带领这些新的应用可能集成这些已经存在的在线服务,当然随着日以具增的数据与服务在手机上的支持,手机上的安全缺陷也越发明显。下一代操作系统本质在于是否提供一个完整综合的安全平台。

由开放手机联盟(open Handset Alliance 谷歌领导)所开发的android 系统是一个被广泛看好的一个手机开源系统,该系统提供一个基本的操作系统,一个中间件应用层,一个java开发工具和一个系统应用收集器(collection of system applications)。尽管android SDK 自2007年就发布了,但是第一部android 手机却在2008年10月才诞生。自从这时起谷歌开起了自己的时代,T-Mobile的G1的制造商台湾HTC估算G1的发货量在2008年底已经超过100万部。据业内人士预期该G1手机的销量将会在2009年继续保持。不久的将来其他许多手机供应商要计划支持这个系统。

一个围绕android庞大的开发者社区已经建立,同时很多新的产品和应用已经可以在android上使用。一个Android的主要卖点是它使开发人员无缝把在线服务扩展到手机。这方面最明显的例子是谷歌的紧密集成Gmail,日历和联系人Web应用程序通过该系统。用户只需提供一个android用户名和密码,其手机自动同步与谷歌的服务。其他厂商正在迅速适应自己的现有的即时通讯,社交网络和游戏服务。Android和许多企业寻找新途径来整合他们的自己已有的业务到android上。

传统的台式机和服务器的操作系统一直在努力进行安全功能的集成。这些个人和商业应用在单一平台的很出色,然而这一块业务一个手机平台上像android上不是很有用。它给了许多研究人员希望。Android没有停在为其他平台体用应用支持:应用的执行依赖于顶层JAVA中间件,这个中间件运行在嵌入式Linux 内核之上。所以开发人员要把他们的应用部署到Android必须使用其自定义的用户界面环境。

此外,android系统应用限制各应用相互调用API协作,并且对方为自己的用户应用进行身份验证。尽管这些应用有一定的安全特性,我们一些有经验的开发人员开发android应用人士透露,设计安全应用程序并不总是直线前进的。Android使用一个简单的许可标签分配模式限制访问的资源,但其他应用程序的原因必要性和便利,其设计师们增加了困惑对这个系统。本文试图对Android的安全的复杂性进行讲解,并注意一些可能的发展缺陷以及应用程序的安全。我们通过尝试得出一些经验教训,希望对未来的安全有用。

Android应用程序框架对开发者来说是一个强制架构。它没有一个main()函数功能或单一入口点执行,相反,开发人员必须在设计方面的应用组件。我们开发的应用对android的sdk的帮助的API Android系统定义了4种组件类型。

Activity 组件定义应用程序的用户界面。通常,应用程序开发者定义每一个活动“画面。”Activity可以自己开始,也可能通过传递和返回值。在一时间只有一个键盘的系统Activity可以进行处理,在这个时候所有其他的Activity都会被暂停。

Service组件执行后台处理。当一个活动需要进行一些操作,在用户界面消失以后(如下载一个文件或播放音乐),它通常采取此种动作特殊设计的服务。开发人员还可以在系统启动使用特殊的守护进程,Service通常定义一个远程过程调用(RPC),其他系统组件可以用来传送接口命令和检索数据,以及注册一个回调函数。

ContentProvider组件存储和共享数据用关系数据库接口。每个Content供应者都有一个关联的“权限”来形容它的内容包含。其他组件使用时作为一个handle执行SQL查询(如SELECT,INSERT 或DELETE内容。虽然Content供应者通常存储把数值放在数据库记录中,数据检索是实现特殊的例子,文件也同时通过内容提供商共享接口。

Broadcast receiver该组件作为为从邮件信箱发送信息给他应用程序。通常,广播消息的应用程序代码隐含的目的地。因此,广播接收器订阅这些目的地接收发送给它的消息。应用程序代码也可以解决明确广播接收机包括命名空间分配。

Component Interaction该组件交互的主要机制是一个intent ,这是一个简单的消息对象,其中包含一个目的地组件的地址和数据。Android的API定义了他的方法中传入intent ,并使用该信息来启动一个activity例如开始一个activity(startActivity(intent)),启动服务(startService(intent))和广播信息(sendBroadcast(intent))。Android框架来通知这些方法的调用开始执行在目标应用程序代码。这个过程中内部组件通信称为一个动作。简单地说,Intent对象定义的“Intent”以执行“action”。Android的一个最强大的特点是允许的多种intent寻址机制。开发人员可以解决一个目标组件使用其应用的空间,他们也可以指定一个隐含的名称。在后一种情况下,系统决定了一个action的最佳组件,通过考虑安装的应用程序和用户的选择。

这个隐含的名字被称为动作字符串因为他特殊的类型的请求动作。例如一个view动作字符串,在一个intent中和数据域指向一个图像文件,系统将会直接指首选图像浏览器。

开发者也能使用动作字符串进行大量广播发送和接收。在接收端的接收者,开发者使用一intent 过滤器来定制特殊的动作字符串。Android系包括附加目标的决议规则,但可选的数据操作字符串类型是最常见的。

Android应用程序使用Java编程语言开发。apt工具吧编译后的Java代码连同应用程序所需的其他数据和资源文件一起打包到一个Android包文件中,这个文件使用.apk作为扩展名。此文件是分发并安装应用程序到移动设备的载体;是用户下载到他们的设备的文件。单一.apk文件中的所有代码被认为是一个应用程序。

从多个角度来看,每个Android应用程序都存在于它自己的世界之中:

1.默认情况下,每个应用程序均运行于它自己的Linux进程中。当应用程序中的任何代码需要被执行时,Android启动此进程,而当不再需要此进程并且其它应用程序又请求系统资源时,则关闭这个进程。

2.每个进程都有其独有的虚拟机(VM),所以应用程序代码与其它应用程序代码是隔离运行的。

3.默认情况下,每个应用程序均被赋予一个唯一的Linux用户ID,并加以权限设置,使得应用程序的文件仅对此用户及此应用程序可见—尽管也有其它的方法使得这些文件同样能为其他应用程序访问。1.应用程序组件

Android的一个核心特性就是一个应用程序可以使用其它应用程序的元素(如果那个应用程序允许的话)。例如,如果你的应用程序需要显示一个图片卷动列表,而另一个应用程序已经开发了一个合用的而又允许别的应用程序使用的话,你可以直接调用那个卷动列表来完成工作,而不用自己再开发一个。你的应用程序并没有吸纳或链接其它应用程序的代码。它只是在有需求的时候启动了其它应用程序的那个功能部分。

为达到这个目的,系统必须能够在一个应用程序的任何一部分被需要时启动一个此应用程序的进程,并将那个部分的Java对象实例化。因此,不像其它大多数系统上的应用程序,Android应用程序并没有为应用程序提供一个单独的入口点(比如说,没有main()函数),而是为系统提供了可以实例化和运行所需要的必备组件。一共四种组件类型:

(1)Activity

Activity是为用户操作而展示的可视化用户界面。例如,一个activity可以展示一个菜单项列表供用户选择,接着显示一些包含说明文字的照片。一个短消息应用程序可以包括一个用于显示要发送消息到的联系人列表的activity,一个给选定的联系人写短信的activity 以及翻阅以前的短信或改变设置的其他activity。尽管它们一起组成了一个内聚的用户界面,但其中每个activity都不与其它的保持独立。每一个都实现为以Activity类为基类的子类。

一个应用程序可以只有一个activity,或者,如刚才提到的短信应用程序那样,包含很多个。每个activity的作用,以及有多少个activity,当然是取决于应用程序及其设计的。一般情况下,总有一个应用程序被标记为用户在应用程序启动的时候第一个看到的。从一个

activity转向另一个activity靠的是用当前的activity启动下一个。

每个activity都被给予一个默认的窗口以进行绘制。一般情况下,这个窗口是满屏的,但它也可以是一个小的位于其它窗口之上的浮动窗口。一个activity也可以使用附加窗口—例如,一个在activity运行过程中弹出的供用户响应的对话框,或是一个当用户选择了屏幕上特定项目后显示的必要信息的窗口。

窗口显示的可视内容是由一系列层次化view构成的,这些view 均继承自View基类。每个view均控制着窗口中一块特定的矩形区域中进行绘制,并对用户直达其区域的操作做出响应。因此,view是activity与用户进行交互的界面。例如,view可以显示一个小图片,并在用户指定它的时候产生动作。Android有一些预置的view供开发者使用—包括按钮、文本域、滚动条、菜单项、复选框等等。

view层次结构是由Activity.setContentView()方法放入activity的窗口之中的。content view是位于层次结构根位置的View对象。(参见独立的用户界面文档以读取关于view及层次结构的更多信息。)2.Service

Service没有可视化的用户界面,而是在一段时间内在后台运行,例如,一个service可以在用户做其它事情的时候在后台播放背景音乐、从网络上获取数据或者计算一些东西并提供给需要这个运算结果的activity使用。每个service都继承自Service基类。

一个媒体播放器播放列表中的曲目是一个不错的例子。播放器应用程序可能有一个或多个activity来给用户选择歌曲并进行播放。然而,音乐播放这个任务本身应该由任何activity来处理,因为用户期望即使在他们离开播放器应用程序而开始做别的事情时,音乐仍在继续播放。为达到这个目的,媒体播放器activity可以启动一个运行于后台的service。系统将在这个activity不再显示于屏幕后,仍维持音乐播放service的运行。

连接至(绑定到)一个正在运行的service(如果service没有运行,则启动之)是可能的。连接之后,你可以通过那个service暴露出来的接口不service进行通讯。对于音乐service来说,这个接口可以允许用户暂停、回退、停止以及重新开始播放。

如同activity和其它组件一样,service运行于应用程序进程的主线程内。所以它不会对其他组价或用户界面有任何妨碍,它们一般会派生一个新线程来执行一些时间消耗型任务(比如音乐回放)。参见稍后的进程和线程。

(1)Broadcast receiver

Broadcast receiver是一个与注于接收广播通知信息,并做出相应处理的组件。许多广播是由系统代码产生的—例如,通知时区改变、电池电量低、拍摄了一张照片或者用户改变了语言选项。应用程序也可以发起广播—例如,通知其它应用程序一些数据已经下载到设备上处于可用状态。

一个应用程序可以拥有任意数量的broadcast receiver,以对所有它认为重要的通知信息予以响应。所有的receiver均继承自Broadcast Receiver基类。

Broadcast receiver没有用户界面。然而,它们可以启动一个activity来响应它们收到的信息,或者也可以使用NotificationManager 来通知用户。通知可以用多种方式来吸引用户的注意力—闪动背光灯、震动设备、播放声音等等。通知一般是在状态栏上放一个持丽的图标,用户可以打开它并获取消息。

(2)Content provider

Content provider将一些特定的应用程序数据供给其它应用程序使用。数据可以存储于文件系统、SQLite数据库或者其它有意义的方式。content provider继承于ContentProvider基类,实现了一套使得其他应用程序能够检索和存储它所管理的类型数据的标准方法。然而,应用程序并不直接调用返回这些方法,而是使用一个ContentResolvert 对象,调用它的方法作为替代。ContentResolver可以与任何content provider进行会话;与其合作对任何相关的进程间通讯进行管理。

参阅独立的Content Providers文档以获得更多关于使用content provider的信息。

每当出现一个需要被特定组件处理的请求时,Android会确保那个组件的应用程序进程处于运行状态,必要时会启动它,并确保那个组件的一个合适的实例可用,必要时会创建那个实例。

1.1激活组件:intent

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

对于每种组件来说,激活的方法是不同的:

1.通过传递—

IntentContext.setActivity()Activity.startActivityForResult(以启动(或指定新工作给)一个activity。相应的activity可以通过调用自身的getIntent()方法来查看最新激活它的intent。Android通过调用activity 的onNewIntent()方法来传递给它随后的任何intent。)

一个activity经常启动另一个activity。如果它期望它所启动的那个activity返回一个结果,它会调用startActivityForResult()而不是startActivity()。例如,如果它所启动了另外一个activity以使用户挑选一张照片,它也许想知道哪张照片被选中了。其结果将会被封装在一个Intent对象中,并传递给发出调用的activity的onActivityResult()方法。

2.通过传递一个Intent对象至Context.startService()以启动一个service(或向正在运行的service给出一个新的指令)。Android调用此service的onStart()方法并将Intent对象传递给它。

与此类似,一个intent可以被传递给Context.bindService()以建立一个处于调用组件和目标service之间的活动连接。此service会通过onBind()方法的调用来获取此Intent对象(如果此service尚未运行,bindService()会先启动它)。例如,一个activity可以建立一个不前述的音乐回放service的连接,这样它就可以提供给用户一些途径(用户界面)来控制回放。这个activity可以调用bindService()来建立此连接,然后调用service中定义的方法来控制回放。

稍后的远程方法调用一节有关于如何绑定至一个service的更多细节。

3.应用程序可以通过传递一个Intent对象至Context.sendBroadcast(),Context.sendOrderedBroadcast(),以及Context,sendStickyBroadcast()和其它类似方法来发起一个广播。Android会调用所有对此广播有兴趣的broadcast receiver的onReceive()方法,将此intent传递给它们。

1.2关闭组件

c ontent provider仅在响应来自ContentResolver的请求时处于活动状态。而broadcast receiver仅在响应一条广播信息的时候处于活动状态。所以没有必要去显示地关闭返回这些组件。

而activity则不同,它提供了用户界面:只要会话依然持续,无论会话过程有无空闲,activity同用户进行长时间会话且可能一直处于活动状态。与此相似,service也会很长一段时间内保持运行。所以Android为关闭activity和service提供了一系列有序的方法。

Activity可以通过调用自身的finish()方法来关闭。一个activity 可以通过调用finishActivity()方法来关闭另外一个activity(它用startActivityForResult()启动的)。

Service可以通过调用自身的stopSelf()方法,或调用Context.stopService()来停止。

系统也会在组件不再被使用的时候或者当Android必须为更多的活动组件回收内存时关闭它。稍后的组件的生命周期一节,将对返种可能性及结果进行更详细的讨论。

1.3 manifest文件

当Android启动一个应用程序组件之前,它必须知道那个组件是存在的。因此,应用程序会在一个被打包到Android包中的manifest 文件中声明它的组件,.apk文件还将涵括应用程序的代码、文件以及其他资源。

Manifest文件时一个结构化的XML文件,而对于所有应用程序,文件名总是AndroidManifest.xml。除了声明此应用程序各个组件,它会做很多其他工作,比如指明应用程序所需连接到的库的名称(除了

默认的Android库之外)以及标出应用程序期望获得的各种权限。

但manifest文件最重要的任务是向Android报告此应用程序的各个组件。举例说明,一个activity可能声明如下:

元素的name属性指定了实现此activity的Activity子类。icon和label属性指向包含展示给用户的此activity的图标和标签的资源文件。

其它组件也以类似的方法声明—元素用于声明service,元素用于声明broadcast receiver,而元素用于声明content provider。未在manifest文件中进行声明的activity、service 以及content provider将不为系统所见,从而也就永不会被运行。然而,broadcast receiver既可以在manifest文件中声明,也可以在代码中动态创建(为BroadcastReceiver对象),并以调用Context.registerReceiver()的方式注册至系统。

1.4 Intent过滤器

一个Intent对象可以显式地指定一个目标组件。如果进行了返种指定,Android会找到这个组件(基于manifest文件中的声明)并激活它。但如果intent没有显式的指定一个目标,Android就必须找到合适的组件来响应此intent。这个过程是通过比较Intent对象和所有潜在目标的int扭头过滤器完成的。组件的intent过滤器会通知Android它所能处理的intent类型。如同组件的其它必要信息一样,这些intent过滤器是在manifest文件中进行声明的。返里有一个对先

前例子的扩展,其中加入了针对activity的两个intent过滤器:

示例中的第一个过滤器—action"android.intent.action.MAIN"和category"https://www.sodocs.net/doc/4514101685.html,UNCHER"的组合—是常见的一个。它标明了此activity应该在应用程序启动其中显示,就是用户在屏幕上看到的此设备上可供启动的应用程序的列表。换句话说,这个activity是应用程序的入口点,是用户在启动器中选择运行这个应用程序后所见到的第一个activity。

第二个过滤器声明了此activity在一种特定类型的数据上可以执行的操作。

一个组件可以拥有任意数量的intent过滤器,每个都声明了一套不同的功能。如果组件没有包含任何过滤器,它只能被显式地指明作为目标组件的intent激活。

对于在代码中创建并注册的broadcast receiver来说,intent过滤器将被直接实例化IntentFilter为对象,其它所有的过滤器都在manifest 文件中设置。

毕设外文资料翻译.

理工学院 毕业设计外文资料翻译 专业:计算机科学与技术 姓名:马艳丽 学号: 12L0752218 外文出处:The Design and Implementation of 3D Electronic Map of Campus Based on WEBGIS 附件: 1.外文资料翻译译文;2.外文原文。

附件1:外文资料翻译译文 基于WebGIS的校园三维电子地图的设计与实现 一.导言 如今,数字化和信息化是当今时代的主题。随着信息革命和计算机科学的发展,计算机技术已经渗透到科学的各个领域,并引起了许多革命性的变化,在这些科目,古代制图学也不例外。随着技术和文化的不断进步,地图变化的形式和内容也随之更新。在计算机图形学中,地理信息系统(GIS)不断应用到Web,制作和演示的传统方式经历了巨大的变化,由于先进的信息技术的发展,地图的应用已经大大延长。在这些情况下,绘图将面临广阔的发展前景。电子地图是随之应运而生的产品之一。随着计算机技术,计算机图形学理论,遥感技术,航空摄影测量技术和其他相关技术的飞速发展。用户需要的三维可视化,动态的交互性和展示自己的各种地理相关的数据处理和分析,如此多的关注应支付的研究三维地图。东北石油大学及其周边地区的基础上本文设计并建立三维电子地图。 二.系统设计 基于WebGIS的校园三维电子地图系统的具有普通地图的一般特性。通过按键盘上的箭头键(上,下,左,右),可以使地图向相应的方向移动。通过拖动鼠标,可以查看感兴趣的任何一个地方。使用鼠标滚轮,可以控制地图的大小,根据用户的需求来查看不同缩放级别的地图。在地图的左下角会显示当前鼠标的坐标。在一个div层,我们描绘了一个新建筑物的热点,这层可以根据不同的地图图层的显示,它也可以自动调整。通过点击热点,它可以显示热点的具体信息。也可以输入到查询的信息,根据自己的需要,并得到一些相关的信息。此外,通过点击鼠标,人们可以选择检查的三维地图和卫星地图。 主要功能包括: ?用户信息管理:检查用户名和密码,根据权限设置级别的认证,允许不同权限的用户通过互联网登录系统。 ?位置信息查询:系统可以为用户提供模糊查询和快速定位。

翻译译文

应用程序基础Android Developers Android应用程序使用Java编程语言开发。aapt工具把编译后的Java代码连同应用程序所需的其他数据和资源文件一起打包到一个Android包文件中,这个文件使用.apk作为扩展名。此文件是分发并安装应用程序到移动设备的载体;是用户下载到他们的设备的文件。单一.apk文件中的所有代码被认为是一个应用程序。 从多个角度来看,每个Android应用程序都存在于它自己的世界之中: 1 默认情况下,每个应用程序均运行于它自己的Linux进程中。当应用程序中的任何代码需要被执行时,Android启动此进程,而当不再需要此进程并且其它应用程序又请求系统资源时,则关闭这个进程。 每个进程都有其独有的虚拟机(VM),所以应用程序代码与所有其它应用程序代码是隔离运行的。 3 默认情况下,每个应用程序均被赋予一个唯一的Linux用户ID,并加以权限设置,使得应用程序的文件仅对此用户及此应用程序可见——尽管也有其它的方法使得这些文件同样能为其他应用程序所访问。 1 应用程序组件 Android的一个核心特性就是一个应用程序可以使用其它应用程序的元素(如果那个应用程序允许的话)。例如,如果你的应用程序需要显示一个图片卷动列表,而另一个应用程序已经开发了一个合用的而又允许别的应用程序使用的话,你可以直接调用那个卷动列表来完成工作,而不用自己再开发一个。你的应用程序并没有吸纳或链接其它应用程序的代码。它只是在有需求的时候启动了其它应用程序的那个功能部分。 为达到这个目的,系统必须能够在一个应用程序的任何一部分被需要时启动一个此应用程序的进程,并将那个部分的Java对象实例化。因此,不像其它大多数系统上的应用程序,Android应用程序并没有为应用程序提供一个单独的入口点(比如说,没有main()函数),而是为系统提供了可以实例化和运行所需的必备组件。一共有四种组件类型: 1 Activity activity是为用户操作而展示的可视化用户界面。例如,一个activity可以展示一个菜单项列表供用户选择,戒者显示一些包含说明文字的照片。一个短消息应用程序可以包括一个用于显示要发送消息到的联系人列表的activity,一个给选定的联系人写短信的activity以及翻阅以前的短信或改变设置的其他activity。

外文翻译模板2010

中国石油大学(华东) 本科毕业设计(论文)外文翻译 学生姓名:王辰 学号:0607XXXX 专业班级:信息与计算科学06-2班 指导教师:陈华 2010年6月24日

(原文复印或打印材料,B5纸) In this paper based on the unique geometry and mechanical movement of beam pumping unit,we have presented a simple swing equation and computed motorial parameter;meanwhile under the conditions of the static load and inertial load of the polished-rod of a conventional pumping unit,we have also presented on equivalent dynamic model of the pumping unit system and the type-curves of net torque of the crankshaft with the characteristic of inertial counterbalance have been computed;Based on features and mechanical analysis of belt,a simple model for calculating belt transmission efficiency is developed the model can provide a theoretical base for study on the other transient variable of beam pumping unit;the cyclic loading coefficients is defined once and compute the nominal Power of the motor; at last we compare the beam pumping unit and the adjustable diameter and changeable toque pumping unit, based on this a program have been finished,and we also introduce other power saving pumping units. This graduation project mainly completes through the high accuracy data acquisition, the gain installs on the oil well oil extraction equipment the electric current, the voltage, the temperature, the pressure, the fluid position, the contact surface, the current capacity, contains water data and so on sensor, corresponds the connection with the many kinds of wireless communications (for example GPRS/CDMA) transmits it to the observation and control center, as well as will receive in the central server to the parameter carries on the real-time analysis and the processing parallel intergrowth becomes the database and the curve report form. Is advantageous for the oil field management level to carry on the prompt accurate management to the scene equipment. This system depends on in the Beijing Kunlun passing condition automation software science and technology limited company's entire center cultural work

外文翻译-基于Android智能家居系统

通信工程学院 毕业设计外文翻译 毕业设计题目基于ANDRIO的智能家居 系统的设计与实现 外文题目UBIQUITOUS SMART HOME SYSTEM USING ANDROID APPLICATION 专业:通信工程 学号: 学生姓名: 指导教师姓名: 指导教师职称:副教授 日期:2015 年 1 月10 日

International Journal of Computer Networks & Communications (IJCNC) V ol.6, No.1, January 2014 基于Android应用的无处不在的智能家居系统 Shiu Kumar Department of Information Electronics Engineering, Mokpo National University, 534-729, Mokpo, South Korea 摘要 本文提出了一种灵活独立的,低成本的智能家居系统,它是基于Android应用与微web服务器通信,不仅仅提供交换功能。Arduino以太网的使用是为了避免使用个人电脑从而保证整个系统成本最低,语音激活时用来实现切换功能的。光开关,电源插头,温度传感器,湿度传感器,电流传感器,入侵检测传感器,烟雾/气体传感器和警报器等这些设备集成在系统中,表明了所提出的智能家居系统的有效性和可行性。经过检测,智能家居应用程序可以成功地进行智能家居操作,例如开关功能,自动环境监测,和入侵监测,在监测到有不法入侵后,系统会自动发送一个邮件,并响警笛。 关键字: Android智能手机,智能家居,物联网(loTs),远程控制 1.引言 随着移动设备受欢迎程度的不断增长和人们日常生活中对无处不在的先进的移动应用的功能需求不断增加,利用Web服务是提供远程访问服务的最开放和可互操作的方式,并且使应用程序能够彼此通信。一个有吸引力的市场产品自动化和网络化是忙碌的家庭和有生理缺陷的个人的代表。 loTs可以被描述为连接智能手机,网络电视,传感器等到互联网,实现人们之间沟通的新形势。过去几年中loTs的发展,创造了一个新层面的世界。这使得人们可以在任何时间,任何地点,联通任何期望的东西。物联网技术可用于为智能家居创建新的概念和广阔的空间,以提供智能,舒适的发展空间和完善生活质量。 智能家居是一个非常有前途的领域,其中有各种好处,如增加提供舒适性,更高安全性,更合理地使用能源和其他资源。这项研究的应用领域非常重要,未来它为帮助和支持有特殊需求老的人和残疾人士提供了强有力的手段。设计一个智能家居系统时需要考虑许多因素,该系统应该是经济实惠的,是可伸缩的,使得新的设备可以容易地集成到系统中,此外,它应该是用户友好的。 随着智能手机用户的急剧增加,智能手机已经逐渐变成了具备所有功能的便携式设备,为人们提供了日常使用。本文介绍了一种低成本的控制和监视家居环境控制的无线智能家居系统。利用Android设备,可以通过一个嵌入式微Web服务器与实际的IP连接,访问和控制电器和远程的其它设备,这可以利用任何支持Android的设备。Arduino Ethernet 用于微Web服务器从

毕业设计外文翻译

毕业设计(论文) 外文翻译 题目西安市水源工程中的 水电站设计 专业水利水电工程 班级 学生 指导教师 2016年

研究钢弧形闸门的动态稳定性 牛志国 河海大学水利水电工程学院,中国南京,邮编210098 nzg_197901@https://www.sodocs.net/doc/4514101685.html,,niuzhiguo@https://www.sodocs.net/doc/4514101685.html, 李同春 河海大学水利水电工程学院,中国南京,邮编210098 ltchhu@https://www.sodocs.net/doc/4514101685.html, 摘要 由于钢弧形闸门的结构特征和弹力,调查对参数共振的弧形闸门的臂一直是研究领域的热点话题弧形弧形闸门的动力稳定性。在这个论文中,简化空间框架作为分析模型,根据弹性体薄壁结构的扰动方程和梁单元模型和薄壁结构的梁单元模型,动态不稳定区域的弧形闸门可以通过有限元的方法,应用有限元的方法计算动态不稳定性的主要区域的弧形弧形闸门工作。此外,结合物理和数值模型,对识别新方法的参数共振钢弧形闸门提出了调查,本文不仅是重要的改进弧形闸门的参数振动的计算方法,但也为进一步研究弧形弧形闸门结构的动态稳定性打下了坚实的基础。 简介 低举升力,没有门槽,好流型,和操作方便等优点,使钢弧形闸门已经广泛应用于水工建筑物。弧形闸门的结构特点是液压完全作用于弧形闸门,通过门叶和主大梁,所以弧形闸门臂是主要的组件确保弧形闸门安全操作。如果周期性轴向载荷作用于手臂,手臂的不稳定是在一定条件下可能发生。调查指出:在弧形闸门的20次事故中,除了极特殊的破坏情况下,弧形闸门的破坏的原因是弧形闸门臂的不稳定;此外,明显的动态作用下发生破坏。例如:张山闸,位于中国的江苏省,包括36个弧形闸门。当一个弧形闸门打开放水时,门被破坏了,而其他弧形闸门则关闭,受到静态静水压力仍然是一样的,很明显,一个动态的加载是造成的弧形闸门破坏一个主要因素。因此弧形闸门臂的动态不稳定是造成弧形闸门(特别是低水头的弧形闸门)破坏的主要原是毫无疑问。

APP开发合同范本(标准版).docx

编号:_________________ APP开发合同范本 甲方:________________________________________________ 乙方:________________________________________________ 签订日期:_________年______月______日

甲方:________________________________(以下简称甲方) 地址:_______________________________________________ 法定代表人:_____________联系电话:_______________ 乙方:(以下简称乙方) 地址:_______________________________________________ 法定代表人:联系电话: 甲、乙双方经友好协议,就甲方委托乙方开发《____________________________________》(以下简称"本软件")的事宜达成一致并同意订本合同。 一、项目内容 1. 甲方委托乙方开发的软件《_XX系统APP,安卓系统APP,网络平台__》(以下简称"本三个软件") 在安卓,XX,PC环境下运行的软件,本三个软件需求(以下简称"需求")双方协商确定。

2.本合同APP和网络平台应用开发的栏目架构及相关功能开发细节由《APP和网络平台开发需求表》载明。 二、合同价款和付款方式 1.本合同总价款包括乙方相关的税费及软件开发期间办理相关手续的所有费用。该价款为固定包干价,除上述款项外,甲方无需支付任何其它款项。 2.付款方式: 前期不要源码的甲方总支付乙方费用是27500元,预付定金为10000元,软件和平台做好交付可以使用付清前期不要源码的费用的余额17500(留3000元质保金),即14500元 后期甲方要回乙方源码,乙方要另加收甲方27500元费用,并付清3000元的质保金 三、开发进度 自合同签订日起,甲方把钥匙交给乙方匹配乙方将在_____30_______个工作日内完成客户端开发,此时间并包括审核和测试时间。乙方的工作时间从本合同签订之日的次日起开始计算。

外文翻译模板

最佳分簇规模的水声传感器网络 Liang Zhao,Qilian Liang 德州大学阿灵顿分校电子工程系 Arlington, TX 76010, USA Email: https://www.sodocs.net/doc/4514101685.html,, https://www.sodocs.net/doc/4514101685.html, 摘要:在这篇论文中,我们主要关注的是的最优化分簇规模对水声传感器网络的影响。由于稀疏部署和信道属性的水声传感器网络是不同于地面传感器。我们的分析表明,最优分簇规模主要工作频率所决定的声音的传播。此外,区域数据聚合中也起着因素在很大程度上决定最佳分簇规模。 1引言 水下传感器网络(UW-ASN)可看成是个自组织网络,组成的传感器与一个声音进行分配感应的任务。为了达到这个目的,传感器必须自组织成一个独立的可以适应水下环境的网络,。UW-ASNs可以沿用许多通讯技术传统自组织网络和陆地的无线传感器网络,但仍有一些重要的区别为有限的能量和带宽约[1],[5],此协议对传统发展无线自组网路并不一定适合绝无仅有的网络的特点。当一个无线传感器可能要在一个微小的电池持续比较长的时间,能源效率就成为一个大问题。 由于广播的性质和有限的带宽,在浅水通信[6] [7],多跳可以引起传感器节点之间严重干扰。一个新的路由称为“矢量为基础的转移” (VBF)缓解了这个问题 [8]。 VBF本质上是一种基于位置的路由选择方法:节点紧邻“矢量”转发源宿信息。 通过这种方式,只有一小部分的节点参与路由。另一种解决办法是,每一个传感器分簇通信应该直接指向簇头和内部分簇通信应协调由簇头,以最大限度地提高带宽利用率以往的研究水下通信经常使用时间计划调度方法[9],[10],这可能是适合的小型网络简单。然而,扁平架构还可能限制网络的规模。特别是由于传播延迟声汇简单的时间调度算法方案并不适合较大的水下网络[11]。在文献[11]中,Salva-Garau 和 Stojanovic建议聚类水声载体网络的方案,这组相邻载体进入分簇,和使用的TDMA(时分多址)内每个群集。在分簇管理的干扰是分配到相邻的簇不同的扩频码,同时可扩展性是通过在空间复用码。网络运行开始初始化阶段,并移动到不断维修期间而流动性管理。他们还利用仿真分析,以获得最佳簇大小和传输功率为一种具有一定的载体密度网络。[12]提出了平台,同时使用光学和声汇水下通信。虽然光通信可以达到更高的数据速率,它的应用仅限于短距离点至点通信。该平台也使得移动使用data muling,,这对于大批量的理想延迟容许的应用程序。

毕设外文文献翻译

xxxxxxxxx 毕业设计(论文)外文文献翻译 (本科学生用) 题目:Poduct Line Engineering: The State of the Practice 生产线工程:实践的形态 学生姓名:学号: 学部(系): 专业年级: 指导教师:职称或学位: 2011年3月10日

外文文献翻译(译成中文1000字左右): 【主要阅读文献不少于5篇,译文后附注文献信息,包括:作者、书名(或论文题目)、出版社(或刊物名称)、出版时间(或刊号)、页码。提供所译外文资料附件(印刷类含封面、封底、目录、翻译部分的复印件等,网站类的请附网址及原文】 Requirements engineering practices A precise requirements engineering process— a main driver for successful software development —is even more important for product line engineering. Usually, the product line’s scope addresses various domains simultaneously. This makes requirements engineering more complex. Furthermore, SPL development involves more tasks than single-product development. Many product line requirements are complex, interlinked, and divided into common and product-specific requirements. So, several requirements engineering practices are important specifically in SPL development: ? Domain identification and modeling, as well as commonalities and variations across product instances Separate specification and verification for platform and product requirements ? Management of integrating future requirements into the platform and products ? Identification, modeling, and management of requirement dependencies The first two practices are specific to SPL engineering. The latter two are common to software development but have much higher importance for SPLs. Issues with performing these additional activities can severely affect the product line’s long-term success. During the investigation, we found that most organizations today apply organizational and procedural measures to master these challenges. The applicability of more formal requirements engineering techniques and tools appeared rather limited, partly because such techniques are not yet designed to cope with product line evelopment’s inherent complexities. The investigation determined that the following three SPL requirements engineering practices were most important to SPL success. Domain analysis and domain description. Before starting SPL development, organizations should perform a thorough domain analysis. A well-understood domain is a prerequisite for defining a suitable scope for the product line. It’s the foundation for efficiently identifying and distinguishing platform and product requirements. Among the five participants in our investigation, three explicitly modeled the product line requirements. The others used experienced architects and domain experts to develop the SPL core assets without extensive requirements elicitation. Two organizations from the first group established a continuous requirements management that maintained links between product line and product instance requirements. The three other organizations managed their core assets’ evolution using change management procedures and versioning concepts. Their business did not force them to maintain more detailed links between the requirements on core assets and product instances. The impact of architectural decisions on requirements negotiations. A stable but flexible architecture is important for SPL development. However, focusing SPL evolution too much on architectural issues will lead to shallow or even incorrect specifications. It can cause core assets to ignore important SPL requirements so that the core assets lose relevance for SPL development. Organizations can avoid this problem by establishing clear responsibilities for requirements management in addition to architectural roles. The work group participants reported that a suitable organizational tool for balancing requirements and architecture is roundtable meetings in which requirements engineers,

基于Android的智能家居APP的设计与实现_过程检查记录表 -

南京邮电大学通达学院毕业设计(论文)过程检查记录 题目基于Android的智能家居APP的设计与实现 学生姓名班级学号专业计算机科学与技术指导教师姓名指导教师职称副教授日期指导记录 16.1.8-16.1.23 任务计划: 1. 了解课题,查找相关资料 2. 检索中文数据库 完成情况: 1. 首先,通过阅读李涛的《基于Android的智能家居APP的设计与实现》对于这个题目有了一个整体的了解。 2. 然后利用CNKI检索了城市交通与Android相关的学术期刊。下载与课题相关的期刊、论文,阅读资料并理解课题。 指导教师批阅意见: 指导教师签字: 16.1.24-16.2.8 任务计划: 1. 阅读《疯狂Android讲义》对安卓UI设计的技术做一定的了解 2. 了解智能家居App的发展趋势和前景。 完成情况: 1. 通过相关理论学习,初步掌握安卓UI设计。 2. 通过资料了解了智能家居APP的前景。 指导教师批阅意见: 指导教师签字: 16.2.9-16.2.24 任务计划: 1.理清自己题目的思路。 2.完成开题报告 完成情况: 1.在之前理论知识的积累上,对课题任务有了进一步的了解,完成开题报告初稿。 指导教师批阅意见: 指导教师签字: 16.2.25-16.3.4 任务计划: 1.提交开题报告 2.利用CNKI检索与课题相关的外文资料

完成情况: 1.经过老师的指导,不断修改,完成开题报告最终稿,经过审核,打印提交给老师。 2.搜索数据库,查找符合要求的外文资料。 指导教师批阅意见: 指导教师签字: 16.3.5-16.3.20 任务计划: 1.对外文资料开始进行翻译 2.查找Android开发的相关书籍 完成情况: 1.本周开始对外文资料进行翻译,外文资料专业性很强,下手有些困难,但是,仍继续尽全力去做。 2.阅读了《第一行代码》、《疯狂Android讲义》等入门级书籍,对于安卓开发整体有了较完整的理解。 指导教师批阅意见: 指导教师签字: 16.3.21-16.3.31 任务计划: 1.完成APP的需求分析。 2.进行界面设计。 完成情况: 1.将毕业设计的要求进行分析理解,并通过研究其他同类APP明白自己APP所要实现的功能。 2.根据现在世面上的智能家居应用,进行模仿并根据需求完成UI设计。 指导教师批阅意见: 指导教师签字: 16.4.1-16.4.11 任务计划: 1. 进行管理员模块的功能设计。 2. 编写管理员模块。 完成情况: 1. 根据需求分析,进行功能的分割,确定管理员模块的功能。 2. 根据的管理员模块的功能,进行代码编写,完成管理员模块的功能。 指导教师批阅意见: 指导教师签字: 16.4.12-16.4.22 任务计划: 1. 进行用户端的功能设计。 2. 编写用户端的实现功能代码。

外文文献翻译封面格式及要求(模版)

毕业论文外文文献翻译 院 年级专业: 2009 级XXXXXXXXXXX 姓 名:学 号:附 件: 备注:(注意:备注页这一整页的内容都不需要打印,看懂了即可)

1.从所引用的与毕业设计(论文)内容相近的外文文献中选择一篇或一部分进行翻译(不少于3000实词); 2.外文文献翻译的装订分两部分,第一部分为外文文献;第二部分为该外文文献的中文翻译,两部分之间用分页符隔开。也就是说,第一外文文献部分结束后,使用分页符,另起一页开始翻译。 3.格式方面,外文文献的格式,除了字体统一使用Times new roman 之外,其他所有都跟中文论文的格式一样。中文翻译的格式,跟中文论文的格式一样。 (注意:备注页这一整页的内容都不需要打印,看懂了即可,定稿后,请删除本页.) 范文如下:注意,下面内容每一部份均已用分页符分开了,如果用本模板,请将每一模块单独删除,直接套用到每一模板里面,不要将全部内容一次性删除. 【Abstract】This paper has a systematic analysis on outside Marco-environment of herbal tea beverage industry and major competitors of brands inside the herbal tea market. Based on

the theoretic framework, this paper takes WONG LO KAT and JIA DUO BAO herbal tea as an example, and researches the strategy on brand positioning and relevant marketing mix of it. Through analysis on the prevention sense of WONG LO KAT herbal tea, it was positioned the beverage that can prevent excessive internal heat in body, a new category divided from the beverage market. the process of brand positioning of it in Consumers brain was finished. Based on this positioning strategy, WONG LO KAT reasonably organized and arranged its product strategy, price strategy, distribution strategy and promotion strategy, which not only served for and further consolidated the position of preventing excessive internal heat in body, but also elevated the value of brand. The JDB and WONG LO KAT market competition brings us enlightenment. Reference the successful experience from the JDB and lessons from the failure of the WONG LO KAT.,Times New Roman. 【Key Words】Brand positioning; Marketing mix; Positioning Strategy; enlightenment, lessons;ABC (本页为英文文献摘要,关键词两项一起单独一页,字体为:Times New Roman,小四号,1.5倍行距)

毕设英文翻译英文版

72页 Machine Tools Objectived. Machine tools are the main engines of the manufacturing industry. This chapter covers a few of the details that are common to all classes of machine tools discussed in this book. After completing the chapter, the reader will be able to >understand the classification of the various machine tools used in manufacturing industries. >identify the differences between generating and forming of surfaces. > identify various methods used to generate different types of surfaces. >distinguish between the different accuracies and surface finishes that are achievable with different machine tools. >understand the different components of the machine tools and their functions. >learn about the different support structures used in the machine tools. >understand the various actuation systems that are useful to generate the required surfaces. >Learn the different types of guideways used in the machine tools. >understand the work holding requirements. 3.1 INTRODUCTION The earliest known machine tools are the Egyptian foot-operated lathes.

基于Android开发的外文文献

Android Android, as a system, is a Java-based operating system that runs on the Linux 2、6 kernel、The system is very lightweight and full featured、Android applications are developed using Java and can be ported rather easily to the new platform、If you have not yet downloaded Java or are unsure about which version you need, I detail the installation of the development environment in Chapter 2、Other features of Android include an accelerated 3-D graphics engine (based on hardware support), database support powered by SQLite, and an integrated web browser、 If you are familiar with Java programming or are an OOP developer of any sort, you are likely used to programmatic user interface (UI) development—that is, UI placement which is handled directly within the program code、Android, while recognizing and allowing for programmatic UI development, also supports the newer, XML-based UI layout、XML UI layout is a fairly new concept to the average desktop developer、I will cover both the XML UI layout and the programmatic UI development in the supporting chapters of this book、 One of the more exciting and compelling features of Android is that, because of its architecture, third-party applications—including those that are “home grown”—are executed with the same system priority as those that are bundled with the core system、This is a major departure from most systems, which give embedded system apps a greater execution priority than the thread priority available to apps created by third-party developers、Also, each application is executed within its own thread using a very lightweight virtual machine、 Aside from the very generous SDK and the well-formed libraries that are available to us to develop with, the most exciting feature for Android developers is that we now have access to anything the operating system has access to、In other words, if you want to create an application that dials the phone, you have access to the phone’s dialer; if you want to create an application that utilizes the phone’s internal

最新外文翻译模板精编版

2020年外文翻译模板 精编版

精品好文档,推荐学习交流 华北电力大学 毕业设计(论文)附件 外文文献翻译 学号:201001000826姓名:郑蓓 所在院系:电力工程系专业班级:电力1002 指导教师:刘英培 原文标题:Simulation of PMSM Vector Control System based on Non-linear PID and Its Easy DSP Realization 2014年4月10日

基于非线性PID永磁同步电机矢量控制系统仿真及其DSP实现 摘要 本文给出空间矢量脉宽调制(SVPWM)的基本原理,以及构建两条闭合回路矢量控制永磁同步电机(PMSM)的仿真模型方法。同时,在速度闭环对于新型非线性PID控制器进行了研究。仿真结果表明它具有无超调和小速度脉动良好的动态和静态性能。此外,利用在MATLAB中嵌入式目标为TI C2000(C2000 ETTI)的工具,我们将SVPWM仿真模型转换成可执行代码,并下载到TMS320F2812,实现基于DSP永磁同步电机的开环控制。这种方法避免了繁琐的编程工作,缩短了系统开发周期,实现了同步模拟和DSP实现永磁同步电机矢量控制系统的目标。 1 引言 永磁同步电机被广泛使用在交流伺服系统,因为它有如快速响应,出色的操控性能,尺寸小和重量轻等优点。最近,SVPWM技术逐渐取代了传统的SPWM。SVPWM的目的是产生磁通矢量来接近交流电机实际气隙磁通圆,通过在逆变器装置调整切换时间和控制电功率的通断模式。相较于SPWM,SVPWM 技术降低了谐波含量和开关损耗,其直流电压利用率也提高了很多。此外,它很容易被数字化。因此,我们在本文应用SVPWM技术。 原文出处及作者:Wang Song; Shi Shuang-shuang; Chen Chao, "Simulation of PMSM vector control system based on non-linear PID and its easy DSP realization," Control and Decision Conference, 2009. CCDC '09. Chinese , vol., no., pp.949,953, 17-19 June 2009

相关主题